Notas de lançamento de .NET Driver para 2023

Este artigo contém as notas de versão do .NET 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 .NET Driver.

Versão 2.1.5 (18 de dezembro de 2023)

Novos recursos e atualizações

  • Nenhum

Correções de bugs

  • Corrigido um problema ao ativar verificações de revogação de certificados.

Versão 2.1.4 (05 de dezembro de 2023)

Novos recursos e atualizações

  • Adicionada documentação sobre como ativar o formato Arrow.

Correções de bugs

  • Implementada a validação do formato do nome da conta nos parâmetros de conexão.

  • Adicionada sincronização de acesso ao cache de contexto de consulta.

Versão 2.1.3 (15 de novembro de 2023)

Novos recursos e atualizações

  • Adicionado suporte para gerenciar a frequência de novas tentativas para solicitações de conexão malsucedidas:

    • Adicionado o parâmetro RETRY_TIMEOUT com um valor padrão de 300 segundos.

    • Atualizada a forma como o driver usa os parâmetros de conexão CONNECTION_TIMEOUT e maxHttpRetries e alterado o valor padrão de CONNECTION_TIMEOUT para 300 segundos.

  • O formato Arrow agora está disponível como um recurso em versão preliminar (será ativado por padrão no futuro)

Correções de bugs

  • Corrigido um problema relacionado a falhas com exceções inesperadas na otimização de metadados HTAP.

  • Corrigido um problema com HTAP que poderia ocorrer ao alterar bancos de dados ou esquemas.

  • Implementada limpeza assíncrona ao destruir um pool para evitar possíveis impasses.

  • Removidas informações de erro confusas para comandos PUT para GCP.

  • Corrigido comportamento incorreto de SnowflakeDbConnection.Dispose.

Versão 2.1.2 (27 de setembro de 2023)

Novos recursos e atualizações

  • Adicionado suporte para processamento transacional e analítico híbrido:

    • Adicionado contexto de nova tentativa em novas tentativas para solicitações de consulta.

    • Adicionado cache de contexto de consulta.

  • Adicionado o método GetQueryId() a SnowflakeDbCommand para recuperar o ID de consulta da consulta executada mais recentemente para corresponder à funcionalidade existente em SnowflakeDbDataReader.

Correções de bugs

  • Foi corrigido um problema em que os comandos PUT/GET podiam falhar com estágios internos em contas de nuvem do governo do Azure.

  • Diminuição do uso de memória em operações PUT/GET.

  • Corrigido um problema que poderia ocorrer durante o upload e download de dados quando os arquivos de origem eram diferentes dos arquivos de destino, como poderia ocorrer devido à compactação automática de arquivos.

Versão 2.1.1 (22 de agosto de 2023)

Novos recursos e atualizações

  • Nenhum.

Correções de bugs

  • Corrigido um problema em que as conexões de teste não eram reutilizadas quando criadas com sucesso.

  • Corrigido um problema em que os curingas * e ? não funcionavam corretamente em caminhos de arquivo.

  • Corrigido um problema em que o driver exigia incorretamente um nome de usuário e senha para autenticação de navegador externo.

Versão 2.1.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 .NET poderia tentar novamente solicitações de HTTP indefinidamente. Anteriormente, durante uma interrupção, o driver .NET 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 de HTTP originadas de chamadas executar e executeQuery. Agora, o driver .NET limita as tentativas de HTTP a sete, por padrão. Os clientes podem definir o parâmetro de conexão MAXHTTPRETRIES para personalizar o número máximo de novas tentativas. Os clientes podem definir MAXHTTPRETRIES=0 para remover o limite de novas tentativas, mas com isso há o risco de o driver .NET repetir infinitamente chamadas de HTTP com falha.

Novos recursos e atualizações

  • Tratamento aprimorado de caminhos remotos contendo um subdiretório em um comando GET.

Correções de bugs

  • Foi corrigido um problema com pools de conexões que poderia ocorrer quando uma conexão suja era fechada e o método BeginTransaction era chamado explicitamente.

  • Corrigido um problema com UseProxy em HTTPClientHander.

  • Adicionado o parâmetro de conexão BROWSER_RESPONSE_TIMEOUT para corrigir um problema de autenticação em um navegador externo. O padrão é 120 segundos.

  • Corrigido um problema com os tempos limite do pool de conexões durante as transições do horário de verão.

Versão 2.0.25 (16 de junho de 2023)

Novos recursos e atualizações

  • Nenhum

