Notas de lançamento de JDBC Driver para 2022

Este artigo contém as notas de versão do JDBC Driver, incluindo o seguinte, quando aplicável:

  • Mudanças de comportamento

  • Novos recursos

  • Correções de bugs voltados para o cliente

Snowflake usa controle de versão semântico para atualizações de JDBC Driver.

Versão 3.13.26 (14 de dezembro de 2022)

Novos recursos e atualizações

  • Atualizada a biblioteca arrow da versão 9.0.0 para 10.0.1.

  • Arquivos realocados em META-INF/versions para META-INF/versions/<número_de_versão>/net/snowflake/client/jdbc/internal.

  • Adicionados os métodos getNano() e getOffset() ao objeto SnowflakeTimeWithTimezone para retornar o número de nanossegundos e o deslocamento de fuso horário, respectivamente.

Versão 3.13.25 (16 de novembro de 2022)

Mudança do BCR (versão da mudança de comportamento)

Cuidado

Versão 3.13.25 do driver Snowflake JDBC muda o valor padrão do parâmetro allowUnderscoresInHost para false. Esta mudança afeta os clientes PrivateLink cujos nomes de conta contêm sublinhados. Nesta situação, você deve substituir o valor padrão definindo allowUnderscoresInHost por true.

Novos recursos e atualizações

  • Defina o valor padrão do parâmetro allowUnderscoresInHost como false, que converte sublinhados em nomes de contas em hifens para evitar erros de conexão httpclient do Apache com sublinhados. Este comportamento pode ser desativado definindo allowUnderscoresInHost como true.

  • Versão da biblioteca aws-java-sdk-bom atualizada de 1.11.394 para 1.12.327.

  • Adicionado o parâmetro enableReturnTimestampWithTimeZone para definir se o fuso horário deve ser incluído em um carimbo de data/hora.

  • Adicionados avisos de log para cada um dos caminhos de retorno de erro ao analisar um SnowflakeConnectString.

  • Adicionadas vírgulas aos argumentos SnowflakeDatabaseMetaData.getColumn() para melhorar a legibilidade.

  • Adicionado suporte para procedimentos armazenados.

Correções de bugs

  • Corrigido um problema relacionado ao uso do comando GET quando GCS_USE_DOWNSCOPED_CREDENTIAL é verdadeiro.

  • Corrigido um problema relacionado ao retorno de tipos de resultados quando o identificador de sessão é NULL.

Versão 3.13.24 (28 de outubro de 2022)

Mudança do BCR (versão da mudança de comportamento)

Cuidado

A versão 3.13.24 do driver Snowflake JDBC altera os valores de retorno para Statement.getMoreResults() e Statement.getupdateCount(), conforme descrito abaixo. Se seus projetos forem afetados por alterações significativas relacionadas a essas funções, Snowflake recomenda que você não instale este versão em um ambiente de produção antes do teste.

Novos recursos e atualizações

  • Atualizadas as seguintes bibliotecas:

    • arrow da versão 8.0.0 para 9.0.0

    • jacksondatabind da versão 2.13.2.2 para 2.13.4.2

    • google-cloud-storage da versão 2.5.0 para 2.6.2

  • A função Statement.getMoreResults() agora retorna TRUE quando mais instruções estão disponíveis para iteração em uma consulta com várias instruções.

  • A função Statement.getupdateCount() agora retorna 0 em vez de -1 para consultas não DML.

Versão 3.13.23 (30 de setembro de 2022)

Novos recursos e atualizações

  • Parâmetro de paralelismo habilitado para comandos PUT/GET ao usar o Azure.

Correções de bugs

  • Corrigido um problema com NoClassDefFoundError nas bibliotecas do Google no driver FIPs.

  • Corrigido erro que ocorria ao obter procedimentos com conta de leitor.

Versão 3.13.22 (23 de agosto de 2022)

Novos recursos e atualizações

  • Versão da biblioteca tika-core atualizada para 2.4.1.

  • Adicionado suporte para o novo Okta OIE (Okta Identity Engine).

