This is an automated email from the ASF dual-hosted git repository.
zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 1f7d9c79887 Handle ALTER DATABASE without null result (#37394)
1f7d9c79887 is described below
commit 1f7d9c79887fc995fcb9166e402d9ee40db23823
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Dec 16 01:45:13 2025 +0800
Handle ALTER DATABASE without null result (#37394)
---
.../visitor/statement/type/PostgreSQLDDLStatementVisitor.java | 7 +++++++
test/it/parser/src/main/resources/case/ddl/alter-database.xml | 1 +
.../parser/src/main/resources/sql/supported/ddl/alter-database.xml | 1 +
3 files changed, 9 insertions(+)
diff --git
a/parser/sql/engine/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/engine/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
b/parser/sql/engine/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/engine/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
index 0858d312869..346da9c4d7a 100644
---
a/parser/sql/engine/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/engine/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
+++
b/parser/sql/engine/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/engine/postgresql/visitor/statement/type/PostgreSQLDDLStatementVisitor.java
@@ -27,6 +27,7 @@ import
org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.Ad
import
org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.AddConstraintSpecificationContext;
import
org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.AllContext;
import
org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.AlterAggregateContext;
+import
org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.AlterDatabaseContext;
import
org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.AlterCollationContext;
import
org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.AlterConversionContext;
import
org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.AlterDefaultPrivilegesContext;
@@ -216,6 +217,7 @@ import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.Tr
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.collation.AlterCollationStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.collation.CreateCollationStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.collation.DropCollationStatement;
+import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.database.AlterDatabaseStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.database.CreateDatabaseStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.database.DropDatabaseStatement;
import
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.domain.AlterDomainStatement;
@@ -847,6 +849,11 @@ public final class PostgreSQLDDLStatementVisitor extends
PostgreSQLStatementVisi
return new DropDatabaseStatement(getDatabaseType(), ((IdentifierValue)
visit(ctx.name())).getValue(), null != ctx.ifExists());
}
+ @Override
+ public ASTNode visitAlterDatabase(final AlterDatabaseContext ctx) {
+ return new AlterDatabaseStatement(getDatabaseType());
+ }
+
@Override
public ASTNode visitAlterRoutine(final AlterRoutineContext ctx) {
return new PostgreSQLAlterRoutineStatement(getDatabaseType());
diff --git a/test/it/parser/src/main/resources/case/ddl/alter-database.xml
b/test/it/parser/src/main/resources/case/ddl/alter-database.xml
index 4feccdd432b..cd43e5c88d3 100644
--- a/test/it/parser/src/main/resources/case/ddl/alter-database.xml
+++ b/test/it/parser/src/main/resources/case/ddl/alter-database.xml
@@ -97,4 +97,5 @@
<alter-database sql-case-id="alter_schema_set_location" />
<alter-database sql-case-id="alter_database_set_managedlocation" />
<alter-database sql-case-id="alter_schema_set_managedlocation" />
+ <alter-database sql-case-id="alter_database_set_lc_messages" />
</sql-parser-test-cases>
diff --git
a/test/it/parser/src/main/resources/sql/supported/ddl/alter-database.xml
b/test/it/parser/src/main/resources/sql/supported/ddl/alter-database.xml
index ebdfe1f8a75..5b7da87eeeb 100644
--- a/test/it/parser/src/main/resources/sql/supported/ddl/alter-database.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ddl/alter-database.xml
@@ -97,4 +97,5 @@
<sql-case id="alter_schema_set_location" value="ALTER SCHEMA test_db SET
LOCATION 'hdfs://namenode:8020/user/hive/warehouse/another_location';"
db-types="Hive" />
<sql-case id="alter_database_set_managedlocation" value="ALTER DATABASE
test_db SET MANAGEDLOCATION 'hdfs://namenode:8020/user/hive/managed/test_db';"
db-types="Hive" />
<sql-case id="alter_schema_set_managedlocation" value="ALTER SCHEMA
test_db SET MANAGEDLOCATION
'hdfs://namenode:8020/user/hive/managed/another_test_db';" db-types="Hive" />
+ <sql-case id="alter_database_set_lc_messages" value="ALTER DATABASE
"regression" SET lc_messages TO 'C'" db-types="PostgreSQL" />
</sql-cases>