JDBC Driver-Versionshinweise 2023

Dieser Artikel enthält die Versionshinweise für JDBC Driver, einschließlich der folgenden, sofern zutreffend:

  • Verhaltensänderungen

  • Neue Features

  • Fehlerkorrekturen für Kunden

Snowflake verwendet semantische Versionierung für JDBC Driver-Aktualisierungen.

Version 3.14.4 (07. Dezember 2023)

Neue Features und Aktualisierungen

  • Keine.

Fehlerkorrekturen

  • NullPointerException wurde behoben, die auftrat, wenn der Schlüssel der Eigenschaft gzipDisabled keinen Wert hatte.

  • Sicherheitsproblem bei der Protokollierung im Zusammenhang mit dem Verzeichnis temp wurde behoben:

    • Die Protokollierung greift nicht mehr auf das „temp“-Verzeichnis zu.

    • Der Standardwert logpath wurde vom Verzeichnis temp in das Verzeichnis home geändert.

  • Ein Problem wurde behoben, bei dem der Treiber von JDK v21 mit Arrow fehlschlug.

Version 3.14.3 (07. November 2023)

Neue Features und Aktualisierungen

  • Folgende Bibliotheken wurden aktualisiert:

    • org.codehaus.plexus:plexus-archiver von 2.4.4 auf 4.8.0

    • org.codehaus.plexus:plexus-archiver von 2.6 auf 4.8.0

    • org.bouncycastle:bc-fips von 1.0.2.1 auf 1.0.2.4

    • aws-java-sdk auf 1.12.501

    • jackson auf 2.15.3

    • netty bis 4.1.100.Final

    • grpc auf 1.59.0

  • Die Verbindungseigenschaft enablePutGet wurde hinzugefügt, um festzulegen, ob die Befehle PUT und GET Zugriff auf lokale Dateisysteme erhalten sollen.

  • Unterstützung für die Verwaltung der Häufigkeit von Wiederholungsversuchen bei erfolglosen Verbindungsanforderungen hinzugefügt:

    • Parameter retryTimeout wurde mit einem Standardwert von 300 Sekunden hinzugefügt.

    • Verwendung der Verbindungsparameter loginTimeout und maxHttpRetries durch den Treiber wurde aktualisiert und der Standardwert von loginTimeout auf 300 Sekunden geändert.

Fehlerkorrekturen

  • Problem im Zusammenhang mit NoSuchMethodError bei Verwendung von snowflake-ingest-sdk 2.0.3 wurde behoben.

  • Problem bei der Umwandlung des Datentyps NULL in DATE behoben.

  • Problem mit GCP-Downscope-Token behoben.

Version 3.13.34 (25. Oktober 2023)

Neue Features und Aktualisierungen

  • Keine.

Fehlerkorrekturen

  • Problem im Zusammenhang mit fehlgeschlagenen PUT-Befehlen mit einem GCP-Downscope-Token in snowflake-jdbc-fips behoben.

Version 3.14.2 (02. Oktober 2023)

Neue Features und Aktualisierungen

  • Keine.

Fehlerkorrekturen

  • Problem behoben, bei dem der Treiber die useS3RegionUrl von JsonNode in getStageInfo nicht beachtet hat.

Version 3.14.1 (24. August 2023)

Neue Features und Aktualisierungen

  • Möglichkeit hinzugefügt, optionale Header aus den util-Methoden zu senden.

  • Funktion getQueryStatus in SfBaseSession verschoben, um asynchrone Aufrufe in gespeicherten Prozeduren zu unterstützen.

Fehlerkorrekturen

  • Problem behoben, bei dem der Treiber nicht die gesamte OSCP-URL für private Links gesendet hat.

Version 3.14.0 (27. Juli 2023)

Änderung in Verhaltensänderungs-Release (BCR)

  • Problem behoben, bei dem der JDBC-Treiber unter bestimmten Bedingungen HTTP-Anforderungen unbegrenzt wiederholen konnte.

    Bisher hat der JDBC-Treiber die während eines Ausfalls fehlgeschlagene HTTP-Anforderung so lange wiederholt, bis sie erfolgreich war oder bis jemand das Beenden der Operation erzwungen hat.

    Mit dieser Änderung werden endlose HTTP-Wiederholungsversuche, die von execute- und executeQuery-Aufrufen ausgehen, deaktiviert. Der JDBC-Treiber begrenzt wiederholte HTTP-Versuche jetzt standardmäßig auf sieben Wiederholungen. Kunden können über den Sitzungsparameter maxHttpRetries die maximale Anzahl der Wiederholungsversuche selbst festlegen. Kunden können maxHttpRetries=0 einstellen, wodurch das Limit für die Wiederholungsversuche aufgehoben wird. Dabei besteht jedoch die Gefahr, dass der JDBC-Treiber fehlgeschlagene HTTP-Anforderungen unendlich oft wiederholt.

