Notas de lançamento de JDBC Driver para 2023¶
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.14.4 (07 de dezembro de 2023)¶
Novos recursos e atualizações¶
Nenhum.
Correções de bugs¶
Foi corrigido um
NullPointerException
que ocorria quando a chave da propriedadegzipDisabled
não tinha valor.Foi corrigido um problema de segurança com a geração de registros relacionada ao diretório
temp
:O registro não acessa mais o diretório temporário.
O valor padrão
logpath
mudou do diretóriotemp
para o diretóriohome
.
Corrigido um problema em que o driver falhava em JDK v21 com Arrow.
Versão 3.14.3 (07 de novembro de 2023)¶
Novos recursos e atualizações¶
Atualizadas as seguintes bibliotecas:
org.codehaus.plexus:plexus-archiver de 2.4.4 para 4.8.0
org.codehaus.plexus:plexus-archiver de 2.6 para 4.8.0
org.bouncycastle:bc-fips de 1.0.2.1 para 1.0.2.4
aws-java-sdk para 1.12.501
jackson para 2.15.3
netty para 4.1.100.Final
grpc para 1.59.0
Adicionada a propriedade de conexão
enablePutGet
para determinar se deve permitir o acesso dos comandos PUT e GET aos sistemas de arquivos locais.Adicionado suporte para gerenciar a frequência de novas tentativas para solicitações de conexão malsucedidas:
Adicionado o parâmetro
retryTimeout
com um valor padrão de 300 segundos.Atualizada a forma como o driver usa os parâmetros de conexão
loginTimeout
emaxHttpRetries
e alterado o valor padrão deloginTimeout
para 300 segundos.
Correções de bugs¶
Corrigido um problema relacionado a
NoSuchMethodError
ao usar snowflake-ingest-sdk 2.0.3.Correção de um problema ao lidar com conversões de tipo de dados
NULL
emDATE
.Corrigido um problema de token de downscope GCP.
Versão 3.13.34 (25 de outubro de 2023)¶
Novos recursos e atualizações¶
Nenhum.
Correções de bugs¶
Corrigido um problema relacionado à falha de comandos PUT com um token GCP Downscope em
snowflake-jdbc-fips
.
Versão 3.14.2 (02 de outubro de 2023)¶
Novos recursos e atualizações¶
Nenhum.
Correções de bugs¶
Corrigido um problema em que o driver não respeitava o
useS3RegionUrl
deJsonNode
emgetStageInfo
.
Versão 3.14.1 (24 de agosto de 2023)¶
Novos recursos e atualizações¶
Adicionada a capacidade de enviar cabeçalhos opcionais dos métodos
util
.Função
getQueryStatus
movida paraSfBaseSession
para oferecer suporte a chamadas assíncronas em procedimentos armazenados.
Correções de bugs¶
Corrigido um problema em que o driver não enviava o URL OSCP inteiro para links privados.
Versão 3.14.0 (27 de julho de 2023)¶
Mudança do BCR (versão da mudança de comportamento)¶
Corrigido um problema em que, sob certas condições, o driver JDBC poderia tentar novamente solicitações de HTTP indefinidamente.
Anteriormente, durante uma interrupção, o driver JDBC tentaria novamente a chamada de HTTP com falha continuamente até que a solicitação fosse bem-sucedida ou até que alguém forçasse a interrupção da operação.
Com essa alteração, é feita a desativação de infinitas tentativas HTTP originadas de chamadas
execute
eexecuteQuery
. Agora, o driver JDBC limita as tentativas HTTP a sete, por padrão. Os clientes podem definir o parâmetro de sessãomaxHttpRetries
para personalizar o número máximo de novas tentativas. Os clientes podem definirmaxHttpRetries=0
para remover o limite de novas tentativas, mas com isso há o risco de o driver JDBC repetir infinitamente chamadas de HTTP com falha.
Novos recursos e atualizações¶
Adicionada a propriedade de sessão
CLIENT_OUT_OF_BAND_TELEMETRY_ENABLED
para permitir que você desative a telemetria OOB.Tratamento aprimorado para chamadas de função
locatorsUpdateCopy()
. Agora, o driver retornaFALSE
em vez de lançar uma exceção.Atualizado o tratamento de erros 400 Bad Request para clientes S3 e adicionada a propriedade de conexão
putGetMaxRetries
para configurar o número máximo de novas tentativas para exceções PUT/GET para clientes de armazenamento (padrão: 7).Adicionado suporte para
httpMaxRetries
emDefaultResultStreamProvider.getResultChunk()
para melhorar o desempenho do download de partes.
Correções de bugs¶
Corrigido um problema em que o driver lançava incorretamente exceções de ponteiro nulo (NPEs) ao chamar
driver.getPropertyInfo()
.Corrigido um problema em que
reader.LoadNextBatch()
ocasionalmente lançava umClosedByInterruptException
ao ler o fluxo arrow.Foi corrigido um problema em que o driver JDBC usava configurações de proxy incorretas para clientes S3.
Corrigido um problema em que a função
downloadStream()
não permitia nomes de arquivos contendo caracteres japoneses.Corrigido um problema em que «~» não era permitido em caminhos de arquivo PUT/GET.
Corrigido um problema em que o driver lançaria um InvalidPathException quando um caminho de arquivo do Windows incluía o prefixo
file://
para registrar em log os arquivos de configuração.
Versão 3.13.33 (14 de junho de 2023)¶
Novos recursos e atualizações¶
Nenhum.
Correções de bugs¶
Trate
MessageFormat.format
exceções normalmente.
Versão 3.13.32 (26 de maio de 2023)¶
Novos recursos e atualizações¶
Nenhum.
Correções de bugs¶
Corrigido um bug introduzido em 3.13.31 que afeta o Java Runtime 8.
Versão 3.13.31 (25 de maio de 2023)¶
Nota
Atualize para versões mais recentes, especialmente se você encontrar um bug afetando o Java Runtime 8.
Novos recursos e atualizações¶
Processamento transacional/analítico híbrido aprimorado (HTAP).
Atualização da biblioteca
org.apache.httpcomponents:httpclient
para a versão 4.5.13 para obter uma atualização de segurança.
Correções de bugs¶
Corrigido um problema em que as tentativas de autenticação expiravam para solicitações de download de partes.
Corrigido um problema relacionado à análise do arquivo de configuração no Windows.
Corrigido um problema de estouro de int64 com valores
datetime
grandes ou pequenos.Melhorada a mensagem de erro mostrada quando uma conexão é interrompida devido a erros SSL/TLS.
Corrigido um problema em que a função
getTime()
retornava um horário baseado no fuso horário errado quandouseSessionTimezone
estava ativado.Corrigido um problema em que caracteres ASCII nulos e caracteres de controle eram descartados aleatoriamente de um
resultset
comjdbc_query_result_format=JSON
.
Versão 3.13.30 (18 de abril de 2023)¶
Novos recursos e atualizações¶
Atualizadas as seguintes bibliotecas de software:
slf4j-api da versão 1.7.25 para versão 2.0.6.
logback-classic da versão 1.2.3 para versão 1.3.6.
A mensagem não crítica «SEVERE: solicitação de HTTP demorou mais de 5 min» foi alterada de uma mensagem de erro para uma mensagem de aviso.
Adicionada a propriedade
http.proxyProtocol
para configurações de proxy JVM.
Correções de bugs¶
Corrigido um problema em que as tentativas de autenticação expiravam para solicitações de download de partes.
Corrigido um problema em que as credenciais de login ficavam visíveis nas exceções quando um URL de conexão falhava ao se separar.
Corrigida uma causa de vazamento de memória verificando
isClosed()
antes de adicionarresultset
aopenResultSets
.Corrigido um problema em que uma mensagem de erro de asserção SAML2 enganosa era enviada quando
hostnames
não correspondia.Corrigido um problema com solicitações de OSCP codificadas em URL.
Corrigido um problema em que a função
SnowflakeFileTransferAgent.uploadStream()
manipulava incorretamente a opçãooverwrite=false
.Corrigido um problema em que o método
metadata.etTableTypes()
retornava tipos de tabela incorretos.Atualizado o driver para expor a mensagem de erro de SQL em uma mensagem de exceção acionada quando chamadas de consulta assíncronas resultavam em uma consulta e exceção com falha.
Adicionada uma verificação para casos raros quando chamadas de coluna get procedure retornam um conjunto de resultados vazio.
O nível de aviso foi alterado para depuração/informação para mensagens de registro relacionadas a erros de análise
SnowflakeConnectionString
.Corrigido um problema em que o driver JDBC repetia solicitações que falhavam com
SSLHandshakeException
.Adicionado suporte para a propriedade do sistema
snowflake.jdbc.enable.illegalAccessWarning
para permitir que os usuários desabilitem avisos de acesso ilegal.Corrigido um problema se as mensagens de erro do arquivo de upload do gsc exibissem informações erradas.
O valor padrão TTL foi alterado para fechar uma conexão inativa após 60 segundos.
Corrigido um problema de ID de instrução preparada removendo chamadas describe extras.
Versão 3.13.29 (17 de março de 2023)¶
Novos recursos e atualizações¶
Nenhum.
Correções de bugs¶
Foi corrigido um problema em que nomes de tipos de colunas incorretos eram retornados para metadados de colunas de procedimentos armazenados quando
USE_STATEMENT_TYPE_CALL_FOR_STORED_PROC_CALLS=true
.Corrigido um problema em que JDBC tentava novamente uma solicitação GET quando um arquivo não podia ser baixado devido à falta de espaço no sistema de arquivos de destino. Agora, o driver lança uma exceção nesta situação.
Corrigido um problema em que JDBC repetia solicitações em clientes do Azure quando ocorria um erro de recurso 404. Agora, o driver lança uma exceção nesta situação.
Para se proteger contra ataques de injeção SQL, o driver JDBC agora escapa das aspas nos argumentos de pesquisa de padrão da API DatabaseMetadata.
Corrigido um problema em que chamadas getClob() geravam um NullPointerException quando uma coluna continha um valor NULL. Agora, o driver retorna
NULL
quando a coluna contém um valorSQL NULL
.Corrigido um problema em que o driver JDBC falhava ao validar uma URL SSO antes de executá-lo. Agora, o driver usa os utilitários
URLValidator
eURLEncoder
para validar e codificar o URL.
Versão 3.13.28 (22 de fevereiro de 2023)¶
Novos recursos e atualizações¶
Nenhum.
Correções de bugs¶
Adicionado suporte para o tipo de dados GEOMETRY na enumeração
SnowflakeType
para corrigir um problema que ocorria ao chamar a funçãometaData.getColumns()
para retornar metadados que incluíam dados GEOMETRY.Corrigido um problema de nova tentativa em GCP uploadStream que causava uploads parciais de arquivos quando JDBC tentava incorretamente fazer novamente o upload de um fluxo de entrada.
Corrigido um problema com funções e procedimentos armazenados que retornavam
resultset
para chamadas de funçãogetProcedureColumns()
egetFunctionColumns()
.Corrigido um problema que fazia com que StreamLoader gerasse mensagens de registro excessivas.
Versão 3.13.27 (30 de janeiro de 2023)¶
Novos recursos e atualizações¶
Nenhum
Correções de bugs¶
Corrigida uma condição de corrida que ocorria ocasionalmente durante as operações GET e PUT.
Corrigido um problema em que o uso da autenticação Okta falhava ao receber um erro HTTP 429.