Notes de version de JDBC Driver pour 2023

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.14.4 (07 décembre 2023)

Nouvelles fonctions et mises à jour

  • Aucun.

Corrections de bogues

  • Correction d’une NullPointerException qui se produisait lorsque la clé de propriété gzipDisabled n’avait pas de valeur.

  • Correction d’un problème de sécurité concernant la journalisation liée au répertoire temp :

    • La journalisation n’accède plus au répertoire temporaire.

    • La valeur logpath par défaut est passée du répertoire temp au répertoire home.

  • Correction d’un problème où le pilote échouait sur JDK v21 avec Arrow.

Version 3.14.3 (07 novembre 2023)

Nouvelles fonctions et mises à jour

  • Mise à niveau des bibliothèques suivantes :

    • org.codehaus.plexus:plexus-archiver de 2.4.4 à 4.8.0

    • org.codehaus.plexus:plexus-archiver de 2.6 à 4.8.0

    • org.bouncycastle:bc-fips de 1.0.2.1 à 1.0.2.4

    • aws-java-sdk à 1.12.501

    • jackson à 2.15.3

    • netty à 4.1.100.Final

    • grpc à 1.59.0

  • Ajout de la propriété de connexion enablePutGet pour déterminer si les commandes PUT et GET doivent avoir accès aux systèmes de fichiers locaux.

  • Ajout d’un support pour la gestion de la fréquence des tentatives pour les requêtes de connexion ayant échoué :

    • Ajout du paramètre retryTimeout avec une valeur par défaut de 300 secondes.

    • Mise à jour de la façon dont le pilote utilise les paramètres de connexion loginTimeout et maxHttpRetries et modification de la valeur par défaut de loginTimeout à 300 secondes.

Corrections de bogues

  • Correction d’un problème lié à NoSuchMethodError lors de l’utilisation de snowflake-ingest-sdk 2.0.3.

  • Correction d’un problème dans la gestion des conversions de types de données NULL vers DATE.

  • Correction d’un problème lié au jeton Downscope GCP.

Version 3.13.34 (25 octobre 2023)

Nouvelles fonctions et mises à jour

  • Aucun.

Corrections de bogues

  • Correction d’un problème lié à l’échec des commandes PUT avec un jeton Downscope GCP dans snowflake-jdbc-fips.

Version 3.14.2 (02 octobre 2023)

Nouvelles fonctions et mises à jour

  • Aucun.

Corrections de bogues

  • Correction d’un problème où le pilote n’honorait pas useS3RegionUrl de JsonNode dans getStageInfo.

Version 3.14.1 (24 août 2023)

Nouvelles fonctions et mises à jour

  • Ajout de la possibilité d’envoyer des en-têtes optionnels à partir des méthodes util.

  • La fonction getQueryStatus a été déplacée vers SfBaseSession pour prendre en charge les appels asynchrones dans les procédures stockées.

Corrections de bogues

  • Correction d’un problème où le pilote n’envoyait pas l’intégralité de l’URL OSCP pour les liens privés.

Version 3.14.0 (27 juillet 2023)

Changement BCR (version de changement de comportement)

  • Correction d’un problème où, dans certaines conditions, le pilote JDBC pouvait réessayer indéfiniment les requêtes HTTP.

    Auparavant, lors d’une panne, le pilote JDBC réessayait continuellement l’appel HTTP qui avait échoué, jusqu’à ce que la demande aboutisse ou que quelqu’un force l’annulation de l’opération.

    Cette modification permet de désactiver les tentatives de relance infinies de HTTP à partir des appels execute et executeQuery. Désormais, le pilote JDBC limite les tentatives HTTP à sept, par défaut. Les clients peuvent définir le paramètre de session maxHttpRetries pour personnaliser le nombre maximal de tentatives. Les clients peuvent configurer maxHttpRetries=0 pour supprimer la limite de tentatives, mais ils courent ainsi le risque que le pilote JDBC relance indéfiniment les appels HTTP qui ont échoué.

