From 4c275e10972e77f14a9f1ed5444a4a15fc9bd843 Mon Sep 17 00:00:00 2001 From: Savindu Dimal Date: Thu, 24 Oct 2024 11:45:36 +0530 Subject: [PATCH] Add multi-dc db script changes for AI APIs --- .../multi-dc/OGG/oracle/apimgt/tables.sql | 23 +++++++++++++++ .../multi-dc/OGG/oracle/apimgt/tables_23c.sql | 23 +++++++++++++++ .../multi-dc/Postgresql/apimgt/tables.sql | 28 +++++++++++++++++++ .../SQLServer/mssql/apimgt/tables.sql | 23 +++++++++++++++ 4 files changed, 97 insertions(+) diff --git a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/multi-dc/OGG/oracle/apimgt/tables.sql b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/multi-dc/OGG/oracle/apimgt/tables.sql index 87bde5d3d63a..199ceae5cf91 100644 --- a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/multi-dc/OGG/oracle/apimgt/tables.sql +++ b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/multi-dc/OGG/oracle/apimgt/tables.sql @@ -2329,3 +2329,26 @@ CREATE TABLE AM_SUBJECT_ENTITY_REVOKED_EVENT PRIMARY KEY (ENTITY_ID, ENTITY_TYPE, ORGANIZATION) ) / +CREATE TABLE AM_LLM_PROVIDER ( + UUID VARCHAR(255) NOT NULL, + NAME VARCHAR(255) NOT NULL, + API_VERSION VARCHAR(50) NOT NULL, + ORGANIZATION VARCHAR(255) NOT NULL, + BUILT_IN_SUPPORT VARCHAR(5) NOT NULL, + DESCRIPTION VARCHAR(1023), + CONFIGURATIONS BLOB NOT NULL, + API_DEFINITION BLOB NOT NULL, + UNIQUE (NAME, API_VERSION, ORGANIZATION), + PRIMARY KEY (UUID) +) +/ +CREATE TABLE AM_API_AI_CONFIGURATION ( + AI_CONFIGURATION_UUID VARCHAR(255) NOT NULL, + API_UUID VARCHAR(256) NOT NULL, + API_REVISION_UUID VARCHAR(255), + LLM_PROVIDER_UUID VARCHAR(255) NOT NULL, + PRIMARY KEY (AI_CONFIGURATION_UUID), + FOREIGN KEY (API_UUID) REFERENCES AM_API(API_UUID), + FOREIGN KEY (LLM_PROVIDER_UUID) REFERENCES AM_LLM_PROVIDER(UUID) +) +/ diff --git a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/multi-dc/OGG/oracle/apimgt/tables_23c.sql b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/multi-dc/OGG/oracle/apimgt/tables_23c.sql index 8f404e39d9d2..606dc82f0093 100644 --- a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/multi-dc/OGG/oracle/apimgt/tables_23c.sql +++ b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/multi-dc/OGG/oracle/apimgt/tables_23c.sql @@ -2329,3 +2329,26 @@ CREATE TABLE AM_SUBJECT_ENTITY_REVOKED_EVENT PRIMARY KEY (ENTITY_ID, ENTITY_TYPE, ORGANIZATION) ) / +CREATE TABLE AM_LLM_PROVIDER ( + UUID VARCHAR(255) NOT NULL, + NAME VARCHAR(255) NOT NULL, + API_VERSION VARCHAR(50) NOT NULL, + ORGANIZATION VARCHAR(255) NOT NULL, + BUILT_IN_SUPPORT VARCHAR(5) NOT NULL, + DESCRIPTION VARCHAR(1023), + CONFIGURATIONS BLOB NOT NULL, + API_DEFINITION BLOB NOT NULL, + UNIQUE (NAME, API_VERSION, ORGANIZATION), + PRIMARY KEY (UUID) +) +/ +CREATE TABLE AM_API_AI_CONFIGURATION ( + AI_CONFIGURATION_UUID VARCHAR(255) NOT NULL, + API_UUID VARCHAR(256) NOT NULL, + API_REVISION_UUID VARCHAR(255), + LLM_PROVIDER_UUID VARCHAR(255) NOT NULL, + PRIMARY KEY (AI_CONFIGURATION_UUID), + FOREIGN KEY (API_UUID) REFERENCES AM_API(API_UUID), + FOREIGN KEY (LLM_PROVIDER_UUID) REFERENCES AM_LLM_PROVIDER(UUID) +) +/ diff --git a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/multi-dc/Postgresql/apimgt/tables.sql b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/multi-dc/Postgresql/apimgt/tables.sql index 0432714113c9..910f37e82827 100644 --- a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/multi-dc/Postgresql/apimgt/tables.sql +++ b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/multi-dc/Postgresql/apimgt/tables.sql @@ -2165,6 +2165,9 @@ CREATE TABLE IF NOT EXISTS AM_POLICY_SUBSCRIPTION ( MAX_COMPLEXITY INTEGER NOT NULL DEFAULT 0, MAX_DEPTH INTEGER NOT NULL DEFAULT 0, CONNECTIONS_COUNT INTEGER NOT NULL DEFAULT 0, + TOTAL_TOKEN_COUNT BIGINT, + PROMPT_TOKEN_COUNT BIGINT, + COMPLETION_TOKEN_COUNT BIGINT, PRIMARY KEY (POLICY_ID), UNIQUE (NAME, TENANT_ID), UNIQUE (UUID) @@ -2853,6 +2856,31 @@ CREATE TABLE IF NOT EXISTS AM_SUBJECT_ENTITY_REVOKED_EVENT ( PRIMARY KEY (ENTITY_ID, ENTITY_TYPE, ORGANIZATION) ); +DROP TABLE IF EXISTS AM_LLM_PROVIDER; +CREATE TABLE IF NOT EXISTS AM_LLM_PROVIDER ( + UUID VARCHAR(255) NOT NULL, + NAME VARCHAR(255) NOT NULL, + API_VERSION VARCHAR(50) NOT NULL, + ORGANIZATION VARCHAR(255) NOT NULL, + BUILT_IN_SUPPORT VARCHAR(5) NOT NULL, + DESCRIPTION VARCHAR(1023), + CONFIGURATIONS BYTEA NOT NULL, + API_DEFINITION BYTEA NOT NULL, + UNIQUE (NAME, API_VERSION, ORGANIZATION), + PRIMARY KEY (UUID) +); + +DROP TABLE IF EXISTS AM_API_AI_CONFIGURATION; +CREATE TABLE IF NOT EXISTS AM_API_AI_CONFIGURATION ( + AI_CONFIGURATION_UUID VARCHAR(255) NOT NULL, + API_UUID VARCHAR(256) NOT NULL, + API_REVISION_UUID VARCHAR(255), + LLM_PROVIDER_UUID VARCHAR(255) NOT NULL, + PRIMARY KEY (AI_CONFIGURATION_UUID), + FOREIGN KEY (API_UUID) REFERENCES AM_API(API_UUID), + FOREIGN KEY (LLM_PROVIDER_UUID) REFERENCES AM_LLM_PROVIDER(UUID) +); + -- End of API-MGT Tables -- -- Performance indexes start -- diff --git a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/multi-dc/SQLServer/mssql/apimgt/tables.sql b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/multi-dc/SQLServer/mssql/apimgt/tables.sql index eb2091cb8964..8d9f8a2feb1e 100644 --- a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/multi-dc/SQLServer/mssql/apimgt/tables.sql +++ b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/multi-dc/SQLServer/mssql/apimgt/tables.sql @@ -2722,6 +2722,29 @@ CREATE TABLE AM_SUBJECT_ENTITY_REVOKED_EVENT ( ORGANIZATION VARCHAR(100), PRIMARY KEY (ENTITY_ID, ENTITY_TYPE, ORGANIZATION) ); +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AM_LLM_PROVIDER]') AND TYPE IN (N'U')) +CREATE TABLE AM_LLM_PROVIDER ( + UUID VARCHAR(255) NOT NULL, + NAME VARCHAR(255) NOT NULL, + API_VERSION VARCHAR(50) NOT NULL, + ORGANIZATION VARCHAR(255) NOT NULL, + BUILT_IN_SUPPORT VARCHAR(5) NOT NULL, + DESCRIPTION VARCHAR(1023), + CONFIGURATIONS VARBINARY(MAX) NOT NULL, + API_DEFINITION VARBINARY(MAX) NOT NULL, + UNIQUE (NAME, API_VERSION, ORGANIZATION), + PRIMARY KEY (UUID) +); +IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[AM_API_AI_CONFIGURATION]') AND TYPE IN (N'U')) +CREATE TABLE AM_API_AI_CONFIGURATION ( + AI_CONFIGURATION_UUID VARCHAR(255) NOT NULL, + API_UUID VARCHAR(256) NOT NULL, + API_REVISION_UUID VARCHAR(255), + LLM_PROVIDER_UUID VARCHAR(255) NOT NULL, + PRIMARY KEY (AI_CONFIGURATION_UUID), + FOREIGN KEY (API_UUID) REFERENCES AM_API(API_UUID), + FOREIGN KEY (LLM_PROVIDER_UUID) REFERENCES AM_LLM_PROVIDER(UUID) +); --Performance indexes start--