refactor(Oraclesql-builder): wrap objectName

This commit is contained in:
zgq
2024-07-09 11:58:08 +08:00
parent ab96987d92
commit 0f23e12e50

View File

@ -6,8 +6,13 @@ import ai.chat2db.spi.jdbc.DefaultSqlBuilder;
import ai.chat2db.spi.model.Table;
import ai.chat2db.spi.model.TableColumn;
import ai.chat2db.spi.model.TableIndex;
import ai.chat2db.spi.util.SqlUtils;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import java.util.List;
import java.util.stream.Collectors;
public class OracleSqlBuilder extends DefaultSqlBuilder {
@Override
public String buildCreateTableSql(Table table) {
@ -149,4 +154,26 @@ public class OracleSqlBuilder extends DefaultSqlBuilder {
// }
// return sqlBuilder.toString();
// }
@Override
protected void buildTableName(String databaseName, String schemaName, String tableName, StringBuilder script) {
if (StringUtils.isNotBlank(databaseName)) {
script.append(SqlUtils.quoteObjectName(databaseName)).append('.');
}
script.append(SqlUtils.quoteObjectName(tableName));
}
/**
* @param columnList
* @param script
*/
@Override
protected void buildColumns(List<String> columnList, StringBuilder script) {
if (CollectionUtils.isNotEmpty(columnList)) {
script.append(" (")
.append(columnList.stream().map(SqlUtils::quoteObjectName).collect(Collectors.joining(",")))
.append(") ");
}
}
}