Nouvelles fonctions et mises à jour

  • Ajout de la propriété de session CLIENT_OUT_OF_BAND_TELEMETRY_ENABLED pour vous permettre de désactiver la télémétrie OOB.

  • Amélioration de la gestion des appels de la fonction locatorsUpdateCopy(). Désormais, le pilote renvoie FALSE au lieu de lever une exception.

  • Mise à jour de la gestion des erreurs 400 Bad Request pour les clients S3 et ajout de la propriété de connexion putGetMaxRetries pour configurer le nombre maximum de tentatives pour les exceptions PUT/GET pour les clients de stockage (par défaut : 7).

  • Ajout de la prise en charge de httpMaxRetries dans DefaultResultStreamProvider.getResultChunk() pour améliorer les performances de téléchargement des morceaux.

Corrections de bogues

  • Correction d’un problème où le pilote levait incorrectement des exceptions de pointeur nul (NPEs) lors de l’appel de driver.getPropertyInfo().

  • Correction d’un problème où reader.LoadNextBatch() lançait occasionnellement une ClosedByInterruptException lors de la lecture du flux Arrow.

  • Correction d’un problème où le pilote JDBC utilisait les mauvais paramètres proxy pour les clients S3.

  • Correction d’un problème où la fonction downloadStream() refusait les noms de fichiers contenant des caractères japonais.

  • Correction d’un problème où « ~ » n’était pas autorisé dans les chemins des fichiers PUT/GET.

  • Correction d’un problème qui faisait que le pilote levait une InvalidPathException lorsqu’un chemin de fichier Windows incluait le préfixe file:// pour l’enregistrement des fichiers de configuration.

Version 3.13.33 (14 juin 2023)

Nouvelles fonctions et mises à jour

  • Aucun.

Corrections de bogues

  • Traitez les exceptions de MessageFormat.format en douceur.

Version 3.13.32 (26 mai 2023)

Nouvelles fonctions et mises à jour

  • Aucun.

Corrections de bogues

  • Correction d’un bogue introduit dans la version 3.13.31 qui affecte Java Runtime 8.

Version 3.13.31 (25 mai 2023)

Note

Veuillez effectuer des mises à jour vers les versions les plus récentes, en particulier si vous constatez un bogue affectant Java Runtime 8.

Nouvelles fonctions et mises à jour

  • Traitement transactionnel/analytique hybride amélioré (HTAP).

  • Mise à niveau de la bibliothèque org.apache.httpcomponents:httpclient vers la version 4.5.13 pour intégrer une mise à jour de sécurité.

Corrections de bogues

  • Correction d’un problème qui faisait que les tentatives d’authentification n’aboutissaient pas pour les demandes de téléchargement de morceaux.

  • Correction d’un problème concernant l’analyse du fichier de configuration sous Windows.

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

  • Amélioration du message d’erreur affiché lorsqu’une connexion est interrompue en raison d’erreurs SSL/TLS.

  • Correction d’un problème où la fonction getTime() renvoyait une heure basée sur le mauvais fuseau horaire lorsque useSessionTimezone est activé.

  • Correction d’un problème où les caractères nuls ASCII et les caractères de contrôle étaient supprimés de manière aléatoire d’un resultset avec jdbc_query_result_format=JSON.

Version 3.13.30 (18 avril 2023)

Nouvelles fonctions et mises à jour

  • Mise à niveau des bibliothèques logicielles suivantes :

    • slf4j-api de la version 1.7.25 à la version 2.0.6.

    • logback-classic de la version 1.2.3 à la version 1.3.6.

  • Modification du non critique « SEVERE : La requête HTTP a duré plus de 5 minutes » d’un message d’erreur à un message d’avertissement.

  • Ajout de la propriété http.proxyProtocol pour les paramètres du proxy JVM.

