Novidades do DataGrip 2023.3

Visualização de dados

Since the release of DataGrip 2023.3, it's been possible to visualize data following our integration of the Lets-Plot library, with its basic no-code data visualization possibilities. A visualização está disponível em todos os três tipos de grades:

  • Aba principal: ao abrir a tabela, visualização ou arquivo CSV, o gráfico é exibido no modo dividido.
  • Aba de resultados: quando você observa o resultado de uma consulta na janela de ferramentas Services, o gráfico pode ser exibido no lugar da grade.
  • Resultados no editor: é possível exibir o gráfico no lugar da grade.

Observe que há um problema conhecido: as configurações da visualização não são salvas, o que significa que, se você reabrir a grade, o gráfico estará em seu estado padrão. Para obter mais informações sobre visualizações de dados, consulte nossa documentação. Esse recurso ainda está em desenvolvimento e gostaríamos de ouvir seus comentários! Para deixar seus comentários, use o formulário de feedback, crie um issue no nosso rastreador ou escreva diretamente para datagrip@jetbrains.com.

Novo recurso de importação

Passamos bastante tempo reformulando nosso recurso de importação, mas acreditamos que valeu a pena pelos seguintes motivos:

  • It was the last chapter in the big transition to our generated Modify Object UI, which is described in detail here.
  • O recurso agora permite importar para vários destinos.
  • Agora, é possível editar várias coisas ao mesmo tempo. Por exemplo, você pode alterar formatos ou codificar para vários arquivos, alterando o esquema para vários destinos.

Alguns recursos em destaque:

Mapping

A entidade de destino padrão é chamada de Mapping. Aqui, você pode definir a tabela de destino e mapear as colunas do arquivo com as colunas da tabela de destino. Se precisar editar a tabela, clique no botão Edit:

A tabela aparecerá na interface gráfica em forma de árvore à direita. Essa UI repete completamente a interface Modify Object, permitindo manipular a tabela e seus objetos de várias maneiras.

Auto-Generate Table Names

Esse botão gera automaticamente o nome da tabela com base no arquivo-fonte. Ele pode ser útil se você renomear uma tabela, mas quiser reverter para seu nome padrão.

Simplify Column Name

Essa ação pode ser útil quando os nomes de colunas originais contêm espaços.

Capacidade de reverter para a UI antiga

Entendemos que esse retrabalho é uma grande mudança que pode ser inconveniente para alguns de nossos usuários. Agradecemos qualquer feedback que você possa compartilhar conosco para nos ajudar a entender como podemos melhorar a nova IU, tornando-a mais poderosa e mais transparente para todos os casos de uso.

Se, por algum motivo, você quiser reverter para a UI antiga, poderá usar essa opção.

Essa opção estará disponível até processarmos todos os comentários que recebemos sobre a nova UI.

Trabalhando com dados

Formatos numéricos personalizáveis no editor de dados

Agora, há muito mais flexibilidade na forma como você pode ver os números no editor de dados. Mais significativamente, você pode especificar os separadores decimais e de agrupamento. Outras opções incluem a capacidade de definir como o infinito e o NaN serão renderizados.

Capacidade de renderizar números como UNIX timestamps

In the UNIX timestamp format, timestamps are stored as numbers, expressing how many milliseconds have elapsed since January 1, 1970 (UTC). Esse formato agora é suportado no DataGrip.

SQL ServerSuporte para importação/exportação de tabelas via BCP

We've added support for the BCP tool, which lets you export and import tables in SQL Server.

Suporte para DynamoDB

Temos o prazer de anunciar que as 419 pessoas que votaram neste ticket não o fizeram em vão. O suporte para DynamoDB agora está chegando aos IDEs da JetBrains!

Aqui está o que implementamos até agora:

  • Os dados do DynamoDB podem ser visualizados por meio do visualizador de dados do DataGrip.
  • Suporte ao PartiQL para DynamoDB no editor de código.
  • Tabelas com chaves e índices agora são incluídas na introspecção.

Se houver mais alguma coisa que você acha que precisa receber suporte como prioridade, deixe seus comentários neste issue do YouTrack.

