Como vocês esperam que o botão "Run" funcione em um editor SQL?
No desenvolvimento do LibreDB Studio, um dos nossos contribuidores voluntários levantou uma questão interessante sobre o comportamento de múltiplas instruções SQL quando o usuário clica em Run.
Em vez de simplesmente decidir internamente, queria ouvir quem realmente usa SQL editors no dia a dia.
Por exemplo:
CREATE TABLE test (...);
INSERT INTO test VALUES (...);
SELECT * FROM test;
Ao clicar em Run, o que você esperaria que acontecesse?
Algumas possibilidades:
- Executar todas as instruções
Run executa todo o conteúdo do editor
Run Selection pode ser usado quando você quer executar apenas uma parte
- Executar a instrução atual
Run executa a instrução onde o cursor está
Run All executa todo o conteúdo do editor
- A seleção tem prioridade
Sem seleção > executa a instrução atual
Com seleção > executa as instruções selecionadas
Run All fica disponível separadamente
- Outra abordagem :)
Também existem alguns casos interessantes quando há várias instruções.
Por exemplo: se eu executar as três instruções acima, vocês esperariam que elas fossem executadas dentro de uma transaction automaticamente, ou preferem que transaction handling seja sempre explícito?
Estou particularmente interessado em saber o que vocês já estão acostumados a usar em ferramentas como DBeaver, DataGrip, SSMS, pgAdmin, TablePlus, Toad, PL/SQL Developer, phpMyAdmin, etc.
Não estou procurando necessariamente qual seria a implementação "correta". Quero entender o comportamento que parece mais natural para quem usa essas ferramentas.
Se puderem compartilhar qual editor vocês usam e como o Run funciona nele, seria ainda mais útil.
A discussão original também está acontecendo no GitHub:
Source code: https://github.com/libredb/libredb-studio
Discussion: https://github.com/orgs/libredb/discussions/776