Neue Features und Aktualisierungen

  • Sitzungseigenschaft CLIENT_OUT_OF_BAND_TELEMETRY_ENABLED wurde hinzugefügt, mit der Sie die OOB-Telemetrie deaktivieren können.

  • Handhabung von locatorsUpdateCopy() Funktionsaufrufen verbessert. Der Treiber gibt nun FALSE zurück, anstatt eine Ausnahme auszulösen.

  • Behandlung von „400 Bad Request“-Fehlern für S3-Clients aktualisiert und Verbindungseigenschaft putGetMaxRetries zum Konfigurieren der maximalen Anzahl von Wiederholungsversuchen für PUT/GET-Ausnahmen für Speicherclients hinzugefügt (Standard: 7).

  • Unterstützung von httpMaxRetries zu DefaultResultStreamProvider.getResultChunk() hinzugefügt, um Performance beim Herunterladen von Blöcken zu verbessern.

Fehlerkorrekturen

  • Problem behoben, bei dem der Treiber bei Aufruf von driver.getPropertyInfo() fälschlicherweise Nullzeiger-Ausnahmen (NPEs) auslöste.

  • Problem behoben, bei dem reader.LoadNextBatch() beim Lesen des Arrow-Streams gelegentlich eine ClosedByInterruptException-Ausnahme auslöste.

  • Problem behoben, bei dem der JDBC-Treiber falsche Proxyeinstellungen für S3-Clients verwendete.

  • Problem behoben, bei dem die Funktion downloadStream() Dateinamen mit japanischen Zeichen nicht zuließ.

  • Problem behoben, bei dem „~“ in PUT/GET-Dateipfaden nicht erlaubt war.

  • Problem behoben, bei dem der Treiber eine InvalidPathException-Ausnahme ausgelöst hat, wenn ein Windows-Dateipfad das Präfix file:// für das Protokollieren von Konfigurationsdateien enthielt.

Version 3.13.33 (14. Juni 2023)

Neue Features und Aktualisierungen

  • Keine.

Fehlerkorrekturen

  • MessageFormat.format-Ausnahmen werden sorgfältig verarbeitet.

Version 3.13.32 (26. Mai 2023)

Neue Features und Aktualisierungen

  • Keine.

Fehlerkorrekturen

  • Fehler behoben, der in 3.13.31 eingeführt wurde und Java Runtime 8 betraf.

Version 3.13.31 (25. Mai 2023)

Bemerkung

Aktualisieren Sie auf neuere Versionen, insbesondere, wenn Sie einen Fehler feststellen, der Java Runtime 8 betrifft.

Neue Features und Aktualisierungen

  • Hybride transaktionale/analytische Verarbeitung (HTAP) verbessert.

  • Bibliothek org.apache.httpcomponents:httpclient wurde auf Version 4.5.13 aktualisiert, um ein Sicherheitsupdate bereitzustellen.

Fehlerkorrekturen

  • Problem behoben, bei dem die Authentifizierungsversuche bei Anfragen zum Herunterladen von Blöcken eine Zeitüberschreitung zur Folge hatten.

  • Problem beim Parsen der Konfigurationsdatei unter Windows wurde behoben.

  • Ein int64-Überlaufproblem mit großen oder kleinen datetime -Werten wurde behoben.

  • Fehlermeldung verbessert, die angezeigt wird, wenn eine Verbindung aufgrund von SSL/TLS-Fehlern abgebrochen wird.

  • Problem behoben, bei dem die Funktion getTime() eine Zeit basierend auf der falschen Zeitzone zurückgab, wenn useSessionTimezone aktiviert war.

  • Problem behoben, bei dem ASCII Null-Zeichen und Kontrollzeichen wahllos von einem resultset mit jdbc_query_result_format=JSON gelöscht wurden.

Version 3.13.30 (18. April 2023)

Neue Features und Aktualisierungen

  • Folgende Software-Bibliotheken wurden aktualisiert:

    • slf4j-api von Version 1.7.25 auf Version 2.0.6.

    • logback-classic von Version 1.2.3 auf Version 1.3.6.

  • Die nicht kritische Meldung „SEVERE: HTTP request took longer than 5 min“ wurde von einer Fehlermeldung in eine Warnmeldung umgewandelt.

  • Eigenschaft http.proxyProtocol für JVM-Proxy-Einstellungen wurde hinzugefügt.

