diff --git a/components/apimgt/org.wso2.carbon.apimgt.impl/src/main/java/org/wso2/carbon/apimgt/impl/dao/ApiMgtDAO.java b/components/apimgt/org.wso2.carbon.apimgt.impl/src/main/java/org/wso2/carbon/apimgt/impl/dao/ApiMgtDAO.java index 2775c930cb3a..b55e18abf32f 100644 --- a/components/apimgt/org.wso2.carbon.apimgt.impl/src/main/java/org/wso2/carbon/apimgt/impl/dao/ApiMgtDAO.java +++ b/components/apimgt/org.wso2.carbon.apimgt.impl/src/main/java/org/wso2/carbon/apimgt/impl/dao/ApiMgtDAO.java @@ -14653,8 +14653,10 @@ public LLMProvider addLLMProvider(LLMProvider provider) throws APIManagementExce prepStmt.setString(4, String.valueOf(provider.isBuiltInSupport())); prepStmt.setString(5, provider.getOrganization()); prepStmt.setString(6, provider.getDescription()); - prepStmt.setString(7, provider.getApiDefinition()); - prepStmt.setString(8, provider.getConfigurations()); + prepStmt.setBinaryStream(7, new ByteArrayInputStream(provider + .getApiDefinition().getBytes())); + prepStmt.setBinaryStream(8, new ByteArrayInputStream(provider + .getConfigurations().getBytes())); int rowsAffected = prepStmt.executeUpdate(); if (rowsAffected > 0) { conn.commit(); @@ -14699,7 +14701,13 @@ public List getLLMProviders(String organization, String name, Strin provider.setOrganization(resultSet.getString("ORGANIZATION")); provider.setBuiltInSupport(Boolean.parseBoolean(resultSet.getString("BUILT_IN_SUPPORT"))); provider.setDescription(resultSet.getString("DESCRIPTION")); - provider.setConfigurations(resultSet.getString("CONFIGURATIONS")); + try (InputStream configStream = resultSet.getBinaryStream("CONFIGURATIONS")) { + if (configStream != null) { + provider.setConfigurations(IOUtils.toString(configStream)); + } + } catch (IOException e) { + log.error("Error while retrieving LLM configuration", e); + } providerList.add(provider); } } @@ -14934,8 +14942,20 @@ public LLMProvider getLLMProvider(String organization, String llmProviderId) thr provider.setApiVersion(resultSet.getString("API_VERSION")); provider.setBuiltInSupport(Boolean.parseBoolean(resultSet.getString("BUILT_IN_SUPPORT"))); provider.setDescription(resultSet.getString("DESCRIPTION")); - provider.setApiDefinition(resultSet.getString("API_DEFINITION")); - provider.setConfigurations(resultSet.getString("CONFIGURATIONS")); + try (InputStream apiDefStream = resultSet.getBinaryStream("API_DEFINITION")) { + if (apiDefStream != null) { + provider.setApiDefinition(IOUtils.toString(apiDefStream)); + } + } catch (IOException e) { + log.error("Error while retrieving LLM API definition", e); + } + try (InputStream configStream = resultSet.getBinaryStream("CONFIGURATIONS")) { + if (configStream != null) { + provider.setConfigurations(IOUtils.toString(configStream)); + } + } catch (IOException e) { + log.error("Error while retrieving LLM configuration", e); + } return provider; } catch (SQLException e) { @@ -14962,8 +14982,20 @@ public LLMProvider getLLMProvider(String organization, String name, String apiVe provider.setApiVersion(resultSet.getString("API_VERSION")); provider.setBuiltInSupport(Boolean.parseBoolean(resultSet.getString("BUILT_IN_SUPPORT"))); provider.setDescription(resultSet.getString("DESCRIPTION")); - provider.setApiDefinition(resultSet.getString("API_DEFINITION")); - provider.setConfigurations(resultSet.getString("CONFIGURATIONS")); + try (InputStream apiDefStream = resultSet.getBinaryStream("API_DEFINITION")) { + if (apiDefStream != null) { + provider.setApiDefinition(IOUtils.toString(apiDefStream)); + } + } catch (IOException e) { + log.error("Error while retrieving LLM API definition", e); + } + try (InputStream configStream = resultSet.getBinaryStream("CONFIGURATIONS")) { + if (configStream != null) { + provider.setConfigurations(IOUtils.toString(configStream)); + } + } catch (IOException e) { + log.error("Error while retrieving LLM configuration", e); + } return provider; } catch (SQLException e) { diff --git a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/mssql.sql b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/mssql.sql index a7a512b683c7..f654368ae9c0 100644 --- a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/mssql.sql +++ b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/mssql.sql @@ -2757,7 +2757,7 @@ IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[A CREATE TABLE AM_API_AI_CONFIGURATION ( AI_CONFIGURATION_UUID VARCHAR(255) NOT NULL, API_UUID VARCHAR(256) NOT NULL, - API_REVISION_UUID VARCHAR(255) NOT NULL, + API_REVISION_UUID VARCHAR(255), LLM_PROVIDER_UUID VARCHAR(255) NOT NULL, ENDPOINT_CONFIGURATION VARCHAR(2048) NOT NULL, THROTTLING_CONFIGURATIONS VARCHAR(1024) NOT NULL, diff --git a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle.sql b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle.sql index b4ed26af66a3..675a12f1afde 100644 --- a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle.sql +++ b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle.sql @@ -3871,7 +3871,7 @@ CREATE TABLE AM_LLM_PROVIDER ( CREATE TABLE AM_API_AI_CONFIGURATION ( AI_CONFIGURATION_UUID VARCHAR(255) NOT NULL, API_UUID VARCHAR(256) NOT NULL, - API_REVISION_UUID VARCHAR(255) NOT NULL, + API_REVISION_UUID VARCHAR(255), LLM_PROVIDER_UUID VARCHAR(255) NOT NULL, ENDPOINT_CONFIGURATION VARCHAR(2048) NOT NULL, THROTTLING_CONFIGURATIONS VARCHAR(1024) NOT NULL, diff --git a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle_23c.sql b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle_23c.sql index 220f1867dca0..dc449397ade5 100644 --- a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle_23c.sql +++ b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle_23c.sql @@ -3871,7 +3871,7 @@ CREATE TABLE AM_LLM_PROVIDER ( CREATE TABLE AM_API_AI_CONFIGURATION ( AI_CONFIGURATION_UUID VARCHAR(255) NOT NULL, API_UUID VARCHAR(256) NOT NULL, - API_REVISION_UUID VARCHAR(255) NOT NULL, + API_REVISION_UUID VARCHAR(255), LLM_PROVIDER_UUID VARCHAR(255) NOT NULL, ENDPOINT_CONFIGURATION VARCHAR(2048) NOT NULL, THROTTLING_CONFIGURATIONS VARCHAR(1024) NOT NULL, diff --git a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle_rac.sql b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle_rac.sql index 3ad68af065c0..a7a1cd43e2f5 100644 --- a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle_rac.sql +++ b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/oracle_rac.sql @@ -3842,7 +3842,7 @@ CREATE TABLE AM_LLM_PROVIDER ( CREATE TABLE AM_API_AI_CONFIGURATION ( AI_CONFIGURATION_UUID VARCHAR(255) NOT NULL, API_UUID VARCHAR(256) NOT NULL, - API_REVISION_UUID VARCHAR(255) NOT NULL, + API_REVISION_UUID VARCHAR(255), LLM_PROVIDER_UUID VARCHAR(255) NOT NULL, ENDPOINT_CONFIGURATION VARCHAR(2048) NOT NULL, THROTTLING_CONFIGURATIONS VARCHAR(1024) NOT NULL, diff --git a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/postgresql.sql b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/postgresql.sql index 327007600d7a..3728b854dae9 100644 --- a/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/postgresql.sql +++ b/features/apimgt/org.wso2.carbon.apimgt.core.feature/src/main/resources/sql/postgresql.sql @@ -2858,7 +2858,7 @@ 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) NOT NULL, + API_REVISION_UUID VARCHAR(255), LLM_PROVIDER_UUID VARCHAR(255) NOT NULL, ENDPOINT_CONFIGURATION VARCHAR(2048) NOT NULL, THROTTLING_CONFIGURATIONS VARCHAR(1024) NOT NULL,