Categorias:

Funções de contexto (General)

SYS_CONTEXT (namespace SNOWFLAKE$APPLICATION)

Retorna informações sobre o contexto em que uma instrução é executada em um aplicativo Snowflake nativo.

Você pode chamar essa função nos seguintes contextos:

  • Um procedimento armazenado ou aplicativo Streamlit configurado para usar direitos de proprietário e que está dentro ou pertence a um Snowflake Native App.

  • Um UDF, exibição ou política que pertence a um Snowflake Native App.

  • Um UDF, exibição ou política que faz parte do conteúdo de dados compartilhados de um Snowflake Native App.

Em qualquer outro contexto, a função retorna NULL.

Consulte também:

SYS_CONTEXT , SYS_CONTEXT (namespace SNOWFLAKE$ENVIRONMENT) , SYS_CONTEXT (namespace SNOWFLAKE$ORGANIZATION) , SYS_CONTEXT (namespace SNOWFLAKE$ORGANIZATION_SESSION) , SYS_CONTEXT (namespace SNOWFLAKE$SESSION) , IS_APPLICATION_ROLE_ACTIVATED (função SYS_CONTEXT)

Sintaxe

Sintaxe para recuperar propriedades:

SYS_CONTEXT(
  'SNOWFLAKE$APPLICATION' ,
  '<property>'
)
Copy

Sintaxe para chamar funções:

SYS_CONTEXT(
  'SNOWFLAKE$APPLICATION' ,
  '<function>' , '<argument>' [ , ... ]
)
Copy

Argumentos

'SNOWFLAKE$APPLICATION'

Especifica que você deseja recuperar uma propriedade ou chamar uma função para retornar informações de contexto sobre o aplicativo no qual a função é chamada.

'property'

Nome da propriedade que você deseja recuperar. Você pode especificar as seguintes propriedades:

Propriedade

Descrição

NAME

Nome do aplicativo.

CURRENT_VERSION

Versão atual do aplicativo no qual a instrução SQL atual é executada.

O valor da propriedade CURRENT_VERSION pode ser diferente da propriedade INSTALLED_VERSION nas seguintes situações:

  • A instrução SQL é executada em um script de configuração :doc:` </developer-guide/native-apps/creating-setup-script>` que atualiza o aplicativo para uma nova versão.

    Nesse caso, CURRENT_VERSION é a nova versão e INSTALLED_VERSION é a versão instalada atualmente que está sendo atualizada.

  • Um procedimento ou uma consulta de longa duração iniciou a execução antes da conclusão de uma atualização.

    Nesse caso, CURRENT_VERSION é a versão quando o procedimento ou consulta iniciou a execução e INSTALLED_VERSION é a versão após a conclusão da atualização.

CURRENT_PATCH

Número do patch atual do aplicativo no qual a instrução SQL atual é executada.

INSTALLED_VERSION

Versão instalada do aplicativo no qual a instrução SQL atual é executada.

INSTALLED_PATCH

Número do patch instalado do aplicativo no qual a instrução SQL atual é executada.

IS_DEV_MODE

TRUE se o aplicativo estiver em modo de desenvolvimento; caso contrário, FALSE.

Para comparar esse valor com o valor BOOLEAN TRUE ou FALSE, converta o valor para BOOLEAN. Por exemplo:

SELECT SYS_CONTEXT('SNOWFLAKE$APPLICATION', 'IS_DEV_MODE')::BOOLEAN = TRUE;
Copy
'function'

Nome da função que você deseja chamar. Você pode chamar as seguintes funções:

'argument' [ , ... ]

Argumentos a serem passados ​​para a função que você deseja chamar.

Retornos

A função retorna um valor VARCHAR ou NULL:

Notas de uso

  • Se você estiver especificando a chamada da função em uma cadeia de caracteres entre aspas duplas em um shell, aplique o escape do caractere $ com uma barra invertida (\) para que $APPLICATION não seja interpretado como uma variável do shell.

    Por exemplo, se você estiver usando Snowflake CLI e especificando a instrução SQL como um argumento de linha de comando entre aspas duplas:

    snow sql --query "SELECT SYS_CONTEXT('SNOWFLAKE\$APPLICATION', 'NAME');"
    
    Copy

Exemplos

O exemplo a seguir retorna a versão atual do aplicativo:

SELECT SYS_CONTEXT('SNOWFLAKE$APPLICATION', 'CURRENT_VERSION');
Copy