Limitations de Scala dans les procédures stockées créées à l’aide de SQL¶
Les procédures stockées présentent les limitations suivantes :
La simultanéité n’est pas prise en charge. Par exemple, à partir de votre code, vous ne pouvez pas soumettre de requêtes à partir de plusieurs threads. Le code qui émet simultanément plusieurs requêtes produira une erreur.
Si vous exécutez votre procédure stockée à partir d’une tâche, vous devez spécifier un entrepôt lors de la création de la tâche. (Vous ne pouvez pas utiliser les ressources de calcul sans serveur pour exécuter la tâche.)
Gardez à l’esprit les limitations suivantes pour l’utilisation de certaines APIs de Snowpark dans votre procédure stockée.
Lorsque vous utilisez les APIs qui exécute les commandes PUT et GET (y compris
Session.sql("PUT ...")
etSession.sql("GET ...")
), vous ne pouvez écrire que dans le répertoire/tmp
du système de fichiers en mémoire fourni pour la requête appelant la procédure.N’utilisez pas d”APIs qui créent de nouvelles sessions (par exemple,
Session.builder().configs(...).create()
).L’utilisation de
session.jdbcConnection
(et de la connexion qu’il renvoie) n’est pas autorisée car elle peut entraîner des comportements dangereux.
La création d’objets temp nommés n’est pas prise en charge dans une procédure stockée relative aux droits du propriétaire. Une procédure stockée avec les droits du propriétaire est une procédure stockée qui s’exécute avec les privilèges du propriétaire de la procédure stockée. Pour plus d’informations, voir les droits de l’appelant ou les droits du propriétaire.