Introspecção

Agendador de introspecção

Agora, você pode definir um intervalo de introspecção para cada fonte de dados.

Oracle Padrões de nível de introspecção

O DataGrip demora muito para examinar esquemas no Oracle, pois os catálogos do Oracle geralmente são muito lentos. Para resolver esse problema, foram introduzidos níveis de introspecção.

Por padrão, o nível mais alto era selecionado. Isso significava que a introspecção apenas começava no terceiro nível para esquemas selecionados, o que era lento. Além do mais, alguns usuários não sabiam que a configuração do nível de introspecção existia.

O DataGrip 2023.3 prioriza a experiência do usuário e o desempenho em detrimento da funcionalidade completa. O valor padrão do nível de introspecção agora está definido como Auto Select.

Nossa nova abordagem é definir o nível de introspecção padrão para cada esquema com base no tipo de esquema e no número de objetos. Presumimos que os usuários geralmente trabalham com o esquema atual (aquele ao qual a sessão do Oracle está conectada), menos frequentemente com os não atuais e muito raramente com esquemas do sistema.

Para cada esquema, o introspector conta os objetos e seleciona o nível de introspecção usando os seguintes limites (em que N é o número de objetos).

Também implementamos a introspecção fragmentada: a capacidade de recuperar metadados para um único objeto. Isso ajuda em situações em que os metadados (geralmente o código-fonte) são solicitados explicitamente pelo usuário. Por exemplo, se você clicar duas vezes em uma visualização, mas o nível de introspecção for baixo, o DataGrip solicitará o código-fonte no mesmo instante. Isso é mais semelhante ao funcionamento de todas as outras ferramentas de banco de dados.

A detecção automática de nível está habilitada por padrão. Se quiser que o DataGrip funcione como antes, acesse Data Source properties | Options | Introspection | Default level e selecione o Level 3. Para saber mais sobre como esse recurso funciona, leia este artigo.

SQL Server Suporte para novos objetos

Novos objetos têm suporte no SQL Server:

  • Funções de partição e esquemas de partição
  • Partições e propriedades relacionadas de tabelas/índices
  • Tabelas contábeis
  • Grupos de arquivos

Redshift Suporte para visualizações materializadas

As visualizações materializadas no Redshift agora são incluídas na introspecção e exibidas em um nó dedicado no Database Explorer.

Execução de consultas

Oracle Suporte para cursores de referência no console de consulta

Agora, você pode obter o resultado dos cursores de referência se executar a consulta no console ou no arquivo SQL.

  • Se a função executada retornar um resultado contendo apenas um cursor de referência, o DataGrip navegará imediatamente para o resultado a partir desse cursor.
  • Em casos mais complexos em que o resultado contém vários cursores de referência ou algo diferente de um cursor de referência, o DataGrip mostra o resultado principal e oferece a oportunidade de visualizar os resultados de outros cursores de referência. Na célula com o cursor de referência, você pode acessar conjunto de resultados correspondente (Enter/clique duplo) e vice-versa (Ctrl+B).

Geração de código

Habilitar/desabilitar objetos de banco de dados

Alguns tipos de objetos podem ser habilitados e desabilitados. A partir de agora, o DataGrip oferece suporte para isso por meio da UI, permitindo gerar e executar as partes de código correspondentes.

Esse recurso é aplicável a:

  • MySQL Eventos.
  • PostgreSQL Regras, gatilhos e gatilhos de eventos.
  • MS SQL Índices, chaves estrangeiras, restrições de verificação e gatilhos.
  • Oracle Chaves, restrições unívocas, chaves estrangeiras, restrições de verificação, gatilhos, espaços de tabela e contas de usuários.

Diversos

SQLite Aviso ao usar um caminho WSL

Infelizmente, é impossível trabalhar com o banco de dados SQLite localizado em um caminho WSL. O motivo disso é que o WSL não respeita o mecanismo de bloqueio de arquivos SQLite. Por enquanto, a única solução disponível para o DataGrip é mostrar um aviso nesse caso específico.

Please vote for the original WSL issue if this is critical for you.