SQL-Referenz zu Voraussetzungen¶
Datenbankobjekte und Prozeduren¶
Die folgenden Datenbankobjekte werden über die Datei prerequisites.sql
erstellt.
STATE.PREREQUISITES¶
Interne Tabelle, in der die Daten zu den Voraussetzungen gespeichert werden. Diese Tabelle ist von außerhalb der App nicht zugänglich. Um die Daten zu lesen, verwenden Sie die Ansicht PUBLIC.PREREQUISITES
unten. Die Tabelle enthält folgende Spalten:
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¶
Diese Ansicht ist für die Rollen ADMIN
und VIEWER
sichtbar. Gibt die Daten aus der obigen Tabelle zurück. Die Zeilen werden aufsteigend nach der Spalte position
sortiert. Das Einfügen von Voraussetzungen erfolgt innerhalb von setup.sql
. Allerdings muss dies so erfolgen, dass das Einfügen während der Aktualisierung übersprungen wird. Beispiel:
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;
$$;
Ein anderer Ansatz besteht darin, stattdessen eine Merge-Anweisung zu verwenden und bei Übereinstimmung nichts zu tun (oder zu aktualisieren).
PUBLIC.COMPLETE_PREREQUISITES_STEP()¶
Prozedur, die für ADMIN
-Benutzer verfügbar ist. Für die erfolgreiche Ausführung dieser Prozedur müssen nicht alle Voraussetzungen erfüllt sein. Wenn der Konfigurationsstatus des Konnektors INSTALLED
ist, ändert sich der Status des Konnektors in:
{
"status": "CONFIGURING",
"configurationStatus": "PREREQUISITES_DONE"
}
Andernfalls gibt es keine Auswirkungen.
Für diese Prozedur muss sich der Konnektor im Status CONFIGURING
befinden und der Konfigurationsstatus darf nicht FINALIZED
sein. Andernfalls wird eine Ausnahme ausgelöst.
Mögliche Fehler sind:
INVALID_CONNECTOR_STATUS
– „connector_status“ ist nicht[CONFIGURING]
.INVALID_CONNECTOR_CONFIGURATION_STATUS
– „configuration_status“ istFINALIZED
.UNKNOWN_ERROR
– Etwas Unerwartetes ist passiert; die Meldung der ausgelösten Ausnahme wird weitergeleitet.
PUBLIC.UPDATE_PREREQUISITE (ID VARCHAR, IS_COMPLETED BOOLEAN)¶
Diese Prozedur setzt einen Status der gegebenen Voraussetzung auf den angegebenen Wert. Ist nur für ADMIN
-Benutzer verfügbar. Die Validierungen sind ähnlich wie bei der Prozedur COMPLETE_PREREQUISITES_STEP()
.
Mögliche Fehler sind:
INVALID_CONNECTOR_STATUS
– Status des Konnektors ist nicht[CONFIGURING]
.INVALID_CONNECTOR_CONFIGURATION_STATUS
– Status der Konnektorkonfiguration istFINALIZED
.PREREQUISITE_NOT_FOUND
– Voraussetzung mit gegebener ID nicht gefunden.
PUBLIC.MARK_ALL_PREREQUISITES_AS_DONE()¶
Diese Prozedur setzt die Spalte is_completed
für alle Voraussetzungen auf true
. Die Validierungen sind ähnlich wie bei der Prozedur COMPLETE_PREREQUISITES_STEP()
.
Mögliche Fehler sind:
INVALID_CONNECTOR_STATUS
– Status des Konnektors ist nicht[CONFIGURING]
.INVALID_CONNECTOR_CONFIGURATION_STATUS
– Status der Konnektorkonfiguration istFINALIZED
.