O que é edição colaborativa de SQL?

A edição colaborativa de SQL permite que várias pessoas escrevam e revisem consultas ao mesmo tempo, cada uma no próprio navegador. É útil para elaborar uma consulta com um colega, revisar uma migração em conjunto ou ensinar SQL, sem compartilhar a tela nem colar consultas no chat.

Para manter a cópia de todos idêntica, as alterações são enviadas como pequenas edições, em vez do texto inteiro, e um servidor decide a ordem em que elas são aplicadas. As edições feitas ao mesmo tempo são ajustadas umas às outras, para que ambas sejam preservadas.

Descrição da ferramenta

Esta ferramenta é um editor de SQL compartilhado com realce de sintaxe. Abra-o e envie o link: todos na sala editam as mesmas consultas em tempo real, veem os cursores uns dos outros e podem validar, formatar ou minificar o SQL para todos com um clique.

A validação analisa o SQL com node-sql-parser. A formatação coloca cada cláusula principal (SELECT, FROM, WHERE, JOIN e assim por diante) em uma linha própria, sem alterar strings nem comentários; a minificação coloca a consulta em uma única linha. O novo texto substitui apenas as linhas que foram alteradas, para que o que as outras pessoas digitarem nesse meio-tempo permaneça no lugar.

Recursos

  • Edição em tempo real - as alterações de todos aparecem instantaneamente e são mescladas quando as pessoas digitam ao mesmo tempo
  • Cursores e seleções - veja onde cada pessoa está, na cor exibida ao lado do nome dela
  • Validar - verifica se o SQL pode ser analisado e mostra a mensagem do analisador quando não pode
  • Formatar e minificar - organiza a consulta cláusula por cláusula ou a reduz a uma única linha para todos na sala
  • Copiar e baixar - mantenha uma cópia das consultas em um arquivo .sql

Como funciona

Quando a página é aberta, ela cria uma sala no servidor de sincronização e coloca o link dela na barra de endereço. Todos que abrem o link entram na mesma sala e veem o mesmo documento.

Cada alteração é enviada ao servidor como uma pequena descrição do que mudou - quais caracteres foram inseridos ou excluídos e em que posição - em vez do texto inteiro. O servidor organiza as alterações de todos em uma única sequência, desloca uma alteração feita sobre uma versão anterior para depois das que vieram primeiro e transmite o resultado a todos os demais. O que você digita aparece imediatamente, e as alterações das outras pessoas são mescladas ao seu texto, para que ninguém perca o que digitou quando duas pessoas editam ao mesmo tempo.

O documento fica armazenado apenas na memória do servidor enquanto a sala está aberta. Se você recarregar a página, voltará à sala com o texto como estava; assim que todos saírem, a sala e seu texto serão apagados.

Limitações

  • Uma sala comporta até 20 pessoas e 100.000 caracteres.
  • Nada é armazenado depois que uma sala é fechada. Baixe o texto antes que a última pessoa saia.
  • Alterações muito rápidas ou muito grandes, como colar o documento inteiro várias vezes seguidas, são recusadas, e o editor recarrega o texto da sala.
  • Abrir o link de uma sala em outro editor colaborativo (por exemplo, uma sala de SQL no editor de JavaScript) mostra "Sala não encontrada": cada sala pertence a uma única linguagem.
  • A validação verifica apenas a sintaxe. As consultas nunca são executadas em um banco de dados.