Notes de version de JDBC Driver pour 2022

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

Version 3.13.26 (14 décembre 2022)

Nouvelles fonctions et mises à jour

  • Mise à niveau de la bibliothèque Arrow de la version 9.0.0 à la version 10.0.1.

  • Les fichiers de META-INF/versions ont été déplacés vers META-INF/versions/<numéro_de_version>/net/snowflake/client/jdbc/internal.

  • Ajout des méthodes getNano() et getOffset() à l’objet SnowflakeTimeWithTimezone pour renvoyer respectivement le nombre de nanosecondes et le décalage de fuseau horaire.

Version 3.13.25 (16 novembre 2022)

Changement BCR (version de changement de comportement)

Prudence

À partir de la version 3.13.25, le pilote JDBC de Snowflake remplace la valeur par défaut du paramètre allowUnderscoresInHost par false. Ce changement a un impact sur les clients PrivateLink dont les noms de compte contiennent des caractères de soulignement. Dans cette situation, vous devez remplacer la valeur par défaut en donnant à allowUnderscoresInHost la valeur true.

Nouvelles fonctions et mises à jour

  • Définissez la valeur par défaut du paramètre allowUnderscoresInHost sur false, qui convertit les traits de soulignement des noms de comptes en traits d’union afin d’éviter les erreurs de connexion httpclient d’Apache avec des traits de soulignement. Ce comportement peut être désactivé en définissant allowUnderscoresInHost sur true.

  • Mise à jour de la version de la bibliothèque aws-java-sdk-bom de 1.11.394 à 1.12.327.

  • Le paramètre enableReturnTimestampWithTimeZone a été ajouté pour définir si le fuseau horaire doit être inclus dans l’horodatage.

  • Ajout de messages d’avertissement pour chacun des chemins de retour d’erreur lors de l’analyse d’un fichier SnowflakeConnectString.

  • Ajout de virgules aux arguments de SnowflakeDatabaseMetaData.getColumn() pour améliorer la lisibilité.

  • Ajout de la prise en charge des procédures stockées.

Corrections de bogues

  • Correction d’un problème lié à l’utilisation de la commande GET lorsque GCS_USE_DOWNSCOPED_CREDENTIAL est vrai.

  • Correction d’un problème lié au retour des types de résultats lorsque le handle de la session est NULL.

Version 3.13.24 (28 octobre 2022)

Changement BCR (version de changement de comportement)

Prudence

La version 3.13.24 du pilote JDBC Snowflake modifie les valeurs de retour de Statement.getMoreResults() et Statement.getupdateCount(), comme décrit ci-dessous. Si vos projets sont affectés par des changements liés à ces fonctions, Snowflake vous recommande de ne pas installer cette version dans un environnement de production avant de l’avoir testée.

Nouvelles fonctions et mises à jour

  • Mise à niveau des bibliothèques suivantes :

    • Arrow de la version 8.0.0 à la version 9.0.0

    • jacksondatabind de la version 2.13.2.2 à la version 2.13.4.2

    • google-cloud-storage de la version 2.5.0 à 2.6.2

  • La fonction Statement.getMoreResults() renvoie désormais TRUE lorsqu’il y a plus d’instructions à parcourir dans une requête à plusieurs instructions.

  • La fonction Statement.getupdateCount() renvoie désormais 0 au lieu de -1 pour les requêtes non-DML.

Version 3.13.23 (30 septembre 2022)

Nouvelles fonctions et mises à jour

  • Activation du paramètre de parallélisme pour les commandes PUT/GET lors de l’utilisation d’Azure.

Corrections de bogues

  • Correction d’un problème avec NoClassDefFoundError dans les bibliothèques Google du pilote FIPs.

  • Correction d’une erreur qui survenait lors de l’obtention de procédures avec un compte de lecteur.

Version 3.13.22 (23 août 2022)

Nouvelles fonctions et mises à jour

  • Mise à jour de la bibliothèque tika-core vers la version 2.4.1.

  • Ajout de la prise en charge du nouveau OIE Okta (Okta Identity Engine).

Corrections de bogues

  • Correction d’un problème où getColumnClassName() levait une exception lorsque le type de colonne était timestamp_tz.

  • Correction d’un problème où l’appel à getSQLStateType() lève une exception lors de la récupération des métadonnées de la base de données.

  • Correction d’un problème où l’appel à executeLargeBatch() pour des instructions préparées pouvait entraîner l’absence d’insertion de lignes.

  • Correction d’une erreur où QueryStatus pouvait renvoyer des codes d’erreur et des messages non valides.

  • Correction d’une exception de pointeur nul qui se produisait parfois pour les clients sans session.

