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épertoiretemp
au répertoirehome
.
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
etmaxHttpRetries
et modification de la valeur par défaut deloginTimeout
à 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
versDATE
.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
deJsonNode
dansgetStageInfo
.
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 versSfBaseSession
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
etexecuteQuery
. Désormais, le pilote JDBC limite les tentatives HTTP à sept, par défaut. Les clients peuvent définir le paramètre de sessionmaxHttpRetries
pour personnaliser le nombre maximal de tentatives. Les clients peuvent configurermaxHttpRetries=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 renvoieFALSE
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
dansDefaultResultStreamProvider.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 uneClosedByInterruptException
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 lorsqueuseSessionTimezone
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
avecjdbc_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 unresultset
à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’optionoverwrite=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 valeurSQL 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
etURLEncoder
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 fonctionmetaData.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 fonctiongetProcedureColumns()
etgetFunctionColumns()
.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.