Notes de version de Snowflake Connector for Python pour 2022¶
Cet article contient les notes de version Snowflake Connector for Python, y compris les éléments suivants, le cas échéant :
Changements de comportement
Nouvelles fonctionnalités
Corrections de bogues pour les clients
Snowflake utilise la version sémantique pour les mises à jour Snowflake Connector for Python.
Version 2.9.0 (14 décembre 2022)¶
Nouvelles fonctions et mises à jour¶
Remaniement du système d’authentification interne pour permettre aux utilisateurs d’ajouter des authentificateurs personnalisés à base de paires de clés.
L’exécution de requêtes à plusieurs instructions est désormais prise en charge par
cursor.execute
etcursor.executemany
.Le paramètres
MULTI_STATEMENT_COUNT
de Snowflake peut être modifiés au niveau du compte, de la session ou de l’instruction. Un argument supplémentaire,num_statements
, peut être fourni à l’exécution pour utiliser ce paramètre au niveau de l’instruction. Il doit être fourni àexecutemany
pour qu’une requête à plusieurs instructions puisse être soumise par le biais de la méthode. Notez que les optimisations d’insertion en masse disponibles viaexecutemany
ne sont pas disponibles lors de la soumission de requêtes à plusieurs instructions.Par défaut, le paramètre est égal à 1, ce qui signifie qu’une seule requête peut être soumise à la fois.
La valeur 0 permet de soumettre un nombre quelconque d’instructions dans le cadre d’une requête à plusieurs instructions.
Définissez >1 pour soumettre le nombre exact d’instructions spécifié dans une requête à plusieurs instructions.
Les liaisons sont acceptées de la même manière pour les requêtes à plusieurs instructions que pour les requêtes à une seule instruction.
L’exécution asynchrone de requêtes à plusieurs instructions est prise en charge. Les utilisateurs doivent toujours utiliser
get_results_from_sfqid
pour récupérer les résultats.Pour accéder aux résultats de chaque requête, les utilisateurs peuvent se rendre sur
call SnowflakeCursor.nextset()
comme indiqué dans l’API DB 2.0 (PEP-249), afin de parcourir les résultats de chaque instruction.Les résultats de la première instruction sont accessibles immédiatement après l’appel à exécution (ou
get_results_from_sfqid
s’il s’agit d’un appel asynchrone) par l’intermédiaire des méthodesfetch*()
existantes.
Corrections de bogues¶
Correction d’un bogue entraînant la modification de l’autorisation du fichier téléchargé via la commande GET.
Version 2.8.3 (28 novembre 2022)¶
Nouvelles fonctions et mises à jour¶
La dépendance de la cryptographie est passée de <39.0.0 à <41.0.0.
Corrections de bogues¶
Correction d’un bogue où un cache de réponse OCSP expiré provoquait une récursion infinie lors du chargement du cache.
Version 2.8.2 (18 novembre 2022)¶
Nouvelles fonctions et mises à jour¶
Amélioration des performances de la mise en cache des réponses OCSP.
Ne résout plus l’emplacement de la cible sur la machine locale lors de l’exécution des commandes GET.
Amélioration des performances des expressions régulières utilisées pour la détection d’instructions SQL PUT/GET.
Version 2.8.1 (28 octobre 2022)¶
Nouvelles fonctions et mises à jour¶
La dépendance de la cryptographie est passée de <37.0.0 à <39.0.0.
Lors de la fermeture d’une connexion, la vérification asynchrone du statut de la requête est désormais parallélisée.
Corrections de bogues¶
Correction d’un problème où
write_pandas
n’écrivait pas unDataFrame
vide vers Snowflake.
Version 2.8.0 (27 septembre 2022)¶
Corrections de bogues¶
Correction de l’absence de
dtypes
lors de l’appel defetch_pandas()
etfetch_arrow()
sur des résultats vides.Correction d’un bogue où
rowcount
était supprimé lorsque le curseur était fermé.Correction d’un bogue où
extTypeName
était utilisé même s’il était vide.Mise à jour de la façon dont les entrées télémétriques sont construites.
Ajout de la télémétrie pour les paquets racine importés pendant l’exécution.
Ajout de la télémétrie pour l’utilisation de la fonction
write_pandas
.La fonction
write_pandas
prend désormais en charge la fourniture d’arguments supplémentaires à utiliser parDataFrame.to_parquet
.Tous les paramètres optionnels de
write_pandas
peuvent maintenant être fournis àpd_writer
etmake_pd_writer
pour être utilisés avecDataFrame.to_sql
.
Version 2.7.12 (24 août 2022)¶
Nouvelles fonctions et mises à jour¶
Ajout de la mise en cache dans le fichier pour la mise en cache des réponses OCSP.
Ajout de la prise en charge de OKTA Identity Engine.
La fonction
write_pandas
prend désormais en charge les tables transitoires grâce au nouvel argumenttable_type
qui remplace l’argumentcreate_temp_table
.
Corrections de bogues¶
Correction d’un bogue où les horodatages récupérés sous la forme
pandas.DataFrame
oupyarrow.Table
débordaient pour des raisons de précision inutile. Dans le cas où un débordement ne peut être évité, une erreur claire est maintenant levée.Correction d’un bogue où l’appel de
fetch_pandas_batches
levait incorrectementNotSupportedError
après l’exécution d’une requête asynchrone.
Version 2.7.11 (28 juillet 2022)¶
Corrections de bogues¶
Ajout d’un épinglage de version minimale à
typing_extensions
.
Version 2.7.10 (25 juillet 2022)¶
Nouvelles fonctions et mises à jour¶
Ajout d’un cache en mémoire pour les requêtes OCSP.
Ajout d’une option d’écrasement à
write_pandas
.Ajout de l’attribut
lastrowid
àSnowflakeCursor
en conformité avec PEP-249.Ajout de nouvelles capacités de diagnostic des connexions.
Mise à jour des bibliothèques et ressources suivantes :
Versions de pyarrow prises en charge jusqu’à 8.0.X.
Requêtes de versions de la bibliothèque liée à la copie de paquets tiers vers 2.28.1 et urllib3 vers 1.26.10.
Versions des dépendances numby prises en charge de 1.23.0 vers 1.24.0.
Corrections de bogues¶
Correction d’un problème où les requêtes HTTP compressées en gzip pouvaient être altérées par un tampon non vidé.
Version 2.7.5 (18 mars 2022)¶
Modification de comportement¶
Suppression de la prise en charge de Python 3.6.
Nouvelle fonctionnalité¶
Ajout d’une option permettant aux partenaires d’injecter leur nom par le biais d’une variable d’environnement (
SF_PARTNER
).
Corrections de bogues¶
Correction d’un bogue qui faisait que nous n’attendions pas d’entrée si une fenêtre de navigateur ne pouvait pas être ouverte pour la connexion SSO.
Définition de type exportée pour
SnowflakeConnection
.Correction d’un bogue où la table Arrow finale contenait des numéros d’index en double lors de l’utilisation de
fetch_pandas_all
.
Version 2.7.3 (18 janvier 2022)¶
Corrections de bogues¶
Métadonnées de paquets déplacées de
setup.py
verssetup.cfg
.Ajout de
Timezone
àTimestamp_TZ
.Correction d’une erreur liée à des identifiants de connexion de stockage.
Correction d’un problème où py.typed n’était pas inclus dans les wheels.
Correction d’un problème où les nombres négatifs n’étaient pas correctement convertis en utilisant
arrow_number_to_decimal
.Ajout de la gestion des fichiers vides lors de l’utilisation de GET.
Correction du rendu de la description longue pour PyPi.
Ajout de la gestion des erreurs pour DUO lorsque SMS n’est pas présent.
Ajout de la possibilité de créer automatiquement une table lors de l’écriture d’un
DataFrame
pandas dans une table Snowflake.Mise à jour de la configuration requise pour numpy de <1.22.0 vers <1.23.0.
Fichier CODEOWNERS mis à jour.