Novidades do DataGrip 2023.1

O DataGrip 2023.1 chegou! Este ciclo de lançamento é muito especial, pois se concentra totalmente na qualidade. Isso significa que estamos resolvendo os bugs acumulados em nosso rastreador de issues público. Aqui está o que conseguimos corrigir!

Trabalhando com código

  • DBE-4469: corrigimos um problema em que o SQL Formatter não aplicava o estilo correto para uma subconsulta na cláusula EXISTS. A subconsulta agora funciona como esperado.

O DataGrip também pode adicionar um espaço entre a palavra-chave EXISTS e o parêntese esquerdo, que pode ser alternado com uma nova configuração. Se quiser preservar o antigo comportamento do Formatter (sem o espaço), você pode alterar a configuração Space after keyword para No em Preferences | Editor | Code Style | SQL (aba Queries).

  • DBE-14440: corrigimos o bug ao salvar as configurações de estilo. Se você configurou um estilo especial para o SQL2016 e a caixa de seleção Inherit general SQL style em Preferences não estiver habilitada, será necessário reconfigurá-lo.

  • DBE-15973 BigQuery: agora há suporte para a cláusula WINDOW.
  • DBE-9219 ClickHouse: as configurações de formato maiúsculo/minúsculo ao complementar nomes que diferenciam maiúsculas de minúsculas agora são ignoradas.
  • DBE-14796 MySQL: foram corrigidos problemas com as funções LAG e LEAD.
  • DBE-16311 MySQL: agora há suporte para FOR UPDATE em consultas aninhadas.
  • DBE-12139 MySQL: agora há suporte para a sintaxe ENCRYPTION.
  • DBE-13186 Microsoft SQL Server: inspeções não relatam mais código extra incorretamente.
  • DBE-11946 PostgreSQL: o problema com Place constraints foi corrigido.
  • DBE-6276 PostgreSQL: a navegação DDL para políticas de segurança agora funciona conforme esperado.
  • DBE-17490 PostgreSQL: o gerador SQL agora cita as restrições EXCLUDE corretamente.
  • DBE-11727, DBE-11500 BigQuery: a resolução de aliases em consultas UNNEST agora funciona corretamente.
  • DBE-17291, DBE-17449 ClickHouse: agora há suporte para colunas EPHEMERAL, INTERSECT e cláusulas EXCEPT.
  • DBE-13506 MongoDB: foi corrigido o bug que causava a complementação de SQL incorreta para propriedades aninhadas.

Database explorer

  • DBE-17263: as estatísticas de conteúdo da fonte de dados são exibidas novamente no pop-up Quick Documentation.

  • DBE-17166: pastas renomeadas no Database Explorer não desaparecem mais.
  • DBE-10812 PostgreSQL: o comando Drop do menu de contexto agora funciona como esperado.

Introspecção

  • Oracle: implementamos várias melhorias para acelerar a introspecção no Nível 1, especialmente quando o catálogo interno rápido é utilizado.

    Verifique se você já recebeu as permissões SELECT_CATALOG_ROLE e SELECT ANY DICTIONARY. Isso fornece acesso ao catálogo interno do Oracle e torna a introspecção muito mais rápida, porque os catálogos convencionais do Oracle são bastante lentos.

    Saiba mais sobre introspecção no Oracle.

  • DBE-12578 Oracle: agora há suporte paara gatilhos de banco de dados com esquema cruzado. Você pode criar um gatilho X no esquema A para a tabela E no esquema B, e ele será mostrado no esquema B sob a tabela do host E.
  • DBE-6986 MySQL: agora há suporte para a cláusula/sintaxe ROW_FORMAT.
  • DBE-10603 Microsoft SQL Server: o recurso Quick Definition agora funciona como esperado.
  • DBE-9087 PostgreSQL: ao usar a cláusula REFERENCING, o DDL do gatilho é gerado corretamente.
  • DBE-12404 Db2: corrigimos um problema com a interrupção da introspecção de objetos. Se as permissões do usuário não permitiam recuperar uma lista de usuários do banco de dados, o restante dos objetos do banco de dados também não era carregado. Agora, tudo será carregado, exceto a lista de usuários.
  • DBE-17330 MySQL: o DDL de uma tabela é atualizado após alterar um comentário na caixa de diálogo Modify.
  • DBE-15555 Redshift: corrigimos um problema de desempenho. O tempo de introspecção agora está significativamente reduzido.

Conectividade

  • DBE-16417 Microsoft SQL Server: a detecção do Current schema agora funciona para qualquer banco de dados.
  • DBE-11012 SQLite: a biblioteca nativa do SQLite agora está descompactada na pasta do sistema.
  • DBE-7466 Microsoft SQL Server: o problema com a conexão via pg_bouncer foi corrigido.

