Variables de liaison : ne sont plus ignorées en tant que paramètres pour certaines fonctions de table intégrées

Attention

Ce changement de comportement est présent dans le bundle 2023_08.

Pour connaître le statut actuel du bundle, reportez-vous à Historique du bundle.

Dans Snowflake Scripting, un pilote , ou SQL REST API, vous pouvez utiliser des variables de liaison dans les instructions SQL. (Pour des exemples d’utilisation des variables de liaison, consultez Utiliser une variable dans une instruction SQL (liaison), Données de liaison, et Utilisation de variables de liaison dans une instruction.

Ce changement de comportement concerne les cas où vous transmettez une variable de liaison directement comme l’un des arguments de la fonction de table intégrée énumérés ci-dessous. Le comportement change de la manière suivante :

Avant la modification:

La variable de liaison est ignorée et l’argument n’est pas transmis à la fonction de table.

AFter le changement:

La variable de liaison est transmise comme argument à la fonction de table.

Notez que cela n’affecte pas les cas où vous passez une variable de liaison à une autre fonction avant de passer le résultat à un argument de fonction de table. Par exemple, si vous appelez la fonction COPY_HISTORY, ce changement affecte les cas où vous passez une variable de liaison directement comme argument START_TIME:

COPY_HISTORY( START_TIME=> ?, ...
Copy

Cela ne concerne pas les cas où vous passez d’abord la variable de liaison à une autre fonction intégrée :

COPY_HISTORY( START_TIME=> DATEADD('days', ?, ...
Copy

Si vous souhaitez conserver le comportement antérieur au changement, vous pouvez réécrire votre code pour éviter de transmettre l’argument qui utilise la variable de liaison. Par exemple, si vous appelez la fonction TASK_HISTORY et que vous ne souhaitez pas que les résultats soient filtrés par une tâche spécifique, omettez l’argument TASK_NAME dans l’appel.

Les arguments de la fonction de table suivants sont concernés par cette modification :

Fonction de la table

Arguments concernés

AUTO_REFRESH_REGISTRATION_HISTORY

OBJECT_TYPE

OBJECT_NAME

COPY_HISTORY

TABLE_NAME

START_TIME

CURRENT_TASK_GRAPHS

ROOT_TASK_NAME

DYNAMIC_TABLE_REFRESH_HISTORY

RESULT_LIMIT

EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY

TABLE_NAME

INFER_SCHEMA

LOCATION

FILE_FORMAT

FILES

POLICY_REFERENCES

POLICY_NAME

REF_ENTITY_NAME

REF_ENTITY_DOMAIN

QUERY_HISTORY

END_TIME_RANGE_START

END_TIME_RANGE_END

RESULT_LIMIT

QUERY_HISTORY_BY_SESSION

SESSION_ID

RESULT_LIMIT

QUERY_HISTORY_BY_USER

USER_NAME

QUERY_HISTORY_BY_WAREHOUSE

WAREHOUSE_NAME

END_TIME_RANGE_START

END_TIME_RANGE_END

RESULT_LIMIT

TAG_REFERENCES

OBJECT_NAME(l’argument object_name)

TASK_DEPENDENTS

TASK_NAME

TASK_HISTORY

RESULT_LIMIT

TASK_NAME

WAREHOUSE_LOAD_HISTORY

DATE_RANGE_START

DATE_RANGE_END

WAREHOUSE_NAME

WAREHOUSE_METERING_HISTORY

DATE_RANGE_START

DATE_RANGE_END

Réf : 1410