前提条件 SQL リファレンス

データベースオブジェクトとプロシージャ

次のデータベースオブジェクトは、ファイル prerequisites.sql を通して作成されます。

STATE.PREREQUISITES

前提条件に関するデータを保持するための内部テーブル。このテーブルはアプリ外からはアクセスできません。データを読むには、以下の PUBLIC.PREREQUISITES ビューを使用します。テーブルには次の列が含まれます。

  • 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

このビューは、 ADMIN および VIEWER ロールに公開されます。上のテーブルのデータを返します。行は position 列で昇順にソートされます。前提条件の挿入は setup.sql の内部で行われます。ただし、更新中に挿入をスキップする方法で行う必要があります。例:

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;
$$;
Copy

別の方法として、代わりにmergeステートメントを使用し、一致した場合に何もしない(または更新しない)という方法があります。

PUBLIC.COMPLETE_PREREQUISITES_STEP()

ADMIN ユーザーが利用できるプロシージャ。このプロシージャを正常に実行するために、すべての前提条件が完了している必要はありません。コネクタの構成ステータスが INSTALLED の場合、コネクタのステータスは次のように設定されます。

{
    "status": "CONFIGURING",
    "configurationStatus": "PREREQUISITES_DONE"
}
Copy

そうでない場合は効果はありません。

このプロシージャでは、コネクタが CONFIGURING ステータスであり、構成ステータスが FINALIZED 以外である必要があります。そうでない場合は例外がスローされます。

考えられるエラーは次のとおりです。

  • INVALID_CONNECTOR_STATUS - connector_statusは [CONFIGURING] ではありません。

  • INVALID_CONNECTOR_CONFIGURATION_STATUS - configuration_statusは FINALIZED です。

  • UNKNOWN_ERROR - 予期しない問題が発生しました - スローされた例外のメッセージが転送されます。

PUBLIC.UPDATE_PREREQUISITE (ID VARCHAR, IS_COMPLETED BOOLEAN)

このプロシージャでは、指定された前提条件のステータスを指定された値に設定します。 ADMIN ユーザーのみ利用できます。検証は COMPLETE_PREREQUISITES_STEP() のプロシージャと同様です。

考えられるエラーは次のとおりです。

  • INVALID_CONNECTOR_STATUS - コネクタのステータスは [CONFIGURING] ではありません。

  • INVALID_CONNECTOR_CONFIGURATION_STATUS - コネクタの構成ステータスは FINALIZED です。

  • PREREQUISITE_NOT_FOUND - 指定された ID を持つ前提条件が見つかりません。

PUBLIC.MARK_ALL_PREREQUISITES_AS_DONE()

このプロシージャでは、すべての前提条件の is_completed 列を true に設定します。検証は COMPLETE_PREREQUISITES_STEP() のプロシージャと同様です。

考えられるエラーは次のとおりです。

  • INVALID_CONNECTOR_STATUS - コネクタのステータスは [CONFIGURING] ではありません。

  • INVALID_CONNECTOR_CONFIGURATION_STATUS - コネクタの構成ステータスは FINALIZED です。