Novidades no DataGrip 2022.2

O DataGrip 2022.2 chegou! Esta é a terceira grande atualização de 2022 e vem com vários aprimoramentos. Vejamos quais são os destaques!

Opção para importar vários arquivos CSV

Aprimoramos o processo de importação de arquivos, implementando a capacidade de selecionar vários arquivos CSV e importá-los de uma só vez!

Modos de resolução Playground e Script

Para resolver objetos de banco de dados em scripts SQL, o DataGrip precisa entender o que esses objetos significam. Isso é necessário para que o IDE forneça a complementação de código correta e trate os usos de objetos como links.

Em geral, o contexto de resolução deve corresponder ao contexto de execução, mas esta não é uma tarefa simples para o DataGrip administrar. É por isso que, até recentemente, havia vários problemas relacionados à resolução. Veja o que costumava acontecer:

  • Todos os objetos eram resolvidos, mas o script não podia ser executado no banco de dados.
  • Quando a opção Auto-qualify estava ativada, os objetos às vezes permaneciam desqualificados se estivessem localizados no banco de dados ou esquema padrão.
  • Se havia múltiplos objetos com o mesmo nome em diferentes bancos de dados ou esquemas, as colunas existentes não eram resolvidas, e até mesmo a ação Expand column list às vezes gerava a lista errada. Ao mesmo tempo, havia também o risco de resolver colunas inexistentes.

A causa desses problemas era que, para cada console ou arquivo local, o DataGrip resolvia seus objetos no contexto selecionado no menu suspenso superior direito, e no banco de dados ou esquema padrão (ou na entrada da configuração SQL Resolution scopes>).

Isto seria OK para trabalhar com scripts contendo instruções USE ou SET SEARCH PATH, que alternam o contexto. No entanto, o IDE também precisa saber para onde resolver no início do arquivo. Por isso, ele tratava o banco de dados ou esquema padrão (ou a entrada da configuração SQL Resolution scopes) como o contexto mais apropriado para o início do arquivo.

Em outras palavras, se não existem instruções USE ou SET SEARCH PATH no seu arquivo, o DataGrip não deve tentar resolver o início do arquivo em algum local fora de contexto. Para resolver essa situação, criamos uma maneira para o DataGrip saber qual abordagem seguir, introduzindo dois modos de resolução: Playground e Script.

No modo Playground, o DataGrip resolve todos os objetos no contexto, que é o valor no seletor de esquema, escopo de resolução ou banco de dados padrão. Ele funciona melhor quando o arquivo é apenas um conjunto de consultas desconectadas, independentes umas das outras e sem uma sequência específica. O modo Playground agora é o padrão para consoles de consulta.

No modo Script, o início do arquivo é resolvido no contexto, mas quaisquer instruções USE no script alteram o contexto da resolução, pois fazem parte da lógica sequencial do script. Essa é uma boa opção para quando suas consultas têm uma lógica sequencial e devem ser executadas como um único script. O modo de script é agora o padrão para arquivos locais.

É fácil alternar entre os modos. Basta usar o menu suspenso na barra de ferramentas, como na captura de tela.

Geração de código

Nova UI para Modify

A nova UI para Modify, cuja versão básica foi introduzida no lançamento 2022.1, tornou-se a opção padrão. A partir do DataGrip 2022.2, todos os objetos filho de uma tabela podem ser adicionados e editados usando essa nova UI.

A UI antiga permanecerá disponível nesse ciclo de lançamento por meio do menu de contexto.

Suporte para agrupamentos e conjuntos de caracteres SQL Server

Agrupamentos e conjuntos de caracteres agora são gerados com o DDL da tabela.

Categorias no mapa de teclas

Anteriormente, todas as ações relacionadas à funcionalidade do banco de dados eram armazenadas em quatro locais diferentes no mapa de teclas. Essa estrutura, que tem muito pouca lógica, foi uma consequência histórica do desenvolvimento do IDE.

Para ajudar você a ver todas as ações disponíveis, reorganizamos a estrutura e colocamos todas as ações em grupos abaixo do grupo pai do banco de dados.

Escopos em fontes de dados DDL

Agora, você pode definir escopos de arquivos como origens para fontes de dados DDL. Isso facilitará a filtragem de pastas para as fontes de dados DDL. Por exemplo, é possível excluir subpastas.

Diversos

Ação Merge All Project Windows no macOS

Para usuários do macOS, introduzimos a capacidade de mesclar todas as janelas de projeto abertas em uma única janela, transformando todas elas em abas. Essa ação está disponível no menu Window.

Aviso de expiração de senha Oracle, Vertica

Bancos de dados Oracle e Vertica podem fornecer avisos se a senha expirar. O DataGrip agora recupera essas informações e as exibe após a ativação de Test Connection.

Suporte básico para DuckDB, Mimer SQL e Apache Ignite

Adicionamos três novos bancos de dados à lista de suporte básico: DuckDB, Mimer SQL e Apache Ignite.

Editor de dados

Melhorias de qualidade

  • DBE-10971: a ordem das tabelas agora é salva no editor de dados.
  • DBE-7888: o mês de fevereiro está de volta no seletor de data!
  • DBE-15454: colunas binárias com tipos de conteúdo misto agora são editáveis.
  • DBE-7804: a importação de CSV não falha mais na última linha quando o último valor está vazio e não há uma nova linha.
  • DBE-15335: o extrator SQL-Insert-Multirow gera a consulta correta.
  • DBE-14980: ao abrir a Documentação Rápida para células, os dados relacionados são carregados automaticamente.
  • DBE-15639: o posicionamento incorreto de objetos Origin e Target na janela Migration da visualização DDL diff foi corrigido.
  • DBE-15694: agora há suporte para a correspondência de famílias de operadores.
  • DBE-15644: PostgreSQL o modo Fire agora é respeitado no despejo em uma fonte de dados DDL.
  • DBE-8557: Azure SQL Database SET ROWCOUNT é executada antes das consultas do Azure para limitar o tamanho da página.

Console de consulta

Melhorias de qualidade

  • DBE-996: a barra de pesquisa não oculta mais a barra de ferramentas.
  • DBE-11616: ClickHouse MODIFY ORDER BY é compatível com ALTER TABLE.
  • DBE-14643: SQL Server o aviso condition is always false não aparece mais durante a atribuição de variáveis.
  • DBE-12232: SQL Server agora há suporte para CHANGETABLE.
  • DBE-13312: SQL Server agora há suporte para END CONVERSATION.
  • DBE-12435: SQLite as tabelas PRAGMA_TABLE_INFO e PRAGMA_TABLE_XINFO são resolvidas corretamente.
  • DBE-14997: PostgreSQL colunas agora são resolvidas corretamente ao usar CTE com INSERT INTO.