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 24df451faba Refactor PostgreSQLCheckpointStatement to DALStatement 
(#35618)
24df451faba is described below

commit 24df451faba303a3dc3ed2b4945079b01a7ab6d6
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Jun 7 07:26:22 2025 +0800

    Refactor PostgreSQLCheckpointStatement to DALStatement (#35618)
    
    * Refactor PostgreSQLCheckpointStatement to DALStatement
    
    * Refactor PostgreSQLCheckpointStatement to DALStatement
    
    * Refactor PostgreSQLCheckpointStatement to DALStatement
    
    * Refactor PostgreSQLCheckpointStatement to DALStatement
---
 .../opengauss/src/main/antlr4/imports/opengauss/DALStatement.g4    | 4 ++++
 .../opengauss/src/main/antlr4/imports/opengauss/TCLStatement.g4    | 4 ----
 .../apache/shardingsphere/sql/parser/autogen/OpenGaussStatement.g4 | 2 +-
 .../visitor/statement/type/OpenGaussDALStatementVisitor.java       | 7 +++++++
 .../visitor/statement/type/OpenGaussTCLStatementVisitor.java       | 7 -------
 .../postgresql/src/main/antlr4/imports/postgresql/DALStatement.g4  | 4 ++++
 .../postgresql/src/main/antlr4/imports/postgresql/TCLStatement.g4  | 3 ---
 .../shardingsphere/sql/parser/autogen/PostgreSQLStatementParser.g4 | 2 +-
 .../visitor/statement/type/PostgreSQLDALStatementVisitor.java      | 7 +++++++
 .../visitor/statement/type/PostgreSQLTCLStatementVisitor.java      | 7 -------
 .../sql/parser/core/database/visitor/SQLVisitorRule.java           | 4 ++--
 .../statement/postgresql/dal/PostgreSQLCheckpointStatement.java}   | 7 ++++---
 test/it/parser/src/main/resources/case/{dml => dal}/checkpoint.xml | 0
 .../src/main/resources/sql/supported/{dml => dal}/checkpoint.xml   | 0
 14 files changed, 30 insertions(+), 28 deletions(-)

diff --git 
a/parser/sql/dialect/opengauss/src/main/antlr4/imports/opengauss/DALStatement.g4
 
b/parser/sql/dialect/opengauss/src/main/antlr4/imports/opengauss/DALStatement.g4
index 17ddd22334e..7debded0de9 100644
--- 
a/parser/sql/dialect/opengauss/src/main/antlr4/imports/opengauss/DALStatement.g4
+++ 
b/parser/sql/dialect/opengauss/src/main/antlr4/imports/opengauss/DALStatement.g4
@@ -128,6 +128,10 @@ vacuum
     : VACUUM ((FULL? FREEZE? VERBOSE? ANALYZE?) | (LP_ vacAnalyzeOptionList 
RP_)) vacuumRelationList?
     ;
 
+checkpoint
+    : CHECKPOINT
+    ;
+
 emptyStatement
     :
     ;
diff --git 
a/parser/sql/dialect/opengauss/src/main/antlr4/imports/opengauss/TCLStatement.g4
 
b/parser/sql/dialect/opengauss/src/main/antlr4/imports/opengauss/TCLStatement.g4
index 540900c28b1..e998bf35261 100644
--- 
a/parser/sql/dialect/opengauss/src/main/antlr4/imports/opengauss/TCLStatement.g4
+++ 
b/parser/sql/dialect/opengauss/src/main/antlr4/imports/opengauss/TCLStatement.g4
@@ -88,10 +88,6 @@ constraintsSetList
     : ALL | qualifiedNameList
     ;
 
-checkpoint
-    : CHECKPOINT
-    ;
-
 lock
     : LOCK TABLE? relationExprList (IN lockType MODE)? NOWAIT?
     ;
diff --git 
a/parser/sql/dialect/opengauss/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/OpenGaussStatement.g4
 
b/parser/sql/dialect/opengauss/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/OpenGaussStatement.g4
index c494de2386f..a3d510c83df 100644
--- 
a/parser/sql/dialect/opengauss/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/OpenGaussStatement.g4
+++ 
b/parser/sql/dialect/opengauss/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/OpenGaussStatement.g4
@@ -131,12 +131,12 @@ execute
     | createCast
     | dropCast
     | alterRule
-    | checkpoint
     | alterType
     | createPublication
     | dropPublication
     | createAggregate
     | alterPackage
+    | checkpoint
     | emptyStatement
     ) SEMI_? EOF
     ;
