Bundle 2022_05¶
Ce chapitre décrit les changements de comportement suivants (le cas échéant) pour le mois :
Les fonctionnalités devenues obsolètes.
Les changements groupés qui ont été activés.
Les autres changements non groupés qui ont été mis en œuvre.
Si vous avez des questions sur ces modifications, veuillez contacter le support Snowflake.
Pour obtenir des détails sur les nouvelles fonctionnalités, les améliorations et les corrections introduites ce mois-ci, voir Août 2022.
Important
Sauf indication contraire, ces modifications sont présentes dans le bundle 2022_05, qui a été activé par défaut dans la version 6.29.
Dans ce chapitre :
Changements en matière de sécurité¶
Authentification de la paire de clés : Le délai d’émission doit être d’un jour ou moins¶
L’authentification par paire de clés avec JSON jetons web (JWT) a été modifiée comme suit :
- Précédemment:
JWT jetons autorisés avec une heure d’émission et une heure d’expiration à soumettre en secondes. Si ces valeurs étaient soumises en millisecondes, Snowflake traitait la valeur en millisecondes comme s’il s’agissait de secondes.
JWT jetons autorisés avec des temps d’émission dans le futur.
- Actuellement:
JWT Les jetons sont désormais autorisés avec une heure d’émission et une heure d’expiration en millisecondes ou en secondes.
JWT les jetons ne sont plus autorisés avec un temps d’émission dans le futur. Si nécessaire, mettez à jour votre processus de génération de jetons pour vous assurer que la valeur de l’heure d’émission ne se situe pas dans le futur.
Changements SQL — Général¶
Modifications de la transaction IDs et des horodatages¶
La taille des transactions IDs a augmenté et les horodatages renvoyés par les fonctions du système de sélection ont gagné en précision :
- Précédemment:
Les valeurs des transactions ID comportaient environ 13 chiffres.
Les horodatages avaient une précision de l’ordre de la milliseconde.
- Actuellement:
L’ID de transaction est un entier signé de 64 bits (de long). La plage de valeurs est
-9,223,372,036,854,775,808 (-263)
à9,223,372,036,854,775,807 (263 – 1)
.Les horodatages sont convertis avec une précision en nanosecondes.
Cette modification a l’impact suivant :
Les transactions IDs pour les commandes et fonctions suivantes sont plus grandes d’environ un million de fois leurs valeurs précédentes :
SHOW TRANSACTIONS (
id
colonne)DESCRIBE TRANSACTION (
id
colonne)CURRENT_TRANSACTION (sortie de la fonction)
LAST_TRANSACTION (sortie de la fonction)
SHOW LOCKS (
transaction
colonne)
La sortie de l’horodatage pour les fonctions système suivantes a été convertie de la milliseconde à la nanoseconde :
SYSTEM$LAST_CHANGE_COMMIT_TIME (sortie de la fonction)
SYSTEM$STREAM_GET_TABLE_TIMESTAMP (sortie de la fonction)
Changements SQL — Commandes et fonctions¶
Fontion GET_DDL: modifications de la sortie pour les identificateurs contenant des guillemets et des points¶
La sortie de la fonction GET_DDL a changé comme suit :
- Précédemment:
GET_DDL ne retournait pas correctement les noms d’objets ou de colonnes si les chaînes de caractères contenaient des guillemets. Si un nom contenait un guillemet, celui-ci devait être précédé d’une autre guillemet, ce qui faisait que la chaîne de caractères contenait une paire de guillemets ; cependant, la fonction ne renvoyait qu’un seul des guillemets.
Par exemple, une table était nommée
"foo""one"
. L’exécution de GET_DDL sur la table retournait à tort"foo"one"
comme nom de la table. Par conséquent, la sortie de la fonction ne pouvait pas pu être utilisée pour recréer le tableau.De plus, GET_DDL (et d’autres fonctions qui acceptent des noms d’objets entièrement qualifiés sous forme de chaînes) ne pouvaient pas analyser le nom spécifié si un point se trouvait soit au début du nom, soit immédiatement après un guillemet dans la chaîne.
Par exemple, les chaînes de caractères suivantes n’étaient pas prises en charge comme noms d’objets :
".foo"
("
analysé comme le nom du schéma etFOO"
comme le nom de l’objet)"public"".foo"
(public"
analysé comme le nom du schéma etFOO"
comme le nom de l’objet)
- Actuellement:
GET_DDL renvoie correctement et avec succès les noms d’objets et de colonnes qui contiennent des guillemets.
De plus, GET_DDL (et les autres fonctions qui acceptent les noms d’objets entièrement qualifiés) sont capables d’analyser les noms d’objets spécifiés qui contiennent des points soit au début du nom, soit immédiatement après un guillemet dans la chaîne.
Changements SQL — Vues d’utilisation et vues Information Schema/Fonctions de table¶
FUNCTIONS Vue (Information Schema) : nouvelles colonnes dans la vue¶
La sortie de la vue Information Schema FUNCTIONS comprend maintenant les nouvelles colonnes suivantes :
Nom de la colonne |
Type de données |
Description |
---|---|---|
PACKAGES |
STRING |
Spécifie les packages demandés par la fonction. |
RUNTIME_VERSION |
STRING |
Spécifie la version d’exécution de la fonction. NULL si la fonction est SQL ou Javascript. |
INSTALLED_PACKAGES |
STRING |
Liste tous les packages installés par la fonction. Sortie pour les fonctions Python uniquement. |
Modifications des pipelines de données¶
Commandes DESCRIBE STREAM / SHOW STREAMS : nouvelle colonne INVALID_REASON dans la sortie¶
La sortie des commandes DESCRIBE STREAM et SHOW STREAMS comprend maintenant les colonnes supplémentaires suivantes :
Nom de la colonne |
Type de données |
Description |
---|---|---|
INVALID_REASON |
STRING |
Spécifie la raison pour laquelle le contenu d’un flux ne peut pas être interrogé avec succès. Cette colonne a été introduite pour soutenir les fonctionnalités futures. Lorsque la colonne est introduite, la seule valeur renvoyée sera N/A. |
Pour aider à limiter l’impact de ce changement, la colonne a été ajoutée en tant que dernière colonne dans la sortie.
Changements au niveau du data lake¶
SHOW EXTERNAL TABLES Commande : LOCATION Une colonne renvoie NULL pour les consommateurs de données¶
Les fournisseurs peuvent inclure des tables externes, parmi d’autres objets de base de données, dans les partages vers les comptes des consommateurs via Snowflake Secure Data Sharing.
Lorsqu’un utilisateur d’un compte consommateur exécute la commande SHOW EXTERNAL TABLES, la sortie pour les tables externes partagées a changé comme suit :
- Précédemment:
La colonne LOCATION indiquait la zone de préparation externe et le chemin du dossier dans la définition de la table externe pour les tables externes dans un partage importé (c’est-à-dire les mêmes informations que celles renvoyées pour les tables externes dans le compte du consommateur).
- Actuellement:
La colonne LOCATION affiche NULL pour les tables externes dans un partage importé.
Snowflake CLI, Connecteurs, Pilotes et SQL API Changements¶
Snowflake SQL API : Suppression des anciens terminaux¶
Les terminaux obsolète de Snowflake SQL API ne sont plus disponibles. Cela comprend les terminaux suivants :
/api/statements/
/api/statements/<instructionGestion>
/api/statements/<instructionGestion>/cancel
Les appels vers ces terminaux renvoient maintenant un HTTP code d’erreur 404.
Vous devez vous assurer que vous utilisez la version la plus récente de la SQL API. Voir À propos des SQL API pour plus de détails.