Version 3.13.21 (13 juillet 2022)

Nouvelles fonctions et mises à jour

  • Ajout de la fonction getStreams à l’objet SnowflakeDatabaseMetaData pour dresser la liste des flux actifs.

  • Mise à jour de la valeur maximale de répétition de la mémoire de préextraction afin d’améliorer les performances de téléchargement des morceaux.

Corrections de bogues

  • Correction d’un problème de fuite de mémoire avec l’objet instruction dans la fonction snowflakeConnectionV1::createResultSet.

  • Correction d’un problème de fuite de mémoire avec les jeux de résultats Arrow.

  • Correction d’un problème de données manquantes dans le téléchargeur de morceaux JDBC.

Version 3.13.20 (23 juin 2022)

Nouvelles fonctionnalités

  • Mise en place d’une fonctionnalité d’échec rapide pour les erreurs 404 renvoyées par Amazon S3.

  • Mise à jour de la dépendance suivante dans le pilote JDBC :

    • Arrow de 7.0.0 vers 8.0.0

  • Mise à niveau des versions suivantes de la bibliothèque Google :

    • google-auth-library de 0.9.0 vers 1.5.3

    • google-cloud-storage de 1.82.0 vers 2.5.0.

    • versions google api client de 1.30.10 vers 1.33.2

    • versions client http google de 1.36.0 vers 1.41.4

Version 3.13.19 (25 mai 2022)

Nouvelles fonctionnalités

  • Mise à jour de la fonction isValid() afin d’envoyer un appel Heartbeat au lieu de SELECT 1 pour valider la connexion de la session.

  • Ajout de la prise en charge de la définition de tableaux VARBINARY byte[] dans la fonction SnowflakePreparedStatement.setObject().

  • Mise à jour des dépendances suivantes dans le pilote JDBC :

    • arrow de 0.15.1 vers 7.0.0

    • jackson de 2.11.0 vers 2.13.2

    • bouncy de 1.64 vers 1.70

Corrections de bogues

  • Correction d’un problème avec TIMESTAMP_INPUT_FORMAT pour la liaison de zone de préparation.

Version 3.13.18 (18 mai 2022)

Nouvelles fonctionnalités

  • Mise à niveau des bibliothèques Arrow et jackson.

Corrections de bogues

Arrêt de l’ajout de retryCount à une URL scopée pour le téléchargement de morceaux.

Version 3.13.17 (14 avril 2022)

Nouvelles fonctionnalités

  • Ajout de getters pour timezone et ZonedDateTime pour l’objet SnowflakeTimestampWithTimezone.

Corrections de bogues

  • Création d’un correctif pour la version 3.13.16 du pilote qui corrige le comportement incorrect de la fonction getSchemas().

  • Correction de la définition des paramètres JVM non valides de proxyHost et proxyPort.

Version 3.13.16 (17 mars 2022)

Corrections de bogues

  • Correction d’un problème où la définition du paramètre nonProxyHosts n’était pas respectée.

Version 3.13.15 (21 février 2022)

Corrections de bogues

  • Refonte de la fonction isFileTransfer dans la classe de base.

  • Refonte des classes de façade de FileTransferAgent en classe de base

  • Correction d’un problème de segmentation dans les applications Graal VM Native Image.

  • Correction d’un problème qui entraînait le blocage de ChunkDownloader.

Version 3.13.14 (21 janvier 2022)

Corrections de bogues

  • Ajout de métadonnées relatives à l’ingestion en continu pour la facturation de l’ingestion en continu.

  • Version mise à jour de BC FIPS dans le POM public.

Version 3.13.13 (18 janvier 2022)

Corrections de bogues

  • Correction d’un problème où le pilote JDBC ne mettait pas à jour stageInfo pour les informations liées à s3RegionalURL.

  • Correction d’un problème avec les noms de comptes contenant des traits de soulignement.

  • Correction d’un problème où un jeu de résultats vide était renvoyé pour les schémas contenant des guillemets doubles lors de l’appel de getTables() ou getColumns().

  • Correction d’un problème où getProcedureColumns() ne fonctionnait pas avec les caractères génériques.