Notes de version de Go Snowflake Driver pour 2023

Cet article contient les notes de version Go Snowflake Driver, 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 Go Snowflake Driver.

Version 1.7.1 (07 décembre 2023)

Nouvelles fonctions et mises à jour

  • Mise à niveau des bibliothèques crypto et net.

  • Ajout de la prise en charge de l’exécution de clients S3 sur la nouvelle bibliothèque du SDK AWS tout en préservant la compatibilité avec la version précédente de la bibliothèque.

  • Amélioration des performances du cache de réponse OCSP en remplaçant la clé d’un x509.Certificate par une chaîne.

  • Mise en œuvre de stratégies de relance distinctes pour les points de terminaison d’authentification et d’autres types de points de terminaison.

Corrections de bogues

  • Le pilote relance désormais des requêtes getQueryStatus qui échouent en cas d’erreurs de backend.

  • Le pilote fournit désormais un QueryId pour les requêtes infructueuses invoquées par des instructions.

Version 1.7.0 (15 novembre 2023)

Changement BCR (version de changement de comportement)

  • Modification du comportement par défaut de PUT pour le paramètre OVERWRITE. Auparavant, la valeur par défaut était OVERWRITE=true. Avec cette modification, la valeur par défaut est OVERWRITE=false, vous devez donc activer explicitement le comportement d’écrasement de PUT.

Nouvelles fonctions et mises à jour

  • Ajout du paramètre de configuration IncludeRetryReason permettant d’activer ou de désactiver l’envoi du code de statut HTTP pour les demandes de nouvelle tentative de requête.

  • Ajout d’un nouveau contexte WithOriginalTimestamp pour permettre aux lots de flèches d’utiliser la précision en nanosecondes dans la plage d’années complète prise en charge par Snowflake.

  • Ajout de la possibilité de définir le niveau de journalisation dans un fichier de configuration.

  • Amélioration des performances grâce à la mise en cache des réponses OCSP analysées.

Corrections de bogues

  • Correction d’un problème lié à l’accès simultané à un cache de contexte de requête HTAP.

  • Correction d’un problème lié à une mauvaise gestion des connexions dans l’exemple de démonstration asynchrone.

Version 1.6.25 (26 septembre 2023)

Nouvelles fonctions et mises à jour

  • Ajout de la prise en charge du traitement transactionnel et analytique hybride.

  • Implémentation de la fonction GetQueryId au niveau de l’instruction, qui permet d’obtenir le dernier identifiant de requête sur cette instruction.

  • Ajout de la raison de la nouvelle tentative pour les demandes de requêtes.

  • Mise à jour du bundle cacert utilisé pour les connexions SSL.

Corrections de bogues

  • Correction d’un problème avec les demandes de secours OCSP dans les environnements PrivateLink.

  • Suppression de QueryID de la structure snowflakeConn pour traiter certaines conditions de course lorsque la même connexion était réutilisée entre les threads.

  • Correction d’un problème où le pilote affichait une erreur pour les requêtes réussies.

Version 1.6.24 (22 août 2023)

Nouvelles fonctions et mises à jour

  • Ajout de la prise en charge de la spécification d’un répertoire temporaire pour le chiffrement et la compression.

  • Amélioration des performances en vérifiant les données de localisation une fois par requête au lieu de le faire pour chaque ligne et chaque colonne séparément.

  • Ajout de la possibilité de spécifier un contexte personnalisé lors de la récupération d’un lot Arrow.

Corrections de bogues

  • Aucun.

Version 1.6.23 (25 juillet 2023)

Nouvelles fonctions et mises à jour

  • Ajout de la prise en charge de la liaison des paramètres nommés.

  • Ajout de la prise en charge des types sql.Null pour le mappage des liaisons de requêtes.

  • Permet de définir un délai d’authentification distinct pour l’authentification par paire de clés.

  • Ajout d’un exemple d’application fournissant un exemple de la fonction de récupération distribuée.

  • Ajout d’un délai d’attente pour le navigateur externe.

  • Fourni un moyen plus facile de configurer la connexion à Snowflake (voir /cmd exemples).

  • Mise à niveau de la bibliothèque Arrow pour mieux gérer les systèmes 32 bits.

  • Fourni un exemple d’application démontrant comment utiliser les lots Arrow.