Correções de bugs

  • Corrigido um problema em que getColumnClassName() gerava uma exceção quando o tipo de coluna era timestamp_tz.

  • Corrigido um problema em que a chamada de getSQLStateType() gerava uma exceção ao recuperar metadados do banco de dados.

  • Corrigido um problema em que chamar executeLargeBatch() para instruções preparadas poderia resultar na inserção de nenhuma linha.

  • Corrigido um problema em que QueryStatus poderia retornar mensagens e códigos de erro inválidos.

  • Corrigida uma exceção de ponteiro nulo que às vezes ocorria para clientes sem sessão.

Versão 3.13.21 (13 de julho de 2022)

Novos recursos e atualizações

  • Adicionada a função getStreams ao objeto SnowflakeDatabaseMetaData para listar fluxos ativos.

  • Atualizado o valor máximo de novas tentativas de memória de pré-busca para melhorar o desempenho de download de partes.

Correções de bugs

  • Corrigido um problema de vazamento de memória com o objeto de instrução na função snowflakeConnectionV1::createResultSet.

  • Corrigido um problema de vazamento de memória com conjuntos de resultados arrow.

  • Corrigido um problema com dados ausentes no downloader de parte do JDBC.

Versão 3.13.20 (23 de junho de 2022)

Novos recursos

  • Implementação da funcionalidade de falha rápida para 404 erros retornados do Amazon S3.

  • Atualizada a seguinte dependência no driver JDBC:

    • versão arrow 7.0.0 para 8.0.0

  • Atualizadas as seguintes versões da biblioteca do Google:

    • google-auth-library de 0.9.0 para 1.5.3

    • google-cloud-storage de 1.82.0 para 2.5.0

    • versões do cliente da api do Google 1.30.10 para 1.33.2

    • versões do cliente http do Google 1.36.0 para 1.41.4

Versão 3.13.19 (25 de maio de 2022)

Novos recursos

  • Atualizada a função isValid() para enviar uma chamada de pulsação em vez de SELECT 1 para validar a conexão da sessão.

  • Adicionado suporte para configuração de matrizes VARBINARY byte[] na função SnowflakePreparedStatement.setObject().

  • Atualizadas as seguintes dependências no driver JDBC:

    • versão arrow 0.15.1 para 7.0.0

    • versão jackson 2.11.0 para 2.13.2

    • versão bouncy 1.64 para 1.70

Correções de bugs

  • Corrigido um problema com TIMESTAMP_INPUT_FORMAT para vinculação de estágio.

Versão 3.13.18 (18 de maio de 2022)

Novos recursos

  • Atualizadas as bibliotecas arrow e jackson.

Correções de bugs

Parou de anexar retryCount a um URL com escopo para download de partes.

Versão 3.13.17 (14 de abril de 2022)

Novos recursos

  • Adicionados getters para timezone e ZonedDateTime para o objeto SnowflakeTimestampWithTimezone.

Correções de bugs

  • Foi criado um patch para a versão do driver v3.13.16 que corrige o comportamento incorreto da função getSchemas().

  • Corrigida a configuração dos parâmetros JVM proxyHost e proxyPort inválidos.

Versão 3.13.16 (17 de março de 2022)

Correções de bugs

  • Corrigido um problema em que a configuração do parâmetro nonProxyHosts não era respeitada.

Versão 3.13.15 (21 de fevereiro de 2022)

Correções de bugs

  • Função isFileTransfer refatorada na classe base.

  • Classes de fachada FileTransferAgent refatoradas na classe base

  • Corrigido um problema de falha de segmentação em aplicativos Graal VM Native Image.

  • Corrigido um problema que causava o travamento do ChunkDownloader.

Versão 3.13.14 (21 de janeiro de 2022)

Correções de bugs

  • Adicionados metadados relacionados à ingestão de streaming para cobrança de ingestão de streaming.

  • Versão BC FIPS atualizada no POM público.

Versão 3.13.13 (18 de janeiro de 2022)

Correções de bugs

  • Corrigido um problema em que o driver JDBC não atualizava stageInfo para informações relacionadas a s3RegionalURL.

  • Corrigido um problema com nomes de contas contendo sublinhados.

  • Corrigido um problema em que um conjunto de resultados vazio era retornado para esquemas contendo aspas duplas ao chamar getTables() ou getColumns().

  • Corrigido um problema em que getProcedureColumns() não funcionava com curingas.