diff --git 
a/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDALStatementVisitor.java
 
b/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDALStatementVisitor.java
index e222d6a5527..c5b5f696f36 100644
--- 
a/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDALStatementVisitor.java
+++ 
b/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussDALStatementVisitor.java
@@ -20,6 +20,7 @@ package 
org.apache.shardingsphere.sql.parser.opengauss.visitor.statement.type;
 import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import 
org.apache.shardingsphere.sql.parser.api.visitor.statement.type.DALStatementVisitor;
 import 
org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.AnalyzeTableContext;
+import 
org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.CheckpointContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.ColIdContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.ConfigurationParameterClauseContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.EmptyStatementContext;
@@ -46,6 +47,7 @@ import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dal.ResetPa
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dal.SetStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dal.ShowStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dal.VacuumStatement;
+import 
org.apache.shardingsphere.sql.parser.statement.postgresql.dal.PostgreSQLCheckpointStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.value.collection.CollectionValue;
 import 
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
 
@@ -172,6 +174,11 @@ public final class OpenGaussDALStatementVisitor extends 
OpenGaussStatementVisito
         return visit(ctx.refreshMatViewStmt());
     }
     
+    @Override
+    public ASTNode visitCheckpoint(final CheckpointContext ctx) {
+        return new PostgreSQLCheckpointStatement();
+    }
+    
     @Override
     public ASTNode visitEmptyStatement(final EmptyStatementContext ctx) {
         return new EmptyStatement();
diff --git 
a/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussTCLStatementVisitor.java
 
b/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussTCLStatementVisitor.java
index c09338db79d..62dd6f4b9c4 100644
--- 
a/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussTCLStatementVisitor.java
+++ 
b/parser/sql/dialect/opengauss/src/main/java/org/apache/shardingsphere/sql/parser/opengauss/visitor/statement/type/OpenGaussTCLStatementVisitor.java
@@ -21,7 +21,6 @@ import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import 
org.apache.shardingsphere.sql.parser.api.visitor.statement.type.TCLStatementVisitor;
 import 
org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.AbortContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.BeginTransactionContext;
-import 
org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.CheckpointContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.CommitContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.CommitPreparedContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.EndContext;
@@ -35,7 +34,6 @@ import 
org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.Set
 import 
org.apache.shardingsphere.sql.parser.autogen.OpenGaussStatementParser.StartTransactionContext;
 import 
org.apache.shardingsphere.sql.parser.opengauss.visitor.statement.OpenGaussStatementVisitor;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.tcl.BeginTransactionStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.tcl.CheckpointStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.tcl.CommitStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.tcl.ReleaseSavepointStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.tcl.RollbackStatement;
@@ -115,9 +113,4 @@ public final class OpenGaussTCLStatementVisitor extends 
OpenGaussStatementVisito
     public ASTNode visitRollbackPrepared(final RollbackPreparedContext ctx) {
         return new XARollbackStatement(ctx.gid().getText());
     }
-    
-    @Override
-    public ASTNode visitCheckpoint(final CheckpointContext ctx) {
-        return new CheckpointStatement();
-    }
 }
diff --git 
a/parser/sql/dialect/postgresql/src/main/antlr4/imports/postgresql/DALStatement.g4
 
b/parser/sql/dialect/postgresql/src/main/antlr4/imports/postgresql/DALStatement.g4
index 3ad3e9b6fe0..88deadeb328 100644
--- 
a/parser/sql/dialect/postgresql/src/main/antlr4/imports/postgresql/DALStatement.g4
+++ 
b/parser/sql/dialect/postgresql/src/main/antlr4/imports/postgresql/DALStatement.g4
@@ -129,6 +129,10 @@ vacuum
     : VACUUM ((FULL? FREEZE? VERBOSE? ANALYZE?) | (LP_ vacAnalyzeOptionList 
RP_)) vacuumRelationList?
     ;
 
