Notas de lançamento de Go Snowflake Driver para 2023¶
Este artigo contém as notas de versão do Go Snowflake 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 Go Snowflake Driver.
Versão 1.7.1 (07 de dezembro de 2023)¶
Novos recursos e atualizações¶
Atualizadas as bibliotecas
crypto
enet
.Adicionado suporte para executar clientes S3 na nova biblioteca AWS SDK, preservando a compatibilidade com a versão anterior da biblioteca.
Desempenho aprimorado do cache de resposta OCSP ao alterar a chave de
x509.Certificate
para uma cadeia de caracteres.Implementou estratégias de repetição separadas para pontos de extremidade de autenticação e outros tipos de pontos de extremidade.
Correções de bugs¶
O driver agora tenta novamente consultas
getQueryStatus
que falham quando ocorrem erros de back-end.O driver agora fornece um
QueryId
para consultas com falha invocadas por instruções.
Versão 1.7.0 (15 de novembro de 2023)¶
Mudança do BCR (versão da mudança de comportamento)¶
Alterado o comportamento padrão de PUT do parâmetro
OVERWRITE
. Anteriormente, o padrão eraOVERWRITE=true
. Com essa mudança, o padrão éOVERWRITE=false
, portanto você deve ativar explicitamente o comportamento de substituição PUT.
Novos recursos e atualizações¶
Adicionado o parâmetro de configuração
IncludeRetryReason
para ativar ou desativar o envio do código de status HTTP para solicitações de nova tentativa de consulta.Adicionado um novo contexto
WithOriginalTimestamp
para permitir que lotes arrow usem precisão de nanossegundos no intervalo de anos completo suportado pelo Snowflake.Adicionado suporte para definir o nível de log em um arquivo de configuração.
Desempenho aprimorado ao armazenar em cache as respostas OCSP analisadas.
Correções de bugs¶
Corrigido um problema relacionado ao acesso simultâneo a um cache de contexto de consulta HTAP.
Corrigido um problema relacionado ao tratamento inadequado de conexões no exemplo de demonstração assíncrona.
Versão 1.6.25 (26 de setembro de 2023)¶
Novos recursos e atualizações¶
Adicionado suporte para processamento transacional e analítico híbrido.
Implementada a função
GetQueryId
no nível da instrução, que permite obter o ID da última consulta nesta instrução.Adicionado o motivo de nova tentativa para solicitações de consulta.
Atualizado o pacote
cacert
usado para conexões SSL.
Correções de bugs¶
Corrigido um problema com solicitações de OCSP em ambientes PrivateLink.
Removido QueryID da estrutura snowflakeConn para resolver algumas condições de corrida quando a mesma conexão era reutilizada entre threads.
Corrigido um problema em que o driver mostrava um erro para consultas bem-sucedidas.
Versão 1.6.24 (22 de agosto de 2023)¶
Novos recursos e atualizações¶
Adicionado suporte para especificação de um diretório temporário para criptografia e compactação.
Desempenho aprimorado ao verificar os dados de localização uma vez por consulta, em vez de verificar cada linha e coluna separadamente.
Adicionado suporte para especificar um contexto personalizado ao buscar um lote arrow.
Correções de bugs¶
Nenhum.
Versão 1.6.23 (25 de julho de 2023)¶
Novos recursos e atualizações¶
Adicionado suporte para vinculação de parâmetros nomeados.
Adicionado suporte para tipos
sql.Null
para mapeamento de vínculo de consulta.É permitido definir um tempo limite de autenticação separado para autenticação de par de chaves.
Adicionado aplicativo de amostra fornecendo exemplo de recurso de busca distribuída.
Adicionado tempo limite do navegador externo.
Uma maneira mais fácil de configurar a conexão Snowflake (veja
/cmd
exemplos) foi fornecida.Biblioteca arrow atualizada para lidar melhor com sistemas de 32 bits.
Aplicativo de amostra fornecido demonstrando como usar lotes de Arrow.
Correções de bugs¶
Mensagens de erro corrigidas de condições de corrida com vários threads.
Corrigido um problema com novas tentativas de solicitações assíncronas se uma consulta ainda estivesse em andamento.
Adicionadas verificações de nulos antes de acessar a configuração da conexão durante o download de partes.
Corrigido um problema com o tratamento de conjuntos de resultados JSON retornados do servidor quando o driver esperava Arrow.
Recriar novo token JWT (com nova expiração) na nova tentativa de autenticação do par de chaves.
Adicionado tempo limite para autenticação no navegador externo para evitar espera infinita quando o usuário fecha a guia do navegador.
Corrigido o pânico do driver quando o sistema de arquivos temporário está no modo somente leitura.
Corrigido um problema de autenticação ao exigir nome de usuário e senha apenas para os modos de autenticação em que são necessários.
Versão 1.6.22 (14 de junho de 2023)¶
Novos recursos e atualizações¶
Adicionado um aplicativo de amostra,
async.go,
dentro da pasta cmd para demonstrar como usar chamadas de API assíncronas dentro do driver Golang.Adicionado um aplicativo de amostra,
multistatement.go
, na pasta cmd para demonstrar como enviar várias instruções no driver Golang.
Correções de bugs¶
Corrigido um problema em que
Commit()
eRollback()
não usavam o mesmo contexto definido emBeginTx()
, o que poderia causar a ocorrência de bloqueios.
Versão 1.6.21 (23 de maio de 2023)¶
Novos recursos e atualizações¶
Adicionado para verificar se o prazo do contexto foi excedido ao tentar novamente no
snowflakeChunkDownloader
.Atualização da biblioteca Arrow para a versão v12.
Adicionada a capacidade de expor os fluxos de IPC diretos do Arrow do driver Snowflake Go.
Incluída a versão 0.4.0 do Arrow Database Connectivity (ADBC), que usa a biblioteca Snowflake atualizada para fornecer um driver Snowflake ADBC que pode ser consumido por qualquer coisa que acesse uma interface C, além dos vínculos Go nativos.
Correções de bugs¶
Corrigido um problema de estouro de int64 com valores
datetime
grandes ou pequenos.
Versão 1.6.20 (18 de abril de 2023)¶
Novos recursos e atualizações¶
Adicionado suporte para logins do Okta Identity Engine (OIE).
Uso de memória aprimorado, limpando o primeiro bloco de dados antes de ler a próxima parte de dados.
Correções de bugs¶
Corrigido o pânico de conversão da interface quando o contexto era cancelado ao monitorar uma consulta assíncrona e passar um contexto cancelável para
WithFetchResultByID
.Mensagens de registro atualizadas para erros de bloqueio de arquivo OCSP.
Agora é registrado um erro quando o carregamento de um único arquivo falha.
Versão 1.6.19 (21 de março de 2023)¶
Novos recursos e atualizações¶
Adicionado suporte para a versão Go 1.20 e descartado o suporte para a versão Go 1.18.
Migrado de azure-storage-blob-go v0.15.0 para azure-sdk-for-go v1.0.0.
O driver Go agora oferece suporte a novas tentativas em um código de erro HTTP 429.
Atualização da biblioteca Arrow para a versão v10.
Correções de bugs¶
Corrigido um problema em que o Go driver falhava ao validar um URL SSO antes de executá-lo. Agora, o driver usa os utilitários URLValidator e URLEncoder para validar e codificar o URL.
Corrigido o tipo de dados do ponteiro
*time.Time
que retorna o valor<nil>
da versão do driver GO 1.6.13.
Versão 1.6.18 (22 de fevereiro de 2023)¶
Novos recursos e atualizações¶
Nenhum.
Correções de bugs¶
Adicionado suporte para desativar o cache de conexão para autenticação multifator e navegadores externos, que são ativados por padrão, mas definindo um dos seguintes parâmetros de configuração.
ClientStoreTemporaryCredential=ConfigBoolFalse
ClientRequestMfaToken=ConfigBoolFalse
Versão 1.6.17 (26 de janeiro de 2023)¶
Novos recursos e atualizações¶
golang.org/x/net/http2
atualizado para a versão 0.5.0.
Correções de bugs¶
Desempenho aprimorado de consultas com múltiplas instruções, ignorando consultas que não retornam contagem de atualizações.
Cache de conexão corrigido para MFA e autenticação de navegador externo.
Adicionado um bloqueio mutex ao mapa de parâmetros de configuração para evitar leituras/gravações simultâneas ao usar várias rotinas go.