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 e net.

  • 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 era OVERWRITE=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() e Rollback() não usavam o mesmo contexto definido em BeginTx(), 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.