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.