Bundle 2022_05¶
Unter diesem Thema werden die folgenden in diesem Monat vorgenommenen Verhaltensänderungen (falls vorhanden) beschrieben:
Features, die veraltet sind.
Gebündelte Änderungen, die aktiviert wurden.
Andere, nicht gebündelte Änderungen, die implementiert wurden.
Wenn Sie Fragen zu diesen Änderungen haben, wenden Sie sich an den Snowflake-Support.
Weitere Einzelheiten zu den in diesem Monat eingeführten neuen Features, Erweiterungen und Korrekturen finden Sie unter August 2022.
Wichtig
Sofern nicht anders angegeben, sind diese Änderungen in Bundle 2022_05 enthalten, das standardmäßig mit Release 6.29 aktiviert wurde.
Unter diesem Thema:
Sicherheitsänderungen¶
Schlüsselpaar-Authentifizierung: Ausstellungszeit darf maximal 1 Tag sein¶
Die Schlüsselpaar-Authentifizierung mit JSON Web Token (JWT) hat sich wie folgt geändert:
- Bisher:
JWT-Token zugelassen, deren Werte für Ausstellungszeit und Ablaufzeit in Sekunden angegeben sind. Bei Angabe dieser Werte in Millisekunden behandelte Snowflake den Millisekundenwert so, als ob es sich um Sekunden handeln würde.
JWT-Token zugelassen, deren Ausstellungzeit in der Zukunft liegt.
- Jetzt:
Ausstellungzeit und Ablaufzeit von JWT-Tokens können in Millisekunden oder Sekunden angegeben werden.
JWT-Token mit einer Ausstellungszeit, die in der Zukunft liegt, sind nicht mehr zulässig. Aktualisieren Sie gegebenenfalls Ihren Token-Generierungsprozess, um sicherzustellen, dass die Ausstellungzeit nicht in der Zukunft liegt.
SQL-Änderungen – Allgemein¶
Änderungen bei Transaktions-IDs und Zeitstempeln¶
Die Größe von Transaktion-IDs wurde erhöht, und die von ausgewählten Systemfunktionen zurückgegebenen Zeitstempel sind nun genauer:
- Bisher:
Transaktions-ID-Werte waren ungefähr 13 Ziffern lang.
Die Zeitstempel hatten eine Genauigkeit von einer Millisekunde.
- Jetzt:
Die Transaktions-ID ist eine vorzeichenbehaftete 64-Bit (lange) Ganzzahl (Integer). Der Wertebereich liegt zwischen
-9,223,372,036,854,775,808 (-263)
und9,223,372,036,854,775,807 (263 – 1)
.Die Zeitstempel werden auf eine Genauigkeit von einer Nanosekunde umgerechnet.
Diese Änderung hat folgende Auswirkungen:
Die Transaktion-IDs für die folgenden Befehle und Funktionen sind etwa eine Million Mal größer als die vorherigen Werte:
SHOW TRANSACTIONS (Spalte
id
)DESCRIBE TRANSACTION (Spalte
id
)CURRENT_TRANSACTION (Ausgabe der Funktion)
LAST_TRANSACTION (Ausgabe der Funktion)
SHOW LOCKS (Spalte
transaction
)
Die Genauigkeit der Zeitstempelausgabe wurde für die folgenden Systemfunktionen von Millisekunden in Nanosekunden geändert:
SYSTEM$LAST_CHANGE_COMMIT_TIME (Ausgabe der Funktion)
SYSTEM$STREAM_GET_TABLE_TIMESTAMP (Ausgabe der Funktion)
SQL-Änderungen – Befehle und Funktionen¶
Funktion GET_DDL: Änderungen bei der Ausgabe von Bezeichnern, die doppelte Anführungszeichen und Punkte enthalten¶
Mit diesem Release ändert sich die Ausgabe der Funktion GET_DDL wie folgt:
- Bisher:
GET_DDL gab Objekt- oder Spaltennamen nicht korrekt zurück, wenn die Zeichenfolgen doppelte Anführungszeichen enthielten. Wenn ein Name ein doppeltes Anführungszeichen enthielt, musste dem Anführungszeichen ein weiteres doppeltes Anführungszeichen vorangestellt werden, sodass die Zeichenfolge ein Paar doppelter Anführungszeichen enthielt. Die Funktion gab jedoch nur eines der doppelten Anführungszeichen zurück.
Beispiel: Eine Tabelle wurde
"foo""one"
genannt. Bei Ausführung von GET_DDL auf der Tabelle wurde fälschlicherweise"foo"one"
als Name der Tabelle zurückgegeben. Infolgedessen konnte die Funktionsausgabe nicht zur Wiederherstellung der Tabelle verwendet werden.Außerdem waren GET_DDL (und andere Funktionen, die vollqualifizierte Objektnamen als Zeichenfolge akzeptieren) nicht in der Lage, den angegebenen Namen zu analysieren, wenn in der Zeichenfolge am Anfang des Namens oder unmittelbar nach einem doppelten Anführungszeichen ein Punkt auftrat.
So wurden beispielsweise die folgenden Zeichenfolgen nicht als Objektnamen unterstützt:
".foo"
("
wird als Schemaname analysiert undFOO"
als Objektname)"public"".foo"
(public"
wird als Schemaname analysiert undFOO"
als Objektname)
- Jetzt:
GET_DDL gibt korrekt und erfolgreich Objekt- und Spaltennamen zurück, die doppelte Anführungszeichen enthalten.
Darüber hinaus ist GET_DDL (und andere Funktionen, die vollqualifizierte Objektnamen akzeptieren) in der Lage, angegebene Objektnamen zu analysieren, deren Zeichenfolge entweder am Anfang des Namens oder unmittelbar nach einem doppelten Anführungszeichen Punkte enthalten.
SQL-Änderungen – Nutzungsansichten & Information Schema-Ansichten/Tabellenfunktionen¶
Ansicht FUNCTIONS (Information Schema): Neue Spalten in Ansicht¶
Die Ausgabe der Information Schema-Ansicht FUNCTIONS enthält jetzt die folgenden neuen Spalten:
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
PACKAGES |
STRING |
Gibt die von der Funktion angeforderte Pakete an. |
RUNTIME_VERSION |
STRING |
Gibt die Laufzeitversion der Funktion an. NULL, wenn die Funktion in SQL oder Javascript geschrieben ist. |
INSTALLED_PACKAGES |
STRING |
Listet alle von der Funktion installierten Pakete auf. Ausgabe nur für Python-Funktionen. |
Änderungen bei Datenpipelines¶
Befehle DESCRIBE STREAM/SHOW STREAMS: Neue Spalte INVALID_REASON in Ausgabe¶
Die Ausgabe der Befehle DESCRIBE STREAM und SHOW STREAMS enthält jetzt die folgende zusätzliche Spalte:
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
INVALID_REASON |
STRING |
Gibt den Grund an, weshalb der Inhalt eines Streams nicht erfolgreich abgefragt werden kann. Diese Spalte wurde eingeführt, um zukünftige Funktionen zu unterstützen. Wenn die Spalte verwendet wird, ist N/A der einzige Rückgabewert. |
Um die Auswirkungen dieser Änderung zu begrenzen, wurde die Spalte als letzte Spalte der Ausgabe hinzugefügt.
Änderungen bei Data Lakes¶
Befehl SHOW EXTERNAL TABLES: Spalte LOCATION gibt für Datenverbraucher NULL zurück¶
Anbieter können neben anderen Datenbankobjekten auch externe Tabellen über Snowflake Secure Data Sharing in die Freigabe von Verbraucherkonten einbeziehen.
Wenn ein Benutzer mit einem Verbraucherkonto den Befehl SHOW EXTERNAL TABLES ausführt, hat sich die Ausgabe für freigegebene externe Tabellen wie folgt geändert:
- Bisher:
Die Spalte LOCATION enthielt für die externen Tabellen einer importierten Freigabe den in der Definition der externen Tabellen angegebenen externen Stagingbereich und den Ordnerpfad (d. h. dieselben Informationen, die für externe Tabellen des Verbraucherkontos zurückgegeben wurden).
- Jetzt:
Die Spalte LOCATION zeigt für externe Tabellen einer importierten Freigabe den Wert NULL an.
Änderungen an Snowflake-CLI, Konnektoren, Treibern und SQL-API¶
Snowflake SQL-API: Entfernung der älteren Endpunkte¶
Die veralteten Endpunkte der Snowflake SQL-API sind nicht mehr verfügbar. Dazu gehören die folgenden Endpunkte:
/api/statements/
/api/statements/<statementHandle>
/api/statements/<statementHandle>/cancel
Aufrufe dieser Endpunkte geben jetzt einen HTTP 404-Fehlercode zurück.
Sie müssen sicherstellen, dass Sie die neuere Version der SQL-API verwenden. Weitere Informationen dazu finden Sie unter „Allgemeine Informationen zu SQL-API-Endpunkten“.