Limitações do procedimento armazenado em Java¶
Limitações¶
Os procedimentos armazenados têm as seguintes limitações:
Não há suporte para simultaneidade. Por exemplo, de dentro de seu código, você não pode enviar consultas a partir de múltiplos threads. O código que emite simultaneamente múltiplas consultas produzirá um erro.
Se você estiver executando seu procedimento armazenado a partir de uma tarefa, você deve especificar um warehouse ao criar a tarefa. (Você não pode usar recursos de computação sem servidor para executar a tarefa.)
Considere as seguintes limitações para usar algumas APIs do Snowpark em seu procedimento armazenado.
Quando você usa APIs que executam os comandos PUT e GET (incluindo
Session.sql("PUT ...")
eSession.sql("GET ...")
), você pode escrever somente no diretório /tmp no sistema de arquivos com suporte de memória fornecido para a consulta que chama o procedimento.Não use APIs que criem novas sessões (por exemplo,
Session.builder().configs(...).create()
).O uso de
session.jdbcConnection
(e a conexão retornada a partir dele) não é aceito porque pode resultar em um comportamento que não é seguro.
A criação de objetos temporários nomeados não é suportada em um procedimento armazenado de direitos do proprietário. Um procedimento de armazenamento de direitos do proprietário é um procedimento armazenado que funciona com os privilégios do proprietário do procedimento armazenado. Para obter mais informações, consulte direitos do chamador ou direitos do proprietário.