Fixed the problem of direct query table data error due to characters

This commit is contained in:
SwallowGG
2023-12-29 11:39:26 +08:00
parent 09a6c91ece
commit 056df5d273
10 changed files with 43 additions and 10 deletions

View File

@ -21,6 +21,7 @@ import ai.chat2db.spi.model.TableMeta;
import ai.chat2db.spi.sql.SQLExecutor;
import ai.chat2db.spi.util.SortUtils;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
public class DB2MetaData extends DefaultMetaService implements MetaData {
@ -156,5 +157,9 @@ public class DB2MetaData extends DefaultMetaService implements MetaData {
.defaultValues(DB2DefaultValueEnum.getDefaultValues())
.build();
}
@Override
public String getMetaDataName(String... names) {
return Arrays.stream(names).filter(name -> StringUtils.isNotBlank(name)).map(name -> "\"" + name + "\"").collect(Collectors.joining("."));
}
}

View File

@ -4,6 +4,7 @@ import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.util.*;
import java.util.stream.Collectors;
import ai.chat2db.plugin.h2.builder.H2SqlBuilder;
import ai.chat2db.spi.MetaData;
@ -14,6 +15,7 @@ import ai.chat2db.spi.model.*;
import ai.chat2db.spi.sql.SQLExecutor;
import ai.chat2db.spi.util.SortUtils;
import jakarta.validation.constraints.NotEmpty;
import org.apache.commons.lang3.StringUtils;
public class H2Meta extends DefaultMetaService implements MetaData {
@ -198,4 +200,9 @@ public class H2Meta extends DefaultMetaService implements MetaData {
return new H2SqlBuilder();
}
@Override
public String getMetaDataName(String... names) {
return Arrays.stream(names).filter(name -> StringUtils.isNotBlank(name)).map(name -> "\"" + name + "\"").collect(Collectors.joining("."));
}
}

View File

@ -2,8 +2,19 @@ package ai.chat2db.plugin.mongodb;
import ai.chat2db.spi.MetaData;
import ai.chat2db.spi.jdbc.DefaultMetaService;
import ai.chat2db.spi.model.Database;
import ai.chat2db.spi.sql.SQLExecutor;
import com.google.common.collect.Lists;
import java.sql.Connection;
import java.util.List;
public class MongodbMetaData extends DefaultMetaService implements MetaData {
@Override
public List<Database> databases(Connection connection) {
return Lists.newArrayList();
}
}

View File

@ -1,6 +1,6 @@
{
"dbType": "MONGODB",
"supportDatabase": true,
"supportDatabase": false,
"supportSchema": true,
"driverConfigList": [
{

View File

@ -4,4 +4,6 @@ import ai.chat2db.spi.MetaData;
import ai.chat2db.spi.jdbc.DefaultMetaService;
public class OceanBaseMetaData extends DefaultMetaService implements MetaData {
}

View File

@ -302,4 +302,8 @@ public class PostgreSQLMetaData extends DefaultMetaService implements MetaData {
.build();
}
@Override
public String getMetaDataName(String... names) {
return Arrays.stream(names).filter(name -> StringUtils.isNotBlank(name)).map(name -> "\"" + name + "\"").collect(Collectors.joining("."));
}
}