Referência SQL de pré-requisitos¶
Objetos e procedimentos de banco de dados¶
Os seguintes objetos de banco de dados são criados por meio do arquivo prerequisites.sql
.
STATE.PREREQUISITES¶
Uma tabela interna para persistir os dados sobre os pré-requisitos. Esta tabela não pode ser acessada de fora do aplicativo. Para ler os dados, use a exibição PUBLIC.PREREQUISITES
abaixo. A tabela contém as seguintes colunas:
id STRING
title VARCHAR
description VARCHAR
learnmore_url VARCHAR
documentation_url VARCHAR
guide_url VARCHAR
custom_properties VARIANT
is_completed BOOLEAN
position INTEGER
PUBLIC.PREREQUISITES¶
Esta exibição é exposta às funções ADMIN
e VIEWER
. Ela retorna os dados da tabela acima. As linhas serão classificadas em ordem crescente por coluna position
. A inserção de pré-requisitos ocorre dentro do setup.sql
. No entanto, isso deve ser feito de forma a ignorar a inserção durante a atualização. Por exemplo:
EXECUTE IMMEDIATE
$$
DECLARE
prerequisites_exist NUMBER;
BEGIN
SELECT COUNT (*) INTO :prerequisites_exist FROM state.prerequisites;
IF (:prerequisites_exist = 0) THEN
INSERT INTO STATE.PREREQUISITES (ID, TITLE, DESCRIPTION, DOCUMENTATION_URL, POSITION)
VALUES
('1', '<Prerequisite name>', '<Prerequisite description>', 'Prerequisite url', 1)
END IF;
END;
$$;
Outra abordagem é usar uma instrução de fusão e não fazer nada (ou atualizar) na correspondência.
PUBLIC.COMPLETE_PREREQUISITES_STEP()¶
Um procedimento disponível para usuários ADMIN
. A execução bem-sucedida deste procedimento não exige que todos os pré-requisitos sejam concluídos. Se o status de configuração do conector for INSTALLED
, ele define o status do conector como:
{
"status": "CONFIGURING",
"configurationStatus": "PREREQUISITES_DONE"
}
Caso contrário, não há efeito.
Este procedimento requer que o conector esteja no status CONFIGURING
e com status de configuração diferente de FINALIZED
. Caso contrário, uma exceção será lançada.
Possíveis erros incluem:
INVALID_CONNECTOR_STATUS
- connector_status não é[CONFIGURING]
.INVALID_CONNECTOR_CONFIGURATION_STATUS
- configuration_status éFINALIZED
.UNKNOWN_ERROR
- Algo inesperado deu errado - a mensagem de exceção gerada é encaminhada.
PUBLIC.UPDATE_PREREQUISITE (ID VARCHAR, IS_COMPLETED BOOLEAN)¶
Este procedimento define o status do pré-requisito dado para o valor fornecido. Está disponível apenas para usuários ADMIN
. As validações são semelhantes ao procedimento COMPLETE_PREREQUISITES_STEP()
.
Possíveis erros incluem:
INVALID_CONNECTOR_STATUS
- O status do conector não é[CONFIGURING]
.INVALID_CONNECTOR_CONFIGURATION_STATUS
- O status da configuração do conector éFINALIZED
.PREREQUISITE_NOT_FOUND
- Pré-requisito com ID dado não encontrado.
PUBLIC.MARK_ALL_PREREQUISITES_AS_DONE()¶
Este procedimento define a coluna is_completed
para todos os pré-requisitos como true
. As validações são semelhantes ao procedimento COMPLETE_PREREQUISITES_STEP()
.
Possíveis erros incluem:
INVALID_CONNECTOR_STATUS
- O status do conector não é[CONFIGURING]
.INVALID_CONNECTOR_CONFIGURATION_STATUS
- O status da configuração do conector éFINALIZED
.