Correções de bugs

  • Corrigido um problema em que a senha do proxy podia ficar visível no arquivo de log do Snowflake.

  • Corrigido um problema em que SnowflakeDbDataReader.HasRows() sempre retornava verdadeiro para alguns tipos de consulta (por exemplo, SELECT), independentemente de haver linhas válidas no resultado da consulta.

  • Corrigido um problema intermitente de «O token de autenticação expirou» ou «A sessão não existe mais» quando o pool de conexões estava ativado.

  • Uso removido de WinHttpHandler.

  • Corrigido um problema em que novas tentativas de download de partes falhavam ocasionalmente, como quando ocorria um erro de rede após o download parcial dos dados.

  • Corrigido problema no processo de novas tentativas de download de partes e testes aprimorados dessas tentativas.

Versão 2.0.24 (23 de maio de 2023)

Novos recursos e atualizações

  • Sessão registro de ID da sessão adicionado para obter um melhor rastreamento da atividade para cada sessão nos casos em que várias conexões são usadas em paralelo.

Correções de bugs

  • Corrigido um problema em que um aplicativo .NET lança um erro não autorizado quando o pool de conexões foi ativado.

  • Corrigido um problema com erros 401 causados por tokens de sessão vazios.

Versão 2.0.23 (19 de abril de 2023)

Novos recursos e atualizações

  • A versão legada com suporte foi alterada para a versão 4.7.1.

Correções de bugs

  • Corrigido um problema em que um aplicativo .NET seria encerrado por uma exceção não tratada quando client_session_keep_alive=true.

  • Corrigido um problema em que um COMMIT pode ser interrompido por uma reversão desnecessária.

  • Corrigido um problema em que uma conexão não podia encerrar uma sessão quando o pool de conexões está habilitado.

  • Corrigido um problema em que chamar Close() antes de Dispose() resultava em conexões duplicadas em um pool.

  • Corrigido um problema em que os erros eram lançados e, em seguida, uma propriedade obrigatória USER não foi fornecida.

  • Corrigido o WinHttpHandler PlatformNotSupportedException; o driver .NET agora usa WinHttpHandler somente para aplicativos de framework .NET.

  • Corrigido um problema em que ocorria um erro incorretamente ao passar uma propriedade USER vazia na cadeia de caracteres de conexão para logins SSO.

  • Corrigido um problema em que nomes de banco de dados que continham espaços entre aspas duplas (por exemplo «Meu DB») não eram tratados adequadamente.

Versão 2.0.22 (22 de março de 2023)

Novos recursos e atualizações

  • Nenhum.

Correções de bugs

  • Corrigido um problema que fazia com que aplicativos que definem CLIENT_SESSION_KEEP_ALIVE=true travassem quando encerravam a conexão.

  • Corrigido um problema em que a execução da consulta falhava intermitentemente após a ocorrência de um tempo limite.

  • Corrigido um problema em que o driver .NET falhava ao executar comandos PUT em uma implantação habilitada para FIPS.

  • Corrigido o erro lançado pelo conector .NET: “System.Net.Http.WinHttpException (80072EE2, 12002): erro 12002 ao chamar WINHTTP_CALLBACK_STATUS_REQUEST_ERROR”.

  • Começou a adicionar o prefixo https: para pontos de extremidade AWS que não incluem o prefixo.

  • Atualizado o exemplo Especificar uma chave privada não criptografada (lida de um arquivo) no arquivo README.md para remover a chamada de função Replace().

Versão 2.0.21 (22 de fevereiro de 2023)

Novos recursos e atualizações

  • Adicionado suporte para usar tokens de acesso GCS para consultas PUT e GET (#585).

Correções de bugs

  • Tratamento de exceção aprimorado para preservar rastreamentos de pilha.

Versão 2.0.20 (24 de janeiro de 2023)

Novos recursos e atualizações

  • Adicionado suporte para o novo Okta OIE.

  • Registro de erros aprimorado para análise de JSON incluindo o queryid na mensagem de log.

Correções de bugs

  • Corrigido problema com PUT/GET não determinando o tipo correto de compactação dos arquivos a serem carregados.

  • Corrigido problema com valores de resultado PUT/GET não sendo mapeados para o campo apropriado.

  • Corrigido um problema fora dos limites ao encurtar as consultas SQL que continham um comentário final.

  • Corrigido um problema em que o uso da autenticação Okta falhava ao receber um erro HTTP 429.

  • Corrigido um problema com tempos limite de sessão adicionando o parâmetro de sessão DEFAULT_TIMEOUT_IN_SECOND.