Editor de objetos

  • DBE-16393: adicionamos um editor de código-fonte na janela Modify.

  • DBE-17329 PostgreSQL: a criação de exibições virtuais agora também está disponível no modo somente leitura.

Editor/visualizador de dados

  • DBE-3572: adicionamos uma configuração Alternate row colors para tabelas de resultados. Quando a caixa de seleção estiver habilitada, as linhas terão cores alternadas.

  • DBE-16250: não há mais espaços vazios nos resultados do editor, pois a tabela agora ajusta sua altura para corresponder à altura dos resultados.

  • DBE-17434: a cor correta da fonte é usada no cabeçalho do editor de dados.
  • DBE-17292 PostgreSQL: a janela Quick Doc não congela mais ao contar linhas.
  • Solicitação de suporte: a visualização de imagens funciona corretamente no editor de valores.
  • DBE-16576 PostgreSQL: é possível atualizar um valor em uma exibição com a coluna ENUM.
  • DBE-14722 Oracle: agora há suporte para colunas JSON.
  • DBE-14303 BigQuery: a precisão de milissegundos em valores TIMESTAMP não é mais perdida.
  • DBE-13329 MongoDB: adicionamos a ação Change Default para configurar o tamanho de página padrão.

Console de consulta

  • DBE-14074: parâmetros nomeados são detectados corretamente .
  • DBE-10555: sempre que você copiar e colar algo, o IDE agora analisará corretamente a seleção (em vez da posição do cursor).
  • DBE-17362: o alternador de esquema funciona corretamente na nova IU.
  • DBE-12109 Oracle: caracteres de ponto e vírgula não são mais omitidos em Oracle Aggregate Functions.
  • DBE-16871 BigQuery: o erro Unexpected value não aparece mais ao visualizar uma tabela.
  • DBE-17479: consultas falhas com a notificação Read access is allowed from inside read-action (or EDT) only no console de consulta foram corrigidas.
  • DBE-12787, DBE-12109 Oracle: CREATE PROCEDURE e CREATE FUNCTION agora terminam com ";" – como esperado.
  • MongoDB: foi corrigida a perda de valores em IN (...) quando há mais de 10.

Resolução de SQL

  • DBE-16831: uma configuração para especificar o modo de resolução padrão usado no console foi adicionado a Preferences | Database | Query execution | Other.

  • DBE-5497 Oracle: corrigimos alguns problemas com os métodos de coleções Oracle:
    • Sinônimos públicos agora são colocados corretamente no esquema PUBLIC.
    • Referências recursivas a rotinas aninhadas são resolvidas corretamente.
    • Referências de parâmetro do cursor qualificadas por um nome de cursor são resolvidas corretamente.
    • Usos incorretos de %TYPE são relatados como avisos.
  • DBE-12772 Oracle: corrigimos a resolução de atributos padrão para tipos de coleção (por exemplo, COUNT).
  • DBE-12758 Oracle: agora há suporte para atributos de tipo.
  • DBE-11949 Oracle: argumentos nomeados em chamadas de construtor de tipo são resolvidos corretamente.
  • DBE-16452 Oracle: a navegação por atalhos agora funciona para pacotes.

Navegação e pesquisa

  • DBE-12015 Oracle: ao navegar até uma rotina, agora você é levado por padrão para sua implementação em vez de para seu cabeçalho.

Diagramas

  • DBE-17137: corrigimos um bug em que o IDE mostrava o diagrama do plano de explicação apenas para a primeira de várias consultas.
  • DBE-16238: erros não aparecem mais durante o salvamento de um diagrama.

Geração de SQL

  • DBE-17229: o visualizador Schema diff agora funciona corretamente. Antes, ele abria vazio quando havia banco de dados ou objetos de servidor incluídos.
  • Microsoft SQL Server, PostgreSQL, Db2: agora você pode usar a opção Specify next value for sequences para controlar o comportamento de sequências que têm um valor inicial.

Se a opção Specify next value for sequences não estiver ativada, o DataGrip gerará o DDL da sequência, adicionando o valor inicial a START WITH start_value.

Quando a opção Specify next value for sequences está habilitada, o DataGrip adiciona o próximo valor que a sequência deve ter ao DDL, com algumas diferenças para os seguintes bancos de dados:

  • Microsoft SQL Server: em vez do valor inicial da sequência, o próximo valor da sequência é especificado na cláusula RESTART WITH das instruções CREATE e ALTER.
  • PostgreSQL: em vez do valor inicial da sequência, o próximo valor da sequência é especificado na cláusula START WITH da instrução CREATE. O valor inicial é especificado na cláusula START WITH, e o próximo valor está na cláusula RESTART WITH da instrução ALTER.
  • Db2: em vez do valor inicial da sequência, o próximo valor da sequência é especificado na cláusula START WITH da instrução CREATE. O próximo valor é especificado na cláusula RESTART WITH da instrução ALTER (não é permitido alterar o valor inicial no Db2).