From 811bb2be03437889ce1e9868faca5801a7a82a67 Mon Sep 17 00:00:00 2001 From: tmlx1990 Date: Sun, 12 Nov 2023 00:16:22 +0800 Subject: [PATCH 1/4] =?UTF-8?q?FIX:=20772=20=E9=BB=98=E8=AE=A4=E5=80=BC?= =?UTF-8?q?=E4=B8=AD=E5=A2=9E=E5=8A=A0CURRENT=5FTIMESTAMP=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/blocks/DatabaseTableEditor/ColumnList/index.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/chat2db-client/src/blocks/DatabaseTableEditor/ColumnList/index.tsx b/chat2db-client/src/blocks/DatabaseTableEditor/ColumnList/index.tsx index b46633a4..b013e8f7 100644 --- a/chat2db-client/src/blocks/DatabaseTableEditor/ColumnList/index.tsx +++ b/chat2db-client/src/blocks/DatabaseTableEditor/ColumnList/index.tsx @@ -513,6 +513,10 @@ const ColumnList = forwardRef((props: IProps, ref: ForwardedRef) label: 'NULL', value: 'NULL', }, + { + label: 'CURRENT_TIMESTAMP', + value: 'CURRENT_TIMESTAMP', + } ]} /> From a0187de02d828fec40a65481cb0f17a9c7193003 Mon Sep 17 00:00:00 2001 From: tmlx1990 Date: Mon, 13 Nov 2023 18:23:41 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=B0=86=E5=AD=97=E6=AE=B5=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E5=80=BC=E9=80=89=E9=A1=B9=E6=94=B9=E4=B8=BA=E5=90=8E?= =?UTF-8?q?=E7=AB=AF=E4=BC=A0=E9=80=92=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DatabaseTableEditor/ColumnList/index.tsx | 17 +---------- .../src/blocks/DatabaseTableEditor/index.tsx | 11 +++++++ chat2db-client/src/typings/database.ts | 6 ++++ .../chat2db/plugin/mysql/MysqlMetaData.java | 6 ++-- .../mysql/type/MysqlDefaultValueEnum.java | 29 +++++++++++++++++++ .../chat2db/plugin/oracle/OracleMetaData.java | 2 ++ .../oracle/type/OracleDefaultValueEnum.java | 28 ++++++++++++++++++ .../ai/chat2db/spi/model/DefaultValue.java | 12 ++++++++ .../java/ai/chat2db/spi/model/TableMeta.java | 2 ++ 9 files changed, 93 insertions(+), 20 deletions(-) create mode 100644 chat2db-server/chat2db-plugins/chat2db-mysql/src/main/java/ai/chat2db/plugin/mysql/type/MysqlDefaultValueEnum.java create mode 100644 chat2db-server/chat2db-plugins/chat2db-oracle/src/main/java/ai/chat2db/plugin/oracle/type/OracleDefaultValueEnum.java create mode 100644 chat2db-server/chat2db-spi/src/main/java/ai/chat2db/spi/model/DefaultValue.java diff --git a/chat2db-client/src/blocks/DatabaseTableEditor/ColumnList/index.tsx b/chat2db-client/src/blocks/DatabaseTableEditor/ColumnList/index.tsx index b013e8f7..ad6b6718 100644 --- a/chat2db-client/src/blocks/DatabaseTableEditor/ColumnList/index.tsx +++ b/chat2db-client/src/blocks/DatabaseTableEditor/ColumnList/index.tsx @@ -503,22 +503,7 @@ const ColumnList = forwardRef((props: IProps, ref: ForwardedRef) )} {editingConfig?.supportDefaultValue && ( - + )} {editingConfig?.supportCharset && ( diff --git a/chat2db-client/src/blocks/DatabaseTableEditor/index.tsx b/chat2db-client/src/blocks/DatabaseTableEditor/index.tsx index 8da03ecf..4638b394 100644 --- a/chat2db-client/src/blocks/DatabaseTableEditor/index.tsx +++ b/chat2db-client/src/blocks/DatabaseTableEditor/index.tsx @@ -54,6 +54,7 @@ export interface IDatabaseSupportField { charsets: IOption[]; collations: IOption[]; indexTypes: IOption[]; + defaultValues: IOption[]; } export default memo((props: IProps) => { @@ -93,6 +94,7 @@ export default memo((props: IProps) => { charsets: [], collations: [], indexTypes: [], + defaultValues: [], }); const [isLoading, setIsLoading] = useState(false); @@ -148,11 +150,20 @@ export default memo((props: IProps) => { }; }) || []; + const defaultValues = + res?.defaultValues?.map((i) => { + return { + value: i.defaultValue, + label: i.defaultValue, + }; + }) || []; + setDatabaseSupportField({ columnTypes, charsets, collations, indexTypes, + defaultValues, }); }); } diff --git a/chat2db-client/src/typings/database.ts b/chat2db-client/src/typings/database.ts index b1760429..a99ff117 100644 --- a/chat2db-client/src/typings/database.ts +++ b/chat2db-client/src/typings/database.ts @@ -51,6 +51,7 @@ export interface IDatabaseSupportField { charsets: ICharset[]; collations: ICollation[]; indexTypes: IIndexTypes[]; + defaultValues: IDefaultValue[]; } /** 字段所对应的 字符集*/ @@ -84,3 +85,8 @@ export interface IColumnTypes { supportValue: boolean; // 是否支持值 supportUnit: boolean; // 是否支持单位 } + +/** 不同数据库支持不同的默认值 */ +export interface IDefaultValue { + defaultValue: string; // 默认值 +} diff --git a/chat2db-server/chat2db-plugins/chat2db-mysql/src/main/java/ai/chat2db/plugin/mysql/MysqlMetaData.java b/chat2db-server/chat2db-plugins/chat2db-mysql/src/main/java/ai/chat2db/plugin/mysql/MysqlMetaData.java index 27c03f31..edd32797 100644 --- a/chat2db-server/chat2db-plugins/chat2db-mysql/src/main/java/ai/chat2db/plugin/mysql/MysqlMetaData.java +++ b/chat2db-server/chat2db-plugins/chat2db-mysql/src/main/java/ai/chat2db/plugin/mysql/MysqlMetaData.java @@ -8,10 +8,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import ai.chat2db.plugin.mysql.builder.MysqlSqlBuilder; -import ai.chat2db.plugin.mysql.type.MysqlCharsetEnum; -import ai.chat2db.plugin.mysql.type.MysqlCollationEnum; -import ai.chat2db.plugin.mysql.type.MysqlColumnTypeEnum; -import ai.chat2db.plugin.mysql.type.MysqlIndexTypeEnum; +import ai.chat2db.plugin.mysql.type.*; import ai.chat2db.spi.MetaData; import ai.chat2db.spi.SqlBuilder; import ai.chat2db.spi.jdbc.DefaultMetaService; @@ -287,6 +284,7 @@ public class MysqlMetaData extends DefaultMetaService implements MetaData { .charsets(MysqlCharsetEnum.getCharsets()) .collations(MysqlCollationEnum.getCollations()) .indexTypes(MysqlIndexTypeEnum.getIndexTypes()) + .defaultValues(MysqlDefaultValueEnum.getDefaultValues()) .build(); } diff --git a/chat2db-server/chat2db-plugins/chat2db-mysql/src/main/java/ai/chat2db/plugin/mysql/type/MysqlDefaultValueEnum.java b/chat2db-server/chat2db-plugins/chat2db-mysql/src/main/java/ai/chat2db/plugin/mysql/type/MysqlDefaultValueEnum.java new file mode 100644 index 00000000..b48e2c21 --- /dev/null +++ b/chat2db-server/chat2db-plugins/chat2db-mysql/src/main/java/ai/chat2db/plugin/mysql/type/MysqlDefaultValueEnum.java @@ -0,0 +1,29 @@ +package ai.chat2db.plugin.mysql.type; + +import ai.chat2db.spi.model.DefaultValue; + +import java.util.Arrays; +import java.util.List; + +public enum MysqlDefaultValueEnum { + + EMPTY_STRING("EMPTY_STRING"), + NULL("NULL"), + CURRENT_TIMESTAMP("CURRENT_TIMESTAMP"), + ; + private DefaultValue defaultValue; + + MysqlDefaultValueEnum(String defaultValue) { + this.defaultValue = new DefaultValue(defaultValue); + } + + + public DefaultValue getDefaultValue() { + return defaultValue; + } + + public static List getDefaultValues() { + return Arrays.stream(MysqlDefaultValueEnum.values()).map(MysqlDefaultValueEnum::getDefaultValue).collect(java.util.stream.Collectors.toList()); + } + +} diff --git a/chat2db-server/chat2db-plugins/chat2db-oracle/src/main/java/ai/chat2db/plugin/oracle/OracleMetaData.java b/chat2db-server/chat2db-plugins/chat2db-oracle/src/main/java/ai/chat2db/plugin/oracle/OracleMetaData.java index e2cca8ff..86694332 100644 --- a/chat2db-server/chat2db-plugins/chat2db-oracle/src/main/java/ai/chat2db/plugin/oracle/OracleMetaData.java +++ b/chat2db-server/chat2db-plugins/chat2db-oracle/src/main/java/ai/chat2db/plugin/oracle/OracleMetaData.java @@ -8,6 +8,7 @@ import java.util.stream.Collectors; import ai.chat2db.plugin.oracle.builder.OracleSqlBuilder; import ai.chat2db.plugin.oracle.type.OracleColumnTypeEnum; +import ai.chat2db.plugin.oracle.type.OracleDefaultValueEnum; import ai.chat2db.plugin.oracle.type.OracleIndexTypeEnum; import ai.chat2db.spi.MetaData; import ai.chat2db.spi.SqlBuilder; @@ -290,6 +291,7 @@ public class OracleMetaData extends DefaultMetaService implements MetaData { .charsets(Lists.newArrayList()) .collations(Lists.newArrayList()) .indexTypes(OracleIndexTypeEnum.getIndexTypes()) + .defaultValues(OracleDefaultValueEnum.getDefaultValues()) .build(); } diff --git a/chat2db-server/chat2db-plugins/chat2db-oracle/src/main/java/ai/chat2db/plugin/oracle/type/OracleDefaultValueEnum.java b/chat2db-server/chat2db-plugins/chat2db-oracle/src/main/java/ai/chat2db/plugin/oracle/type/OracleDefaultValueEnum.java new file mode 100644 index 00000000..473af5ed --- /dev/null +++ b/chat2db-server/chat2db-plugins/chat2db-oracle/src/main/java/ai/chat2db/plugin/oracle/type/OracleDefaultValueEnum.java @@ -0,0 +1,28 @@ +package ai.chat2db.plugin.oracle.type; + +import ai.chat2db.spi.model.DefaultValue; + +import java.util.Arrays; +import java.util.List; + +public enum OracleDefaultValueEnum { + + EMPTY_STRING("EMPTY_STRING"), + NULL("NULL"), + ; + private DefaultValue defaultValue; + + OracleDefaultValueEnum(String defaultValue) { + this.defaultValue = new DefaultValue(defaultValue); + } + + + public DefaultValue getDefaultValue() { + return defaultValue; + } + + public static List getDefaultValues() { + return Arrays.stream(OracleDefaultValueEnum.values()).map(OracleDefaultValueEnum::getDefaultValue).collect(java.util.stream.Collectors.toList()); + } + +} diff --git a/chat2db-server/chat2db-spi/src/main/java/ai/chat2db/spi/model/DefaultValue.java b/chat2db-server/chat2db-spi/src/main/java/ai/chat2db/spi/model/DefaultValue.java new file mode 100644 index 00000000..dfffbf16 --- /dev/null +++ b/chat2db-server/chat2db-spi/src/main/java/ai/chat2db/spi/model/DefaultValue.java @@ -0,0 +1,12 @@ +package ai.chat2db.spi.model; + +import lombok.AllArgsConstructor; +import lombok.Data; + +@Data +@AllArgsConstructor +public class DefaultValue { + + private String defaultValue; + +} diff --git a/chat2db-server/chat2db-spi/src/main/java/ai/chat2db/spi/model/TableMeta.java b/chat2db-server/chat2db-spi/src/main/java/ai/chat2db/spi/model/TableMeta.java index 82e9a5a9..6ae0c2d7 100644 --- a/chat2db-server/chat2db-spi/src/main/java/ai/chat2db/spi/model/TableMeta.java +++ b/chat2db-server/chat2db-spi/src/main/java/ai/chat2db/spi/model/TableMeta.java @@ -19,4 +19,6 @@ public class TableMeta { private List indexTypes; + + private List defaultValues; } From 3a13c936b4d7fab137db854c3aec7f51d45a4328 Mon Sep 17 00:00:00 2001 From: tmlx1990 Date: Mon, 13 Nov 2023 23:21:28 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0DB2=E3=80=81DM=E3=80=81Ki?= =?UTF-8?q?ngBase=E3=80=81PostgreSQL=E3=80=81Sqlite=E3=80=81SqlServer?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=80=BC=E4=B8=8B=E6=8B=89=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ai/chat2db/plugin/db2/DB2MetaData.java | 2 ++ .../plugin/db2/type/DB2DefaultValueEnum.java | 27 +++++++++++++++++++ .../java/ai/chat2db/plugin/dm/DMMetaData.java | 2 ++ .../plugin/dm/type/DMDefaultValueEnum.java | 27 +++++++++++++++++++ .../plugin/kingbase/KingBaseMetaData.java | 2 ++ .../type/KingBaseDefaultValueEnum.java | 27 +++++++++++++++++++ .../plugin/postgresql/PostgreSQLMetaData.java | 6 ++--- .../type/PostgreSQLDefaultValueEnum.java | 27 +++++++++++++++++++ .../chat2db/plugin/sqlite/SqliteMetaData.java | 2 ++ .../sqlite/type/SqliteDefaultValueEnum.java | 27 +++++++++++++++++++ .../plugin/sqlserver/SqlServerMetaData.java | 2 ++ .../type/SqlServerDefaultValueEnum.java | 27 +++++++++++++++++++ 12 files changed, 174 insertions(+), 4 deletions(-) create mode 100644 chat2db-server/chat2db-plugins/chat2db-db2/src/main/java/ai/chat2db/plugin/db2/type/DB2DefaultValueEnum.java create mode 100644 chat2db-server/chat2db-plugins/chat2db-dm/src/main/java/ai/chat2db/plugin/dm/type/DMDefaultValueEnum.java create mode 100644 chat2db-server/chat2db-plugins/chat2db-kingbase/src/main/java/ai/chat2db/plugin/kingbase/type/KingBaseDefaultValueEnum.java create mode 100644 chat2db-server/chat2db-plugins/chat2db-postgresql/src/main/java/ai/chat2db/plugin/postgresql/type/PostgreSQLDefaultValueEnum.java create mode 100644 chat2db-server/chat2db-plugins/chat2db-sqlite/src/main/java/ai/chat2db/plugin/sqlite/type/SqliteDefaultValueEnum.java create mode 100644 chat2db-server/chat2db-plugins/chat2db-sqlserver/src/main/java/ai/chat2db/plugin/sqlserver/type/SqlServerDefaultValueEnum.java diff --git a/chat2db-server/chat2db-plugins/chat2db-db2/src/main/java/ai/chat2db/plugin/db2/DB2MetaData.java b/chat2db-server/chat2db-plugins/chat2db-db2/src/main/java/ai/chat2db/plugin/db2/DB2MetaData.java index f4770908..90a0e2fa 100644 --- a/chat2db-server/chat2db-plugins/chat2db-db2/src/main/java/ai/chat2db/plugin/db2/DB2MetaData.java +++ b/chat2db-server/chat2db-plugins/chat2db-db2/src/main/java/ai/chat2db/plugin/db2/DB2MetaData.java @@ -8,6 +8,7 @@ import java.util.stream.Collectors; import ai.chat2db.plugin.db2.builder.DB2SqlBuilder; import ai.chat2db.plugin.db2.type.DB2ColumnTypeEnum; +import ai.chat2db.plugin.db2.type.DB2DefaultValueEnum; import ai.chat2db.plugin.db2.type.DB2IndexTypeEnum; import ai.chat2db.spi.MetaData; import ai.chat2db.spi.SqlBuilder; @@ -152,6 +153,7 @@ public class DB2MetaData extends DefaultMetaService implements MetaData { .charsets(Lists.newArrayList()) .collations(Lists.newArrayList()) .indexTypes(DB2IndexTypeEnum.getIndexTypes()) + .defaultValues(DB2DefaultValueEnum.getDefaultValues()) .build(); } diff --git a/chat2db-server/chat2db-plugins/chat2db-db2/src/main/java/ai/chat2db/plugin/db2/type/DB2DefaultValueEnum.java b/chat2db-server/chat2db-plugins/chat2db-db2/src/main/java/ai/chat2db/plugin/db2/type/DB2DefaultValueEnum.java new file mode 100644 index 00000000..01af0c14 --- /dev/null +++ b/chat2db-server/chat2db-plugins/chat2db-db2/src/main/java/ai/chat2db/plugin/db2/type/DB2DefaultValueEnum.java @@ -0,0 +1,27 @@ +package ai.chat2db.plugin.db2.type; + +import ai.chat2db.spi.model.DefaultValue; + +import java.util.Arrays; +import java.util.List; + +public enum DB2DefaultValueEnum { + EMPTY_STRING("EMPTY_STRING"), + NULL("NULL"), + ; + private DefaultValue defaultValue; + + DB2DefaultValueEnum(String defaultValue) { + this.defaultValue = new DefaultValue(defaultValue); + } + + + public DefaultValue getDefaultValue() { + return defaultValue; + } + + public static List getDefaultValues() { + return Arrays.stream(DB2DefaultValueEnum.values()).map(DB2DefaultValueEnum::getDefaultValue).collect(java.util.stream.Collectors.toList()); + } + +} diff --git a/chat2db-server/chat2db-plugins/chat2db-dm/src/main/java/ai/chat2db/plugin/dm/DMMetaData.java b/chat2db-server/chat2db-plugins/chat2db-dm/src/main/java/ai/chat2db/plugin/dm/DMMetaData.java index eafad873..009a9150 100644 --- a/chat2db-server/chat2db-plugins/chat2db-dm/src/main/java/ai/chat2db/plugin/dm/DMMetaData.java +++ b/chat2db-server/chat2db-plugins/chat2db-dm/src/main/java/ai/chat2db/plugin/dm/DMMetaData.java @@ -8,6 +8,7 @@ import java.util.stream.Collectors; import ai.chat2db.plugin.dm.builder.DMSqlBuilder; import ai.chat2db.plugin.dm.type.DMColumnTypeEnum; +import ai.chat2db.plugin.dm.type.DMDefaultValueEnum; import ai.chat2db.plugin.dm.type.DMIndexTypeEnum; import ai.chat2db.spi.MetaData; import ai.chat2db.spi.SqlBuilder; @@ -218,6 +219,7 @@ public class DMMetaData extends DefaultMetaService implements MetaData { .charsets(Lists.newArrayList()) .collations(Lists.newArrayList()) .indexTypes(DMIndexTypeEnum.getIndexTypes()) + .defaultValues(DMDefaultValueEnum.getDefaultValues()) .build(); } diff --git a/chat2db-server/chat2db-plugins/chat2db-dm/src/main/java/ai/chat2db/plugin/dm/type/DMDefaultValueEnum.java b/chat2db-server/chat2db-plugins/chat2db-dm/src/main/java/ai/chat2db/plugin/dm/type/DMDefaultValueEnum.java new file mode 100644 index 00000000..f85773a8 --- /dev/null +++ b/chat2db-server/chat2db-plugins/chat2db-dm/src/main/java/ai/chat2db/plugin/dm/type/DMDefaultValueEnum.java @@ -0,0 +1,27 @@ +package ai.chat2db.plugin.dm.type; + +import ai.chat2db.spi.model.DefaultValue; + +import java.util.Arrays; +import java.util.List; + +public enum DMDefaultValueEnum { + EMPTY_STRING("EMPTY_STRING"), + NULL("NULL"), + ; + private DefaultValue defaultValue; + + DMDefaultValueEnum(String defaultValue) { + this.defaultValue = new DefaultValue(defaultValue); + } + + + public DefaultValue getDefaultValue() { + return defaultValue; + } + + public static List getDefaultValues() { + return Arrays.stream(DMDefaultValueEnum.values()).map(DMDefaultValueEnum::getDefaultValue).collect(java.util.stream.Collectors.toList()); + } + +} diff --git a/chat2db-server/chat2db-plugins/chat2db-kingbase/src/main/java/ai/chat2db/plugin/kingbase/KingBaseMetaData.java b/chat2db-server/chat2db-plugins/chat2db-kingbase/src/main/java/ai/chat2db/plugin/kingbase/KingBaseMetaData.java index 288e9add..1e358de6 100644 --- a/chat2db-server/chat2db-plugins/chat2db-kingbase/src/main/java/ai/chat2db/plugin/kingbase/KingBaseMetaData.java +++ b/chat2db-server/chat2db-plugins/chat2db-kingbase/src/main/java/ai/chat2db/plugin/kingbase/KingBaseMetaData.java @@ -2,6 +2,7 @@ package ai.chat2db.plugin.kingbase; import ai.chat2db.plugin.kingbase.builder.KingBaseSqlBuilder; import ai.chat2db.plugin.kingbase.type.KingBaseColumnTypeEnum; +import ai.chat2db.plugin.kingbase.type.KingBaseDefaultValueEnum; import ai.chat2db.plugin.kingbase.type.KingBaseIndexTypeEnum; import ai.chat2db.spi.MetaData; import ai.chat2db.spi.SqlBuilder; @@ -183,6 +184,7 @@ public class KingBaseMetaData extends DefaultMetaService implements MetaData { //.charsets(PostgreSQLCharsetEnum.getCharsets()) //.collations(PostgreSQLCollationEnum.getCollations()) .indexTypes(KingBaseIndexTypeEnum.getIndexTypes()) + .defaultValues(KingBaseDefaultValueEnum.getDefaultValues()) .build(); } @Override diff --git a/chat2db-server/chat2db-plugins/chat2db-kingbase/src/main/java/ai/chat2db/plugin/kingbase/type/KingBaseDefaultValueEnum.java b/chat2db-server/chat2db-plugins/chat2db-kingbase/src/main/java/ai/chat2db/plugin/kingbase/type/KingBaseDefaultValueEnum.java new file mode 100644 index 00000000..cb6c5884 --- /dev/null +++ b/chat2db-server/chat2db-plugins/chat2db-kingbase/src/main/java/ai/chat2db/plugin/kingbase/type/KingBaseDefaultValueEnum.java @@ -0,0 +1,27 @@ +package ai.chat2db.plugin.kingbase.type; + +import ai.chat2db.spi.model.DefaultValue; + +import java.util.Arrays; +import java.util.List; + +public enum KingBaseDefaultValueEnum { + EMPTY_STRING("EMPTY_STRING"), + NULL("NULL"), + ; + private DefaultValue defaultValue; + + KingBaseDefaultValueEnum(String defaultValue) { + this.defaultValue = new DefaultValue(defaultValue); + } + + + public DefaultValue getDefaultValue() { + return defaultValue; + } + + public static List getDefaultValues() { + return Arrays.stream(KingBaseDefaultValueEnum.values()).map(KingBaseDefaultValueEnum::getDefaultValue).collect(java.util.stream.Collectors.toList()); + } + +} diff --git a/chat2db-server/chat2db-plugins/chat2db-postgresql/src/main/java/ai/chat2db/plugin/postgresql/PostgreSQLMetaData.java b/chat2db-server/chat2db-plugins/chat2db-postgresql/src/main/java/ai/chat2db/plugin/postgresql/PostgreSQLMetaData.java index ef1413fa..5ff2c665 100644 --- a/chat2db-server/chat2db-plugins/chat2db-postgresql/src/main/java/ai/chat2db/plugin/postgresql/PostgreSQLMetaData.java +++ b/chat2db-server/chat2db-plugins/chat2db-postgresql/src/main/java/ai/chat2db/plugin/postgresql/PostgreSQLMetaData.java @@ -7,10 +7,7 @@ import java.util.*; import java.util.stream.Collectors; import ai.chat2db.plugin.postgresql.builder.PostgreSQLSqlBuilder; -import ai.chat2db.plugin.postgresql.type.PostgreSQLCharsetEnum; -import ai.chat2db.plugin.postgresql.type.PostgreSQLCollationEnum; -import ai.chat2db.plugin.postgresql.type.PostgreSQLColumnTypeEnum; -import ai.chat2db.plugin.postgresql.type.PostgreSQLIndexTypeEnum; +import ai.chat2db.plugin.postgresql.type.*; import ai.chat2db.server.tools.common.util.EasyCollectionUtils; import ai.chat2db.spi.MetaData; import ai.chat2db.spi.SqlBuilder; @@ -297,6 +294,7 @@ public class PostgreSQLMetaData extends DefaultMetaService implements MetaData { .charsets(PostgreSQLCharsetEnum.getCharsets()) .collations(PostgreSQLCollationEnum.getCollations()) .indexTypes(PostgreSQLIndexTypeEnum.getIndexTypes()) + .defaultValues(PostgreSQLDefaultValueEnum.getDefaultValues()) .build(); } diff --git a/chat2db-server/chat2db-plugins/chat2db-postgresql/src/main/java/ai/chat2db/plugin/postgresql/type/PostgreSQLDefaultValueEnum.java b/chat2db-server/chat2db-plugins/chat2db-postgresql/src/main/java/ai/chat2db/plugin/postgresql/type/PostgreSQLDefaultValueEnum.java new file mode 100644 index 00000000..6d972883 --- /dev/null +++ b/chat2db-server/chat2db-plugins/chat2db-postgresql/src/main/java/ai/chat2db/plugin/postgresql/type/PostgreSQLDefaultValueEnum.java @@ -0,0 +1,27 @@ +package ai.chat2db.plugin.postgresql.type; + +import ai.chat2db.spi.model.DefaultValue; + +import java.util.Arrays; +import java.util.List; + +public enum PostgreSQLDefaultValueEnum { + EMPTY_STRING("EMPTY_STRING"), + NULL("NULL"), + ; + private DefaultValue defaultValue; + + PostgreSQLDefaultValueEnum(String defaultValue) { + this.defaultValue = new DefaultValue(defaultValue); + } + + + public DefaultValue getDefaultValue() { + return defaultValue; + } + + public static List getDefaultValues() { + return Arrays.stream(PostgreSQLDefaultValueEnum.values()).map(PostgreSQLDefaultValueEnum::getDefaultValue).collect(java.util.stream.Collectors.toList()); + } + +} diff --git a/chat2db-server/chat2db-plugins/chat2db-sqlite/src/main/java/ai/chat2db/plugin/sqlite/SqliteMetaData.java b/chat2db-server/chat2db-plugins/chat2db-sqlite/src/main/java/ai/chat2db/plugin/sqlite/SqliteMetaData.java index 401137ae..f8bc1213 100644 --- a/chat2db-server/chat2db-plugins/chat2db-sqlite/src/main/java/ai/chat2db/plugin/sqlite/SqliteMetaData.java +++ b/chat2db-server/chat2db-plugins/chat2db-sqlite/src/main/java/ai/chat2db/plugin/sqlite/SqliteMetaData.java @@ -9,6 +9,7 @@ import java.util.stream.Collectors; import ai.chat2db.plugin.sqlite.builder.SqliteBuilder; import ai.chat2db.plugin.sqlite.type.SqliteCollationEnum; import ai.chat2db.plugin.sqlite.type.SqliteColumnTypeEnum; +import ai.chat2db.plugin.sqlite.type.SqliteDefaultValueEnum; import ai.chat2db.plugin.sqlite.type.SqliteIndexTypeEnum; import ai.chat2db.spi.MetaData; import ai.chat2db.spi.SqlBuilder; @@ -56,6 +57,7 @@ public class SqliteMetaData extends DefaultMetaService implements MetaData { .charsets(null) .collations(SqliteCollationEnum.getCollations()) .indexTypes(SqliteIndexTypeEnum.getIndexTypes()) + .defaultValues(SqliteDefaultValueEnum.getDefaultValues()) .build(); } diff --git a/chat2db-server/chat2db-plugins/chat2db-sqlite/src/main/java/ai/chat2db/plugin/sqlite/type/SqliteDefaultValueEnum.java b/chat2db-server/chat2db-plugins/chat2db-sqlite/src/main/java/ai/chat2db/plugin/sqlite/type/SqliteDefaultValueEnum.java new file mode 100644 index 00000000..d713f29f --- /dev/null +++ b/chat2db-server/chat2db-plugins/chat2db-sqlite/src/main/java/ai/chat2db/plugin/sqlite/type/SqliteDefaultValueEnum.java @@ -0,0 +1,27 @@ +package ai.chat2db.plugin.sqlite.type; + +import ai.chat2db.spi.model.DefaultValue; + +import java.util.Arrays; +import java.util.List; + +public enum SqliteDefaultValueEnum { + EMPTY_STRING("EMPTY_STRING"), + NULL("NULL"), + ; + private DefaultValue defaultValue; + + SqliteDefaultValueEnum(String defaultValue) { + this.defaultValue = new DefaultValue(defaultValue); + } + + + public DefaultValue getDefaultValue() { + return defaultValue; + } + + public static List getDefaultValues() { + return Arrays.stream(SqliteDefaultValueEnum.values()).map(SqliteDefaultValueEnum::getDefaultValue).collect(java.util.stream.Collectors.toList()); + } + +} diff --git a/chat2db-server/chat2db-plugins/chat2db-sqlserver/src/main/java/ai/chat2db/plugin/sqlserver/SqlServerMetaData.java b/chat2db-server/chat2db-plugins/chat2db-sqlserver/src/main/java/ai/chat2db/plugin/sqlserver/SqlServerMetaData.java index cc4b084b..7b2711cd 100644 --- a/chat2db-server/chat2db-plugins/chat2db-sqlserver/src/main/java/ai/chat2db/plugin/sqlserver/SqlServerMetaData.java +++ b/chat2db-server/chat2db-plugins/chat2db-sqlserver/src/main/java/ai/chat2db/plugin/sqlserver/SqlServerMetaData.java @@ -8,6 +8,7 @@ import java.util.stream.Collectors; import ai.chat2db.plugin.sqlserver.builder.SqlServerSqlBuilder; import ai.chat2db.plugin.sqlserver.type.SqlServerColumnTypeEnum; +import ai.chat2db.plugin.sqlserver.type.SqlServerDefaultValueEnum; import ai.chat2db.plugin.sqlserver.type.SqlServerIndexTypeEnum; import ai.chat2db.spi.MetaData; import ai.chat2db.spi.SqlBuilder; @@ -382,6 +383,7 @@ public class SqlServerMetaData extends DefaultMetaService implements MetaData { .charsets(null) .collations(null) .indexTypes(SqlServerIndexTypeEnum.getIndexTypes()) + .defaultValues(SqlServerDefaultValueEnum.getDefaultValues()) .build(); } diff --git a/chat2db-server/chat2db-plugins/chat2db-sqlserver/src/main/java/ai/chat2db/plugin/sqlserver/type/SqlServerDefaultValueEnum.java b/chat2db-server/chat2db-plugins/chat2db-sqlserver/src/main/java/ai/chat2db/plugin/sqlserver/type/SqlServerDefaultValueEnum.java new file mode 100644 index 00000000..1589a672 --- /dev/null +++ b/chat2db-server/chat2db-plugins/chat2db-sqlserver/src/main/java/ai/chat2db/plugin/sqlserver/type/SqlServerDefaultValueEnum.java @@ -0,0 +1,27 @@ +package ai.chat2db.plugin.sqlserver.type; + +import ai.chat2db.spi.model.DefaultValue; + +import java.util.Arrays; +import java.util.List; + +public enum SqlServerDefaultValueEnum { + EMPTY_STRING("EMPTY_STRING"), + NULL("NULL"), + ; + private DefaultValue defaultValue; + + SqlServerDefaultValueEnum(String defaultValue) { + this.defaultValue = new DefaultValue(defaultValue); + } + + + public DefaultValue getDefaultValue() { + return defaultValue; + } + + public static List getDefaultValues() { + return Arrays.stream(SqlServerDefaultValueEnum.values()).map(SqlServerDefaultValueEnum::getDefaultValue).collect(java.util.stream.Collectors.toList()); + } + +} From 1d110521fa53b41efcd57977bce543df67b98220 Mon Sep 17 00:00:00 2001 From: robin <850379744@qq.com> Date: Wed, 15 Nov 2023 10:02:42 +0800 Subject: [PATCH 4/4] model config update --- .../api/controller/ai/chat2db/client/Chat2dbAIClient.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/chat2db/client/Chat2dbAIClient.java b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/chat2db/client/Chat2dbAIClient.java index b3db9845..a687d459 100644 --- a/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/chat2db/client/Chat2dbAIClient.java +++ b/chat2db-server/chat2db-server-web/chat2db-server-web-api/src/main/java/ai/chat2db/server/web/api/controller/ai/chat2db/client/Chat2dbAIClient.java @@ -74,7 +74,10 @@ public class Chat2dbAIClient { apikey = ApplicationContextUtil.getProperty(CHAT2DB_OPENAI_KEY); } Config modelConfig = configService.find(CHAT2DB_OPENAI_MODEL).getData(); - String model = modelConfig.getContent(); + String model = ""; + if (modelConfig != null) { + model = modelConfig.getContent(); + } log.info("refresh chat2db apikey:{}", maskApiKey(apikey)); CHAT2DB_AI_STREAM_CLIENT = Chat2DBAIStreamClient.builder().apiHost(apiHost) .apiKey(apikey).model(model).build();