Corrections de bogues

  • Correction d’un problème qui faisait que les tentatives d’authentification n’aboutissaient pas pour les demandes de téléchargement de morceaux.

  • Correction d’un problème où les identifiants de connexion étaient visibles dans les exceptions lorsqu’une URL de connexion n’aboutissait pas.

  • Correction d’une fuite de mémoire causée par la vérification de isClosed() avant d’ajouter un resultset à openResultSets.

  • Correction d’une erreur où un message d’erreur d’assertion SAML2 trompeur était envoyé lorsque hostnames ne correspondait pas.

  • Correction d’un problème avec les requêtes OSCP codées en URL.

  • Correction d’un problème où la fonction SnowflakeFileTransferAgent.uploadStream() ne gérait pas correctement l’option overwrite=false.

  • Correction d’un problème où la méthode metadata.etTableTypes() renvoyait les mauvais types de tables.

  • Mise à jour du pilote pour exposer le message d’erreur SQL dans un message d’exception déclenché lorsque des appels de requête asynchrones entrainaient l’échec de la requête et une exception.

  • Ajout d’une vérification pour les rares cas où les appels de la colonne get procedure renvoient un jeu de résultats vide.

  • Modification du niveau d’avertissement en débogage/informations pour les messages de journalisation relatifs aux erreurs d’analyse de SnowflakeConnectionString.

  • Correction d’un problème où le pilote JDBC réessayait les requêtes qui échouaient avec SSLHandshakeException.

  • Ajout de la prise en charge de la propriété système snowflake.jdbc.enable.illegalAccessWarning pour permettre aux utilisateurs de désactiver les avertissements d’accès illégal.

  • Correction d’un problème qui faisait que les messages d’erreur du fichier de chargement gsc affichaient des informations erronées.

  • Modification de la valeur TTL par défaut pour fermer une connexion inactive après 60 secondes.

  • Correction d’un problème d’ID d’instructions préparées en supprimant les appels à describe supplémentaires.

Version 3.13.29 (17 mars 2023)

Nouvelles fonctions et mises à jour

  • Aucun.

Corrections de bogues

  • Correction d’un problème où des noms de type de colonne incorrects étaient renvoyés pour les métadonnées de colonne de la procédure stockée lorsque USE_STATEMENT_TYPE_CALL_FOR_STORED_PROC_CALLS=true.

  • Correction d’un problème qui faisait que le pilote JDBC réessayait une requête GET lorsqu’un fichier ne pouvait pas être téléchargé en raison d’un manque d’espace sur le système de fichiers cible. Dans cette situation, le pilote lance une exception.

  • Correction d’un problème où le pilote JDBC réessayait les requêtes sur les clients Azure lorsqu’une erreur de ressource 404 se produisait. Dans cette situation, le pilote lance une exception.

  • Pour se protéger contre les attaques par injection de SQL, le pilote JDBC échappe désormais les guillemets dans les arguments de recherche de motifs de l’API DatabaseMetadata.

  • Correction d’un problème où les appels de getClob() levaient une NullPointerException lorsqu’une colonne contenait une valeur NULL. Désormais, le pilote renvoie NULL lorsqu’une colonne contient une valeur SQL NULL.

  • Correction d’un problème où le pilote JDBC 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.

Version 3.13.28 (22 février 2023)

Nouvelles fonctions et mises à jour

  • Aucun.

Corrections de bogues

  • Ajout de la prise en charge du type de données GEOMETRY dans l’énumération SnowflakeType afin de résoudre un problème survenu lors de l’appel de la fonction metaData.getColumns() pour renvoyer des métadonnées contenant des données GEOMETRY.

  • Correction d’un problème de nouvelles tentatives dans GCP uploadStream qui provoquaient des chargements partiels de fichiers lorsque JDBC tentait incorrectement de réessayer le chargement d’un flux d’entrée.

  • Correction d’un problème avec les fonctions et procédures stockées qui renvoyaient un resultset pour les appels de fonction getProcedureColumns() et getFunctionColumns().

  • Correction d’un problème qui faisait que StreamLoader générait des messages de journal excessifs.

Version 3.13.27 (30 janvier 2023)

Nouvelles fonctions et mises à jour

  • Aucun

Corrections de bogues

  • Correction d’une condition de course qui se produisait occasionnellement lors des opérations GET et PUT.

  • Correction d’un problème où l’utilisation de l’authentification Okta échouait lors de la réception d’une erreur HTTP 429.