Notas de lançamento de Snowflake Connector for Python para 2022¶
Este artigo contém as notas de versão do Snowflake Connector for Python, 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 Snowflake Connector for Python.
Versão 2.9.0 (14 de dezembro de 2022)¶
Novos recursos e atualizações¶
Internos de autenticação reformulados para permitir que os usuários conectem autenticadores de pares de chaves personalizados.
A execução de consultas com múltiplas instruções agora é suportada por meio de
cursor.execute
ecursor.executemany
.O parâmetro Snowflake
MULTI_STATEMENT_COUNT
pode ser alterado no nível da conta, sessão ou instrução. Um argumento adicional,num_statements
, pode ser fornecido para execução para usar esse parâmetro no nível da instrução. Ele deve ser fornecido aexecutemany
para enviar uma consulta com múltiplas instruções por meio do método. Observe que as otimizações de inserção em massa disponíveis por meio deexecutemany
não estão disponíveis ao enviar consultas com várias instruções.Por padrão, o parâmetro é 1, o que significa que apenas uma consulta pode ser enviada por vez.
Defina como 0 para enviar qualquer número de instruções em uma consulta com várias instruções.
Defina como >1 para enviar o número exato especificado de instruções em uma consulta com várias instruções.
As vinculações são aceitas da mesma maneira para consultas com várias instruções e para consultas com instruções únicas.
A execução assíncrona de consultas com várias instruções é suportada. Os usuários ainda devem usar
get_results_from_sfqid
para recuperar resultados.Para acessar os resultados de cada consulta, os usuários podem
call SnowflakeCursor.nextset()
conforme especificado na API DB 2.0 (PEP-249), para iterar nos resultados de cada instrução.Os resultados da primeira instrução ficam acessíveis imediatamente após chamar executar (ou
get_results_from_sfqid
se for assíncrono) por meio dos métodosfetch*()
existentes.
Correções de bugs¶
Corrigido um bug onde a permissão do arquivo baixado via comando GET era alterada.
Versão 2.8.3 (28 de novembro de 2022)¶
Novos recursos e atualizações¶
Dependência de criptografia aumentada de <39.0.0 para <41.0.0.
Correções de bugs¶
Corrigido um bug em que um cache de resposta OCSP expirado causava recursão infinita durante o carregamento do cache.
Versão 2.8.2 (18 de novembro de 2022)¶
Novos recursos e atualizações¶
Desempenho aprimorado do cache de resposta OCSP.
Não é mais possível resolver o local de destino na máquina local durante a execução dos comandos GET.
Desempenho aprimorado de expressões regulares usadas para detecção de instruções PUT/GET SQL.
Versão 2.8.1 (28 de outubro de 2022)¶
Novos recursos e atualizações¶
Dependência de criptografia aumentada de <37.0.0 para <39.0.0.
Ao fechar uma conexão, a verificação do status da consulta assíncrona agora é paralelizada.
Correções de bugs¶
Corrigido um problema em que
write_pandas
não escrevia umDataFrame
vazio no Snowflake.
Versão 2.8.0 (27 de setembro de 2022)¶
Correções de bugs¶
Corrigido
dtypes
ausente ao chamarfetch_pandas()
efetch_arrow()
em resultados vazios.Corrigido um bug onde
rowcount
era excluído quando o cursor era fechado.Corrigido um bug onde
extTypeName
era usado mesmo quando estava vazio.Atualizado o modo como as entradas de telemetria são construídas.
Adicionada telemetria para pacotes raiz importados durante o tempo de execução.
Adicionada telemetria para usar
write_pandas
.A função
write_pandas
agora oferece suporte ao fornecimento de argumentos adicionais para serem usados porDataFrame.to_parquet
.Todos os parâmetros opcionais de
write_pandas
agora podem ser fornecidos parapd_writer
emake_pd_writer
para serem usados comDataFrame.to_sql
.
Versão 2.7.12 (24 de agosto de 2022)¶
Novos recursos e atualizações¶
Adicionado cache no arquivo para cache de resposta OCSP.
Adicionado suporte para OKTA Identity Engine.
A função
write_pandas
agora oferece suporte a tabelas transitórias por meio do novo argumentotable_type
que substitui o argumentocreate_temp_table
.
Correções de bugs¶
Corrigido um bug onde os carimbos de data/hora buscados como
pandas.DataFrame
oupyarrow.Table
transbordavam por uma questão de precisão desnecessária. No caso em que um transbordamento não pode ser evitado, um erro claro é gerado.Corrigido um bug em que a chamada de
fetch_pandas_batches
geravaNotSupportedError
incorretamente após a execução de uma consulta assíncrona.
Versão 2.7.11 (28 de julho de 2022)¶
Correções de bugs¶
Adicionado um pin de versão mínima a
typing_extensions
.
Versão 2.7.10 (25 de julho de 2022)¶
Novos recursos e atualizações¶
Adicionado um cache na memória a solicitações do OCSP.
Adicionada uma opção de substituição a
write_pandas
.Adicionado o atributo
lastrowid
aSnowflakeCursor
em conformidade com PEP-249.Adicionados novos recursos de diagnóstico de conexão.
Atualizadas as seguintes bibliotecas e recursos:
Versões pyarrow compatíveis com 8.0.X.
Solicitações de versões de biblioteca própria de terceiros para 2.28.1 e urllib3 para 1.26.10.
Versões de dependência numby suportadas de 1.23.0 a 1.24.0.
Correções de bugs¶
Corrigido um problema em que solicitações de HTTP compactadas com gzip podiam ser distorcidas por um buffer não liberado.
Versão 2.7.5 (18 de março de 2022)¶
Mudança de comportamento¶
Suporte obsoleto para Python 3.6.
Novo recurso¶
Adicionada uma opção para os parceiros injetarem seus nomes por meio de uma variável ambiental (
SF_PARTNER
).
Correções de bugs¶
Corrigido um bug em que não esperaríamos pela entrada se uma janela do navegador não pudesse ser aberta para login de SSO.
Exportado uma definição de tipo para
SnowflakeConnection
.Corrigido um bug onde a tabela Arrow final continha números de índice duplicados ao usar
fetch_pandas_all
.
Versão 2.7.3 (18 de janeiro de 2022)¶
Correções de bugs¶
Metadados do pacote movidos de
setup.py
parasetup.cfg
.Timezone
aTimestamp_TZ
adicionado.Corrigido um erro relacionado às credenciais de armazenamento.
Corrigido um problema em que py.typed não estava sendo incluído nas rodas.
Correção de um problema em que números negativos não eram convertidos corretamente usando
arrow_number_to_decimal
.Adicionada manipulação de arquivos vazios ao usar GET.
Corrigida a renderização da descrição longa para PyPi.
Adicionado tratamento de erros para DUO quando SMS não está presente.
Adicionada a capacidade de criar automaticamente uma tabela ao gravar um pandas
DataFrame
em uma tabela Snowflake.Requisito numpy atualizado de <1.22.0 para <1.23.0.
Atualizado o arquivo CODEOWNERS.