+checkpoint
+    : CHECKPOINT
+    ;
+
 emptyStatement
     :
     ;
diff --git 
a/parser/sql/dialect/postgresql/src/main/antlr4/imports/postgresql/TCLStatement.g4
 
b/parser/sql/dialect/postgresql/src/main/antlr4/imports/postgresql/TCLStatement.g4
index e9345258167..5f1716f95c9 100644
--- 
a/parser/sql/dialect/postgresql/src/main/antlr4/imports/postgresql/TCLStatement.g4
+++ 
b/parser/sql/dialect/postgresql/src/main/antlr4/imports/postgresql/TCLStatement.g4
@@ -107,6 +107,3 @@ lockType
     | ACCESS EXCLUSIVE
     ;
 
-checkpoint
-    : CHECKPOINT
-    ;
diff --git 
a/parser/sql/dialect/postgresql/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/PostgreSQLStatementParser.g4
 
b/parser/sql/dialect/postgresql/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/PostgreSQLStatementParser.g4
index cd02b9e7361..e070e9c4dd6 100644
--- 
a/parser/sql/dialect/postgresql/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/PostgreSQLStatementParser.g4
+++ 
b/parser/sql/dialect/postgresql/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/PostgreSQLStatementParser.g4
@@ -149,7 +149,6 @@ execute
     | dropAccessMethod
     | dropServer
     | alterPolicy
-    | checkpoint
     | fetch
     | move
     | close
@@ -180,6 +179,7 @@ execute
     | alterType
     | alterTrigger
     | createPublication
+    | checkpoint
     | emptyStatement
     | open
     ) SEMI_? EOF
diff --git 
a/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDALStatementVisitor.java
 
b/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDALStatementVisitor.java
index d073decf8c4..f607619ff2a 100644
--- 
a/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDALStatementVisitor.java
+++ 
b/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLDALStatementVisitor.java
@@ -20,6 +20,7 @@ package 
org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.type;
 import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import 
org.apache.shardingsphere.sql.parser.api.visitor.statement.type.DALStatementVisitor;
 import 
org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.AnalyzeTableContext;
+import 
org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.CheckpointContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.ColIdContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.ConfigurationParameterClauseContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.EmptyStatementContext;
@@ -46,6 +47,7 @@ import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dal.ResetPa
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dal.SetStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dal.ShowStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dal.VacuumStatement;
+import 
org.apache.shardingsphere.sql.parser.statement.postgresql.dal.PostgreSQLCheckpointStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.value.collection.CollectionValue;
 import 
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
 
@@ -176,6 +178,11 @@ public final class PostgreSQLDALStatementVisitor extends 
PostgreSQLStatementVisi
         return visit(ctx.refreshMatViewStmt());
     }
     
+    @Override
+    public ASTNode visitCheckpoint(final CheckpointContext ctx) {
+        return new PostgreSQLCheckpointStatement();
+    }
+    
     @Override
     public ASTNode visitEmptyStatement(final EmptyStatementContext ctx) {
         return new EmptyStatement();
diff --git 
a/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLTCLStatementVisitor.java
 
b/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLTCLStatementVisitor.java
index 7136961f5ca..cdfc17758f9 100644
--- 
a/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLTCLStatementVisitor.java
+++ 
b/parser/sql/dialect/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/postgresql/visitor/statement/type/PostgreSQLTCLStatementVisitor.java
@@ -21,7 +21,6 @@ import org.apache.shardingsphere.sql.parser.api.ASTNode;
 import 
org.apache.shardingsphere.sql.parser.api.visitor.statement.type.TCLStatementVisitor;
 import 
org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.AbortContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.BeginTransactionContext;
-import 
org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.CheckpointContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.CommitContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.CommitPreparedContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.PostgreSQLStatementParser.EndContext;
@@ -43,7 +42,6 @@ import 
org.apache.shardingsphere.sql.parser.statement.core.enums.TransactionAcce
 import 
org.apache.shardingsphere.sql.parser.statement.core.enums.TransactionIsolationLevel;
 import 
org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.SimpleTableSegment;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.tcl.BeginTransactionStatement;
-import 
org.apache.shardingsphere.sql.parser.statement.core.statement.tcl.CheckpointStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.tcl.CommitStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.tcl.LockStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.tcl.ReleaseSavepointStatement;
@@ -181,9 +179,4 @@ public final class PostgreSQLTCLStatementVisitor extends 
PostgreSQLStatementVisi
     private Collection<SimpleTableSegment> getLockTables(final 
Collection<RelationExprContext> relationExprContexts) {
         return relationExprContexts.stream().map(each -> (SimpleTableSegment) 
visit(each.qualifiedName())).collect(Collectors.toList());
     }
-    
-    @Override
-    public ASTNode visitCheckpoint(final CheckpointContext ctx) {
-        return new CheckpointStatement();
-    }
 }