Corrections de bogues

  • Correction des messages d’erreur dus à des conditions de course avec plusieurs threads.

  • Correction d’un problème avec la relance des requêtes asynchrones si une requête est toujours en cours.

  • Ajout de contrôles de nullité avant d’accéder à la configuration de la connexion pendant le téléchargement d’un morceau.

  • Correction d’un problème lié à la gestion des jeux de résultats JSON renvoyés par le serveur alors que le pilote attendait Arrow.

  • Recréation d’un nouveau jeton JWT (avec une nouvelle expiration) lors d’une nouvelle tentative d’authentification par paire de clés.

  • Ajout d’un délai d’attente pour l’authentificateur dans le navigateur externe afin d’éviter une attente infinie lorsque l’utilisateur ferme l’onglet du navigateur.

  • Correction d’une panique du pilote lorsque le système de fichiers temporaires est en mode lecture seule.

  • Correction d’un problème d’authentification en n’exigeant le nom d’utilisateur et le mot de passe que pour les modes d’authentification dans lesquels ils sont requis.

Version 1.6.22 (14 juin 2023)

Nouvelles fonctions et mises à jour

  • Ajout d’un exemple d’application, async.go, dans le dossier cmd pour démontrer comment utiliser les appels API asynchrones dans le pilote Golang.

  • Ajout d’un exemple d’application, multistatement.go, dans le dossier cmd pour démontrer comment envoyer plusieurs instructions dans le pilote Golang.

Corrections de bogues

  • Correction d’un problème où Commit() et Rollback() n’utilisaient pas le même contexte dans BeginTx(), ce qui pouvait provoquer des blocages.

Version 1.6.21 (23 mai 2023)

Nouvelles fonctions et mises à jour

  • Ajout d’une vérification pour savoir si la date limite du contexte a été dépassée lors d’une nouvelle tentative dans snowflakeChunkDownloader.

  • Mise à niveau de la bibliothèque Arrow vers la version v12.

  • Ajout de la possibilité d’exposer les flux IPC Arrow directs du pilote Snowflake Go.

  • Nous avons inclus la version 0.4.0 de Arrow Database Connectivity (ADBC), qui utilise la bibliothèque Snowflake mise à jour pour fournir un pilote ADBC Snowflake qui peut être consommé par tout ce qui accède à une interface C, en plus des liaisons natives Go.

Corrections de bogues

  • Correction d’un problème de débordement d’int64 avec des valeurs datetime grandes ou petites.

Version 1.6.20 (18 avril 2023)

Nouvelles fonctions et mises à jour

  • Ajout de la prise en charge des connexions à Okta Identity Engine (OIE) .

  • Amélioration de l’utilisation de la mémoire en nettoyant le premier morceau de données avant de lire le morceau suivant.

Corrections de bogues

  • Correction de la panique de conversion d’interface lorsque le contexte a été annulé lors du suivi d’une requête asynchrone et de la transmission d’un contexte annulable à WithFetchResultByID.

  • Mise à jour des messages du journal pour les erreurs de verrouillage de fichiers OCSP.

  • Désormais, une erreur est enregistrée lorsque le chargement d’un seul fichier échoue.

Version 1.6.19 (21 mars 2023)

Nouvelles fonctions et mises à jour

  • Ajout de la prise en charge de la version 1.20 de Go et abandon de la prise en charge de la version 1.18 de Go.

  • Migration de azure-storage-blob-go v0.15.0 vers azure-sdk-for-go v1.0.0.

  • Le pilote Go prend désormais en charge les tentatives de réessai en cas de code d’erreur HTTP 429.

  • Mise à niveau de la bibliothèque Arrow vers la version v10.

Corrections de bogues

  • Correction d’un problème où le pilote Go ne parvenait pas à valider une URL SSO avant de l’exécuter. Le pilote utilise ensuite les utilitaires URLValidator et URLEncoder pour valider et encoder l’URL.

  • La correction du type de données Pointer *time.Time renvoie la valeur <nil> à partir de la version 1.6.13 du pilote GO.

Version 1.6.18 (22 février 2023)

Nouvelles fonctions et mises à jour

  • Aucun.

Corrections de bogues

  • Ajout de la prise en charge de la désactivation de la mise en cache des connexions pour l’authentification multifactorielle et les navigateurs externes, qui sont activés par défaut, en définissant l’un ou l’autre des paramètres de configuration suivants.

    • ClientStoreTemporaryCredential=ConfigBoolFalse

    • ClientRequestMfaToken=ConfigBoolFalse

Version 1.6.17 (26 janvier 2023)

Nouvelles fonctions et mises à jour

  • Mise à jour de golang.org/x/net/http2 vers la version 0.5.0.

Corrections de bogues

  • Amélioration des performances des requêtes à plusieurs instructions en ignorant les requêtes qui ne renvoient aucun compte de mise à jour.

  • Correction de la mise en cache de la connexion pour MFA et l’authentification externe du navigateur.

  • Ajout d’un verrou mutex à la carte des paramètres de configuration pour éviter les lectures/écritures simultanées lors de l’utilisation de plusieurs routines Go.