Fehlerkorrekturen

  • Problem behoben, bei dem die Authentifizierungsversuche bei Anfragen zum Herunterladen von Blöcken eine Zeitüberschreitung zur Folge hatten.

  • Problem behoben, bei dem Anmeldeinformationen in Ausnahmen sichtbar waren, wenn die Verbindungs-URL nicht getrennt wurde.

  • Problem mit Arbeitsspeicherverlusten behoben, bei dem isClosed() überprüft wurde, bevor ein resultset zu openResultSets hinzugefügt wurde.

  • Problem behoben, bei dem eine irreführende SAML2-Assertion-Fehlermeldung gesendet wurde, wenn hostnames-Werte nicht übereinstimmten.

  • Problem mit URL-kodierten OSCP-Anfragen wurde behoben.

  • Problem behoben, bei dem die Funktion SnowflakeFileTransferAgent.uploadStream() die Option overwrite=false nicht korrekt verarbeitet hat.

  • Problem behoben, bei dem die Methode metadata.etTableTypes() die falschen Tabellentypen zurückgab.

  • Treiber wurde so aktualisiert, dass die SQL-Fehlermeldung in einer Ausnahmemeldung angezeigt wird, die ausgelöst wird, wenn asynchrone Abfrageaufrufe zu einer fehlgeschlagenen Abfrage und einer Ausnahme führen.

  • Prüfung für die seltenen Fälle hinzugefügt, in denen „get procedure“-Spaltenaufrufe ein leeres Resultset zurückgeben.

  • Die Warnstufe für Protokollmeldungen im Zusammenhang mit SnowflakeConnectionString-Parsingfehlern wurde in „Debug/Info“ geändert.

  • Problem behoben, bei dem der JDBC-Treiber Anforderungen, die mit SSLHandshakeException fehlgeschlagen sind, wiederholt hat.

  • Unterstützung der Systemeigenschaft snowflake.jdbc.enable.illegalAccessWarning wurde hinzugefügt, damit Benutzer Warnungen vor illegalem Zugriff deaktivieren können.

  • Problem behoben, bei dem Fehlermeldungen zum Hochladen von Dateien zur GSC die falschen Informationen anzeigten.

  • TTL-Standardwert wurde geändert, um eine inaktive Verbindung nach 60 Sekunden zu schließen.

  • Problem mit der vorbereiteten Anweisungs-ID wurde behoben, indem zusätzliche DESCRIBE-Aufrufe entfernt wurden.

Version 3.13.29 (17. März 2023)

Neue Features und Aktualisierungen

  • Keine.

Fehlerkorrekturen

  • Problem behoben, bei dem falsche Spaltentypnamen für die Spaltenmetadaten einer gespeicherten Prozedur zurückgegeben wurden, wenn USE_STATEMENT_TYPE_CALL_FOR_STORED_PROC_CALLS=true.

  • Problem behoben, bei dem JDBC eine GET-Anforderung wiederholte, wenn eine Datei nicht heruntergeladen werden konnte, weil der Speicherplatz des Zieldateisystems nicht ausreichte. Der Treiber löst in dieser Situation eine Ausnahme aus.

  • Problem behoben, bei dem JDBC Anforderungen auf Azure-Clients wiederholte, wenn ein 404-Ressourcenfehler auftrat. Der Treiber löst in dieser Situation eine Ausnahme aus.

  • Zum Schutz vor Einschleusung von SQL-Befehlen ersetzt der JDBC-Treiber jetzt Anführungszeichen in den Mustersuchargumenten der DatabaseMetadata-API.

  • Problem behoben, bei dem „getClob()“-Aufrufe eine NullPointerException-Ausnahme auslösten, wenn eine Spalte einen NULL-Wert enthielt. Jetzt gibt der Treiber NULL zurück, wenn die Spalte einen SQL NULL-Wert enthält.

  • Problem behoben, bei dem der JDBC-Treiber eine SSO-URL vor dem Ausführen nicht validieren konnte. Jetzt verwendet der Treiber die Dienstprogramme URLValidator und URLEncoder, um die URL zu validieren und zu kodieren.

Version 3.13.28 (22. Februar 2023)

Neue Features und Aktualisierungen

  • Keine.

Fehlerkorrekturen

  • Unterstützung von Datentyp GEOMETRY in SnowflakeType-Typ „enum“ hinzugefügt, um Problem zu beheben, das auftrat, wenn die Funktion metaData.getColumns() aufgerufen wurde, um Metadaten zurückzugeben, die GEOMETRY-Daten enthielten.

  • Wiederholungsproblem in GCP-„uploadStream“ behoben, das zu teilweisen Datei-Uploads führte, wenn JDBC fälschlicherweise versuchte, das Hochladen eines Eingabestreams zu wiederholen.

  • Problem mit gespeicherten Funktionen und Prozeduren behoben, das bei Aufruf der Funktionen getProcedureColumns() und getFunctionColumns() ein resultset zurückgab.

  • Problem behoben, das dazu führte, dass StreamLoader übermäßig viele Protokollmeldungen generierte.

Version 3.13.27 (30. Januar 2023)

Neue Features und Aktualisierungen

  • Keine

Fehlerkorrekturen

  • Racebedingung behoben, die gelegentlich während der Operationen GET und PUT auftrat.

  • Problem behoben, bei dem die Okta-Authentifizierung fehlschlug, wenn ein HTTP-429-Fehler auftrat.