diff --git 
a/parser/sql/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/visitor/SQLVisitorRule.java
 
b/parser/sql/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/visitor/SQLVisitorRule.java
index adc547a80e8..db76caec1c6 100644
--- 
a/parser/sql/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/visitor/SQLVisitorRule.java
+++ 
b/parser/sql/engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/visitor/SQLVisitorRule.java
@@ -461,6 +461,8 @@ public enum SQLVisitorRule {
     
     CHECKSUM_TABLE("ChecksumTable", SQLStatementType.DAL),
     
+    CHECKPOINT("Checkpoint", SQLStatementType.DAL),
+    
     DROP_RESOURCE_GROUP("DropResourceGroup", SQLStatementType.DAL),
     
     ALTER_RESOURCE_GROUP("AlterResourceGroup", SQLStatementType.DAL),
@@ -649,8 +651,6 @@ public enum SQLVisitorRule {
     
     DO("DoStatement", SQLStatementType.DML),
     
-    CHECKPOINT("Checkpoint", SQLStatementType.TCL),
-    
     PREPARE_TRANSACTION("PrepareTransaction", SQLStatementType.TCL),
     
     REASSIGN_OWNED("ReassignOwned", SQLStatementType.DCL),
diff --git 
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/tcl/CheckpointStatement.java
 
b/parser/sql/statement/type/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/statement/postgresql/dal/PostgreSQLCheckpointStatement.java
similarity index 75%
rename from 
parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/tcl/CheckpointStatement.java
rename to 
parser/sql/statement/type/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/statement/postgresql/dal/PostgreSQLCheckpointStatement.java
index de761d1f630..54932ea915a 100644
--- 
a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/tcl/CheckpointStatement.java
+++ 
b/parser/sql/statement/type/postgresql/src/main/java/org/apache/shardingsphere/sql/parser/statement/postgresql/dal/PostgreSQLCheckpointStatement.java
@@ -15,12 +15,13 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.statement.core.statement.tcl;
+package org.apache.shardingsphere.sql.parser.statement.postgresql.dal;
 
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.AbstractSQLStatement;
+import 
org.apache.shardingsphere.sql.parser.statement.core.statement.dal.DALStatement;
 
 /**
- * Checkpoint statement.
+ * PostgreSQL checkpoint statement.
  */
-public final class CheckpointStatement extends AbstractSQLStatement implements 
TCLStatement {
+public final class PostgreSQLCheckpointStatement extends AbstractSQLStatement 
implements DALStatement {
 }
diff --git a/test/it/parser/src/main/resources/case/dml/checkpoint.xml 
b/test/it/parser/src/main/resources/case/dal/checkpoint.xml
similarity index 100%
rename from test/it/parser/src/main/resources/case/dml/checkpoint.xml
rename to test/it/parser/src/main/resources/case/dal/checkpoint.xml
diff --git a/test/it/parser/src/main/resources/sql/supported/dml/checkpoint.xml 
b/test/it/parser/src/main/resources/sql/supported/dal/checkpoint.xml
similarity index 100%
rename from test/it/parser/src/main/resources/sql/supported/dml/checkpoint.xml
rename to test/it/parser/src/main/resources/sql/supported/dal/checkpoint.xml

Reply via email to