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 STRINGtitle VARCHARdescription VARCHARlearnmore_url VARCHARdocumentation_url VARCHARguide_url VARCHARcustom_properties VARIANTis_completed BOOLEANposition 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.