Skip to content

Commit 6524907

Browse files
guojn1githubgxll
authored andcommitted
[fix][dingo-calcite] Add precision when the column type is char
1 parent a462464 commit 6524907

File tree

5 files changed

+8
-7
lines changed

5 files changed

+8
-7
lines changed

dingo-calcite/src/main/codegen/templates/Parser.jj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6613,9 +6613,9 @@ SqlNode BuiltinFunctionCall() :
66136613
<LPAREN> AddExpression(args, ExprContext.ACCEPT_SUB_QUERY) { aliasBuilder.append(this.token.image); }
66146614
<AS> { aliasBuilder.append(" ").append(this.token.image); }
66156615
(
6616-
dt = DataType() { args.add(dt); aliasBuilder.append(" ").append(this.token.image); }
6616+
dt = DataType() { args.add(dt); aliasBuilder.append(" ").append(dt.toString()); }
66176617
|
6618-
<INTERVAL> { aliasBuilder.append(" ").append(this.token.image); } e = IntervalQualifier() { args.add(e); aliasBuilder.append(this.token.image); }
6618+
<INTERVAL> { aliasBuilder.append(" ").append(this.token.image); } e = IntervalQualifier() { args.add(e); aliasBuilder.append(e.toString()); }
66196619
)
66206620
<RPAREN> {
66216621
SqlNode sqlNode = SqlStdOperatorTable.CAST.createCall(s.end(this), args);

dingo-calcite/src/main/java/io/dingodb/calcite/executor/ShowColumnsExecutor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ private List<List<String>> getColumnFields() {
102102
if (column.getPrecision() > 0) {
103103
type = type + "(" + column.getPrecision() + ")";
104104
}
105-
} else if (type.equals("VARCHAR")) {
105+
} else if (type.equals("VARCHAR") || type.equals("CHAR")) {
106106
if (column.getPrecision() > 0) {
107107
type = type + "(" + column.getPrecision() + ")";
108108
}

dingo-calcite/src/main/java/io/dingodb/calcite/executor/ShowCreateTableExecutor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,10 +289,10 @@ private String getCreateTable() {
289289
if (!"TXN_LSM".equalsIgnoreCase(indexTable.getEngine())) {
290290
createTableSqlStr.append(" engine=").append(indexTable.getEngine());
291291
}
292+
appendPart(indexTable, createTableSqlStr);
292293
if (StringUtils.isNotBlank(indexTable.getComment())) {
293-
createTableSqlStr.append(" comment ").append(indexTable.getComment());
294+
createTableSqlStr.append(" comment ").append("'").append(indexTable.getComment()).append("'");
294295
}
295-
appendPart(indexTable, createTableSqlStr);
296296
}
297297
}
298298
createTableSqlStr.append("\r\n");

dingo-calcite/src/main/java/io/dingodb/calcite/executor/VariableValidator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ public static String validator(String name, String value, String scope) {
5252
if (ScopeVariables.immutableVariables.contains(name)) {
5353
throw DingoErrUtil.newStdErr(ErrIncorrectGlobalLocalVar, name);
5454
}
55-
if (("SESSION".equals(scope) || "USER".equals(scope)) && ScopeVariables.containsGlobalVariable(name.toLowerCase())) {
55+
if (("SESSION".equals(scope) || "USER".equals(scope))
56+
&& ScopeVariables.containsGlobalVariable(name.toLowerCase())) {
5657
throw DINGO_RESOURCE.invalidSetGlobalVariable(name).ex();
5758
}
5859
if (name.equalsIgnoreCase("autocommit")

dingo-common/src/main/java/io/dingodb/common/mysql/scope/ScopeVariables.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public final class ScopeVariables {
3232

3333
public static final List<String> globalVariables = List.of("job_need_gc", "txn_history_duration",
3434
"safepoint_ts", "ssl_enable", "innodb_online_alter_log_max_size",
35-
"max_allowed_packet", "table_definition_cache");
35+
"max_allowed_packet", "table_definition_cache", "create_table_with_data");
3636

3737
static {
3838
//immutableVariables.add("version_comment");

0 commit comments

Comments
 (0)