You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2025/06/05 08:56:47 UTC

(shardingsphere) branch master updated: Remove useless parser-sql-statement-hive (#35593)

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 4b5cd11d6ee Remove useless parser-sql-statement-hive (#35593)
4b5cd11d6ee is described below

commit 4b5cd11d6eef3c3e25e3a50c399ffb3a6aa9a59c
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Thu Jun 5 16:56:41 2025 +0800

    Remove useless parser-sql-statement-hive (#35593)
    
    * Remove useless parser-sql-statement-firebird
    
    * Remove useless parser-sql-statement-hive
    
    * Remove useless parser-sql-statement-hive
---
 parser/sql/dialect/hive/pom.xml                    |  5 --
 .../statement/type/HiveDMLStatementVisitor.java    | 68 ++++++++++------------
 .../core/statement/dml/DeleteStatement.java        | 26 +++------
 .../core/statement/dml/InsertStatement.java        | 24 ++------
 .../core/statement/dml/SelectStatement.java        | 24 ++------
 .../core/statement/dml/UpdateStatement.java        | 24 ++------
 parser/sql/statement/type/hive/pom.xml             | 36 ------------
 .../sql/parser/statement/hive/HiveStatement.java   | 26 ---------
 .../statement/hive/dml/HiveDeleteStatement.java    | 47 ---------------
 .../statement/hive/dml/HiveInsertStatement.java    | 47 ---------------
 .../statement/hive/dml/HiveSelectStatement.java    | 55 -----------------
 .../statement/hive/dml/HiveUpdateStatement.java    | 47 ---------------
 parser/sql/statement/type/pom.xml                  |  1 -
 test/it/parser/pom.xml                             |  5 --
 14 files changed, 57 insertions(+), 378 deletions(-)

diff --git a/parser/sql/dialect/hive/pom.xml b/parser/sql/dialect/hive/pom.xml
index b36f24ead54..40a8dff1544 100644
--- a/parser/sql/dialect/hive/pom.xml
+++ b/parser/sql/dialect/hive/pom.xml
@@ -36,11 +36,6 @@
             <artifactId>shardingsphere-infra-database-hive</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-parser-sql-statement-hive</artifactId>
-            <version>${project.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
             <artifactId>shardingsphere-parser-sql-statement-mysql</artifactId>
diff --git a/parser/sql/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/hive/visitor/statement/type/HiveDMLStatementVisitor.java b/parser/sql/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/hive/visitor/statement/type/HiveDMLStatementVisitor.java
index fef347ef91c..75a7feb568f 100644
--- a/parser/sql/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/hive/visitor/statement/type/HiveDMLStatementVisitor.java
+++ b/parser/sql/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/hive/visitor/statement/type/HiveDMLStatementVisitor.java
@@ -175,6 +175,10 @@ import org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table
 import org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.SubqueryTableSegment;
 import org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.TableNameSegment;
 import org.apache.shardingsphere.sql.parser.statement.core.segment.generic.table.TableSegment;
+import org.apache.shardingsphere.sql.parser.statement.core.statement.dml.DeleteStatement;
+import org.apache.shardingsphere.sql.parser.statement.core.statement.dml.InsertStatement;
+import org.apache.shardingsphere.sql.parser.statement.core.statement.dml.SelectStatement;
+import org.apache.shardingsphere.sql.parser.statement.core.statement.dml.UpdateStatement;
 import org.apache.shardingsphere.sql.parser.statement.core.util.SQLUtils;
 import org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
 import org.apache.shardingsphere.sql.parser.statement.core.value.literal.impl.BooleanLiteralValue;
@@ -182,10 +186,6 @@ import org.apache.shardingsphere.sql.parser.statement.core.value.literal.impl.Nu
 import org.apache.shardingsphere.sql.parser.statement.core.value.literal.impl.OtherLiteralValue;
 import org.apache.shardingsphere.sql.parser.statement.core.value.literal.impl.StringLiteralValue;
 import org.apache.shardingsphere.sql.parser.statement.core.value.parametermarker.ParameterMarkerValue;
-import org.apache.shardingsphere.sql.parser.statement.hive.dml.HiveDeleteStatement;
-import org.apache.shardingsphere.sql.parser.statement.hive.dml.HiveInsertStatement;
-import org.apache.shardingsphere.sql.parser.statement.hive.dml.HiveSelectStatement;
-import org.apache.shardingsphere.sql.parser.statement.hive.dml.HiveUpdateStatement;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
@@ -210,7 +210,7 @@ public final class HiveDMLStatementVisitor extends HiveStatementVisitor implemen
         if (null != ctx.queryExpressionParens()) {
             return visit(ctx.queryExpressionParens());
         }
-        HiveSelectStatement result = (HiveSelectStatement) visit(ctx.queryExpression());
+        SelectStatement result = (SelectStatement) visit(ctx.queryExpression());
         if (null != ctx.lockClauseList()) {
             result.setLock((LockSegment) visit(ctx.lockClauseList()));
         }
@@ -231,11 +231,11 @@ public final class HiveDMLStatementVisitor extends HiveStatementVisitor implemen
     
     @Override
     public ASTNode visitQueryExpression(final QueryExpressionContext ctx) {
-        HiveSelectStatement result;
+        SelectStatement result;
         if (null != ctx.queryExpressionBody()) {
-            result = (HiveSelectStatement) visit(ctx.queryExpressionBody());
+            result = (SelectStatement) visit(ctx.queryExpressionBody());
         } else {
-            result = (HiveSelectStatement) visit(ctx.queryExpressionParens());
+            result = (SelectStatement) visit(ctx.queryExpressionParens());
         }
         if (null != ctx.orderByClause()) {
             result.setOrderBy((OrderBySegment) visit(ctx.orderByClause()));
@@ -251,7 +251,7 @@ public final class HiveDMLStatementVisitor extends HiveStatementVisitor implemen
         if (null != ctx.selectWithInto()) {
             return visit(ctx.selectWithInto());
         }
-        HiveSelectStatement result = (HiveSelectStatement) visit(ctx.queryExpression());
+        SelectStatement result = (SelectStatement) visit(ctx.queryExpression());
         if (null != ctx.lockClauseList()) {
             result.setLock((LockSegment) visit(ctx.lockClauseList()));
         }
@@ -264,18 +264,18 @@ public final class HiveDMLStatementVisitor extends HiveStatementVisitor implemen
             return visit(ctx.queryPrimary());
         }
         if (null != ctx.queryExpressionBody()) {
-            HiveSelectStatement result = new HiveSelectStatement();
+            SelectStatement result = new SelectStatement();
             SubquerySegment left = new SubquerySegment(ctx.queryExpressionBody().start.getStartIndex(), ctx.queryExpressionBody().stop.getStopIndex(),
-                    (HiveSelectStatement) visit(ctx.queryExpressionBody()), getOriginalText(ctx.queryExpressionBody()));
+                    (SelectStatement) visit(ctx.queryExpressionBody()), getOriginalText(ctx.queryExpressionBody()));
             result.setProjections(left.getSelect().getProjections());
             left.getSelect().getFrom().ifPresent(result::setFrom);
             result.setCombine(createCombineSegment(ctx.combineClause(), left));
             return result;
         }
         if (null != ctx.queryExpressionParens()) {
-            HiveSelectStatement result = new HiveSelectStatement();
+            SelectStatement result = new SelectStatement();
             SubquerySegment left = new SubquerySegment(ctx.queryExpressionParens().start.getStartIndex(), ctx.queryExpressionParens().stop.getStopIndex(),
-                    (HiveSelectStatement) visit(ctx.queryExpressionParens()), getOriginalText(ctx.queryExpressionParens()));
+                    (SelectStatement) visit(ctx.queryExpressionParens()), getOriginalText(ctx.queryExpressionParens()));
             result.setProjections(left.getSelect().getProjections());
             left.getSelect().getFrom().ifPresent(result::setFrom);
             result.setCombine(createCombineSegment(ctx.combineClause(), left));
@@ -292,13 +292,13 @@ public final class HiveDMLStatementVisitor extends HiveStatementVisitor implemen
             combineType = null == ctx.combineOption() || null == ctx.combineOption().ALL() ? CombineType.UNION : CombineType.UNION_ALL;
         }
         ParserRuleContext ruleContext = null == ctx.queryPrimary() ? ctx.queryExpressionParens() : ctx.queryPrimary();
-        SubquerySegment right = new SubquerySegment(ruleContext.start.getStartIndex(), ruleContext.stop.getStopIndex(), (HiveSelectStatement) visit(ruleContext), getOriginalText(ruleContext));
+        SubquerySegment right = new SubquerySegment(ruleContext.start.getStartIndex(), ruleContext.stop.getStopIndex(), (SelectStatement) visit(ruleContext), getOriginalText(ruleContext));
         return new CombineSegment(ctx.getStart().getStartIndex(), ctx.getStop().getStopIndex(), left, combineType, right);
     }
     
     @Override
     public ASTNode visitQuerySpecification(final QuerySpecificationContext ctx) {
-        HiveSelectStatement result = new HiveSelectStatement();
+        SelectStatement result = new SelectStatement();
         result.setProjections((ProjectionsSegment) visit(ctx.projections()));
         if (null != ctx.selectSpecification()) {
             result.getProjections().setDistinctRow(isDistinct(ctx));
@@ -331,7 +331,7 @@ public final class HiveDMLStatementVisitor extends HiveStatementVisitor implemen
     
     @Override
     public ASTNode visitTableValueConstructor(final TableValueConstructorContext ctx) {
-        HiveSelectStatement result = new HiveSelectStatement();
+        SelectStatement result = new SelectStatement();
         int startIndex = ctx.getStart().getStartIndex();
         int stopIndex = ctx.getStop().getStopIndex();
         ValuesExpression valuesExpression = new ValuesExpression(startIndex, stopIndex);
@@ -351,7 +351,7 @@ public final class HiveDMLStatementVisitor extends HiveStatementVisitor implemen
     
     @Override
     public ASTNode visitTableStatement(final TableStatementContext ctx) {
-        HiveSelectStatement result = new HiveSelectStatement();
+        SelectStatement result = new SelectStatement();
         if (null != ctx.TABLE()) {
             result.setFrom(new SimpleTableSegment(new TableNameSegment(ctx.start.getStartIndex(), ctx.stop.getStopIndex(),
                     new IdentifierValue(ctx.tableName().getText()))));
@@ -849,13 +849,13 @@ public final class HiveDMLStatementVisitor extends HiveStatementVisitor implemen
     @Override
     public ASTNode visitInsert(final InsertContext ctx) {
         // TODO :FIXME, since there is no segment for insertValuesClause, InsertStatement is created by sub rule.
-        HiveInsertStatement result;
+        InsertStatement result;
         if (null != ctx.insertValuesClause()) {
-            result = (HiveInsertStatement) visit(ctx.insertValuesClause());
+            result = (InsertStatement) visit(ctx.insertValuesClause());
         } else if (null != ctx.insertSelectClause()) {
-            result = (HiveInsertStatement) visit(ctx.insertSelectClause());
+            result = (InsertStatement) visit(ctx.insertSelectClause());
         } else {
-            result = new HiveInsertStatement();
+            result = new InsertStatement();
             result.setSetAssignment((SetAssignmentSegment) visit(ctx.setAssignmentsClause()));
         }
         if (null != ctx.onDuplicateKeyClause()) {
@@ -868,7 +868,7 @@ public final class HiveDMLStatementVisitor extends HiveStatementVisitor implemen
     
     @Override
     public ASTNode visitInsertSelectClause(final InsertSelectClauseContext ctx) {
-        HiveInsertStatement result = new HiveInsertStatement();
+        InsertStatement result = new InsertStatement();
         if (null != ctx.LP_()) {
             if (null != ctx.fields()) {
                 result.setInsertColumns(new InsertColumnsSegment(ctx.LP_().getSymbol().getStartIndex(), ctx.RP_().getSymbol().getStopIndex(), createInsertColumns(ctx.fields())));
@@ -883,13 +883,13 @@ public final class HiveDMLStatementVisitor extends HiveStatementVisitor implemen
     }
     
     private SubquerySegment createInsertSelectSegment(final InsertSelectClauseContext ctx) {
-        HiveSelectStatement selectStatement = (HiveSelectStatement) visit(ctx.select());
+        SelectStatement selectStatement = (SelectStatement) visit(ctx.select());
         return new SubquerySegment(ctx.select().start.getStartIndex(), ctx.select().stop.getStopIndex(), selectStatement, getOriginalText(ctx.select()));
     }
     
     @Override
     public ASTNode visitInsertValuesClause(final InsertValuesClauseContext ctx) {
-        HiveInsertStatement result = new HiveInsertStatement();
+        InsertStatement result = new InsertStatement();
         if (null != ctx.LP_()) {
             if (null != ctx.fields()) {
                 result.setInsertColumns(new InsertColumnsSegment(ctx.LP_().getSymbol().getStartIndex(), ctx.RP_().getSymbol().getStopIndex(), createInsertColumns(ctx.fields())));
@@ -930,7 +930,7 @@ public final class HiveDMLStatementVisitor extends HiveStatementVisitor implemen
     
     @Override
     public ASTNode visitUpdate(final UpdateContext ctx) {
-        HiveUpdateStatement result = new HiveUpdateStatement();
+        UpdateStatement result = new UpdateStatement();
         TableSegment tableSegment = (TableSegment) visit(ctx.tableReferences());
         result.setTable(tableSegment);
         result.setSetAssignment((SetAssignmentSegment) visit(ctx.setAssignmentsClause()));
@@ -995,12 +995,8 @@ public final class HiveDMLStatementVisitor extends HiveStatementVisitor implemen
     
     @Override
     public ASTNode visitDelete(final DeleteContext ctx) {
-        HiveDeleteStatement result = new HiveDeleteStatement();
-        if (null != ctx.multipleTablesClause()) {
-            result.setTable((TableSegment) visit(ctx.multipleTablesClause()));
-        } else {
-            result.setTable((TableSegment) visit(ctx.singleTableClause()));
-        }
+        DeleteStatement result = new DeleteStatement();
+        result.setTable(null == ctx.multipleTablesClause() ? (TableSegment) visit(ctx.singleTableClause()) : (TableSegment) visit(ctx.multipleTablesClause()));
         if (null != ctx.whereClause()) {
             result.setWhere((WhereSegment) visit(ctx.whereClause()));
         }
@@ -1043,16 +1039,16 @@ public final class HiveDMLStatementVisitor extends HiveStatementVisitor implemen
     @Override
     public ASTNode visitSelect(final SelectContext ctx) {
         // TODO :Unsupported for withClause.
-        HiveSelectStatement result;
+        SelectStatement result;
         if (null != ctx.queryExpression()) {
-            result = (HiveSelectStatement) visit(ctx.queryExpression());
+            result = (SelectStatement) visit(ctx.queryExpression());
             if (null != ctx.lockClauseList()) {
                 result.setLock((LockSegment) visit(ctx.lockClauseList()));
             }
         } else if (null != ctx.selectWithInto()) {
-            result = (HiveSelectStatement) visit(ctx.selectWithInto());
+            result = (SelectStatement) visit(ctx.selectWithInto());
         } else {
-            result = (HiveSelectStatement) visit(ctx.getChild(0));
+            result = (SelectStatement) visit(ctx.getChild(0));
         }
         result.addParameterMarkerSegments(getParameterMarkerSegments());
         return result;
@@ -1272,7 +1268,7 @@ public final class HiveDMLStatementVisitor extends HiveStatementVisitor implemen
     @Override
     public ASTNode visitTableFactor(final TableFactorContext ctx) {
         if (null != ctx.subquery()) {
-            HiveSelectStatement subquery = (HiveSelectStatement) visit(ctx.subquery());
+            SelectStatement subquery = (SelectStatement) visit(ctx.subquery());
             SubquerySegment subquerySegment = new SubquerySegment(ctx.subquery().start.getStartIndex(), ctx.subquery().stop.getStopIndex(), subquery, getOriginalText(ctx.subquery()));
             SubqueryTableSegment result = new SubqueryTableSegment(ctx.start.getStartIndex(), ctx.stop.getStopIndex(), subquerySegment);
             if (null != ctx.alias()) {
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/DeleteStatement.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/DeleteStatement.java
index 13f22539588..fb8a36a70f9 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/DeleteStatement.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/DeleteStatement.java
@@ -33,14 +33,18 @@ import java.util.Optional;
 /**
  * Delete statement.
  */
+@Getter
 @Setter
 public class DeleteStatement extends AbstractSQLStatement implements DMLStatement {
     
-    @Getter
     private TableSegment table;
     
     private WhereSegment where;
     
+    private OrderBySegment orderBy;
+    
+    private LimitSegment limit;
+    
     private ReturningSegment returningSegment;
     
     /**
@@ -58,7 +62,7 @@ public class DeleteStatement extends AbstractSQLStatement implements DMLStatemen
      * @return order by
      */
     public Optional<OrderBySegment> getOrderBy() {
-        return Optional.empty();
+        return Optional.ofNullable(orderBy);
     }
     
     /**
@@ -67,7 +71,7 @@ public class DeleteStatement extends AbstractSQLStatement implements DMLStatemen
      * @return limit
      */
     public Optional<LimitSegment> getLimit() {
-        return Optional.empty();
+        return Optional.ofNullable(limit);
     }
     
     /**
@@ -88,22 +92,6 @@ public class DeleteStatement extends AbstractSQLStatement implements DMLStatemen
         return Optional.empty();
     }
     
-    /**
-     * Set order by segment.
-     *
-     * @param orderBySegment order by segment
-     */
-    public void setOrderBy(final OrderBySegment orderBySegment) {
-    }
-    
-    /**
-     * Set limit segment.
-     *
-     * @param limitSegment limit segment
-     */
-    public void setLimit(final LimitSegment limitSegment) {
-    }
-    
     /**
      * Set output segment.
      *
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/InsertStatement.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/InsertStatement.java
index 74b33119ca7..868b3b9c990 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/InsertStatement.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/InsertStatement.java
@@ -56,6 +56,10 @@ public class InsertStatement extends AbstractSQLStatement implements DMLStatemen
     
     private SubquerySegment insertSelect;
     
+    private SetAssignmentSegment setAssignment;
+    
+    private OnDuplicateKeyColumnsSegment onDuplicateKeyColumns;
+    
     private ReturningSegment returningSegment;
     
     private final Collection<InsertValuesSegment> values = new LinkedList<>();
@@ -104,15 +108,7 @@ public class InsertStatement extends AbstractSQLStatement implements DMLStatemen
      * @return on duplicate key columns segment
      */
     public Optional<OnDuplicateKeyColumnsSegment> getOnDuplicateKeyColumns() {
-        return Optional.empty();
-    }
-    
-    /**
-     * Set on duplicate key columns segment.
-     *
-     * @param onDuplicateKeyColumns on duplicate key columns segment
-     */
-    public void setOnDuplicateKeyColumns(final OnDuplicateKeyColumnsSegment onDuplicateKeyColumns) {
+        return Optional.ofNullable(onDuplicateKeyColumns);
     }
     
     /**
@@ -121,15 +117,7 @@ public class InsertStatement extends AbstractSQLStatement implements DMLStatemen
      * @return set assignment segment
      */
     public Optional<SetAssignmentSegment> getSetAssignment() {
-        return Optional.empty();
-    }
-    
-    /**
-     * Set set assignment segment.
-     *
-     * @param setAssignment set assignment segment
-     */
-    public void setSetAssignment(final SetAssignmentSegment setAssignment) {
+        return Optional.ofNullable(setAssignment);
     }
     
     /**
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/SelectStatement.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/SelectStatement.java
index f1f03a7de7f..9b12d62bc8c 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/SelectStatement.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/SelectStatement.java
@@ -63,6 +63,10 @@ public class SelectStatement extends AbstractSQLStatement implements DMLStatemen
     
     private LimitSegment limit;
     
+    private LockSegment lock;
+    
+    private WindowSegment window;
+    
     /**
      * Get from.
      *
@@ -150,15 +154,7 @@ public class SelectStatement extends AbstractSQLStatement implements DMLStatemen
      * @return lock segment
      */
     public Optional<LockSegment> getLock() {
-        return Optional.empty();
-    }
-    
-    /**
-     * Set lock segment.
-     *
-     * @param lockSegment lock segment
-     */
-    public void setLock(final LockSegment lockSegment) {
+        return Optional.ofNullable(lock);
     }
     
     /**
@@ -167,15 +163,7 @@ public class SelectStatement extends AbstractSQLStatement implements DMLStatemen
      * @return window segment
      */
     public Optional<WindowSegment> getWindow() {
-        return Optional.empty();
-    }
-    
-    /**
-     * Set window segment.
-     *
-     * @param windowSegment window segment
-     */
-    public void setWindow(final WindowSegment windowSegment) {
+        return Optional.ofNullable(window);
     }
     
     /**
diff --git a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/UpdateStatement.java b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/UpdateStatement.java
index 4877e03bb72..9e91ea49dc5 100644
--- a/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/UpdateStatement.java
+++ b/parser/sql/statement/core/src/main/java/org/apache/shardingsphere/sql/parser/statement/core/statement/dml/UpdateStatement.java
@@ -45,6 +45,10 @@ public class UpdateStatement extends AbstractSQLStatement implements DMLStatemen
     
     private WhereSegment where;
     
+    private OrderBySegment orderBy;
+    
+    private LimitSegment limit;
+    
     private ReturningSegment returningSegment;
     
     /**
@@ -71,7 +75,7 @@ public class UpdateStatement extends AbstractSQLStatement implements DMLStatemen
      * @return order by segment
      */
     public Optional<OrderBySegment> getOrderBy() {
-        return Optional.empty();
+        return Optional.ofNullable(orderBy);
     }
     
     /**
@@ -80,7 +84,7 @@ public class UpdateStatement extends AbstractSQLStatement implements DMLStatemen
      * @return limit segment
      */
     public Optional<LimitSegment> getLimit() {
-        return Optional.empty();
+        return Optional.ofNullable(limit);
     }
     
     /**
@@ -110,22 +114,6 @@ public class UpdateStatement extends AbstractSQLStatement implements DMLStatemen
         return Optional.empty();
     }
     
-    /**
-     * Set order by segment.
-     *
-     * @param orderBySegment order by segment
-     */
-    public void setOrderBy(final OrderBySegment orderBySegment) {
-    }
-    
-    /**
-     * Set limit segment.
-     *
-     * @param limitSegment limit segment
-     */
-    public void setLimit(final LimitSegment limitSegment) {
-    }
-    
     /**
      * Set with segment.
      *
diff --git a/parser/sql/statement/type/hive/pom.xml b/parser/sql/statement/type/hive/pom.xml
deleted file mode 100644
index 814eb3b9783..00000000000
--- a/parser/sql/statement/type/hive/pom.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~     http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.shardingsphere</groupId>
-        <artifactId>shardingsphere-parser-sql-statement-type</artifactId>
-        <version>5.5.3-SNAPSHOT</version>
-    </parent>
-    <artifactId>shardingsphere-parser-sql-statement-hive</artifactId>
-    <name>${project.artifactId}</name>
-    
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-parser-sql-statement-core</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-</project>
diff --git a/parser/sql/statement/type/hive/src/main/java/org/apache/shardingsphere/sql/parser/statement/hive/HiveStatement.java b/parser/sql/statement/type/hive/src/main/java/org/apache/shardingsphere/sql/parser/statement/hive/HiveStatement.java
deleted file mode 100644
index a96313b5386..00000000000
--- a/parser/sql/statement/type/hive/src/main/java/org/apache/shardingsphere/sql/parser/statement/hive/HiveStatement.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sql.parser.statement.hive;
-
-import org.apache.shardingsphere.sql.parser.statement.core.statement.SQLStatement;
-
-/**
- * Hive statement.
- */
-public interface HiveStatement extends SQLStatement {
-}
diff --git a/parser/sql/statement/type/hive/src/main/java/org/apache/shardingsphere/sql/parser/statement/hive/dml/HiveDeleteStatement.java b/parser/sql/statement/type/hive/src/main/java/org/apache/shardingsphere/sql/parser/statement/hive/dml/HiveDeleteStatement.java
deleted file mode 100644
index a05a458d1d8..00000000000
--- a/parser/sql/statement/type/hive/src/main/java/org/apache/shardingsphere/sql/parser/statement/hive/dml/HiveDeleteStatement.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sql.parser.statement.hive.dml;
-
-import lombok.Setter;
-import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.order.OrderBySegment;
-import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.pagination.limit.LimitSegment;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.dml.DeleteStatement;
-import org.apache.shardingsphere.sql.parser.statement.hive.HiveStatement;
-
-import java.util.Optional;
-
-/**
- * Hive delete statement.
- */
-@Setter
-public final class HiveDeleteStatement extends DeleteStatement implements HiveStatement {
-    
-    private OrderBySegment orderBy;
-    
-    private LimitSegment limit;
-    
-    @Override
-    public Optional<OrderBySegment> getOrderBy() {
-        return Optional.ofNullable(orderBy);
-    }
-    
-    @Override
-    public Optional<LimitSegment> getLimit() {
-        return Optional.ofNullable(limit);
-    }
-}
diff --git a/parser/sql/statement/type/hive/src/main/java/org/apache/shardingsphere/sql/parser/statement/hive/dml/HiveInsertStatement.java b/parser/sql/statement/type/hive/src/main/java/org/apache/shardingsphere/sql/parser/statement/hive/dml/HiveInsertStatement.java
deleted file mode 100644
index 35e03bd9dff..00000000000
--- a/parser/sql/statement/type/hive/src/main/java/org/apache/shardingsphere/sql/parser/statement/hive/dml/HiveInsertStatement.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sql.parser.statement.hive.dml;
-
-import lombok.Setter;
-import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.assignment.SetAssignmentSegment;
-import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.column.OnDuplicateKeyColumnsSegment;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.dml.InsertStatement;
-import org.apache.shardingsphere.sql.parser.statement.hive.HiveStatement;
-
-import java.util.Optional;
-
-/**
- * Hive insert statement.
- */
-@Setter
-public final class HiveInsertStatement extends InsertStatement implements HiveStatement {
-    
-    private SetAssignmentSegment setAssignment;
-    
-    private OnDuplicateKeyColumnsSegment onDuplicateKeyColumns;
-    
-    @Override
-    public Optional<SetAssignmentSegment> getSetAssignment() {
-        return Optional.ofNullable(setAssignment);
-    }
-    
-    @Override
-    public Optional<OnDuplicateKeyColumnsSegment> getOnDuplicateKeyColumns() {
-        return Optional.ofNullable(onDuplicateKeyColumns);
-    }
-}
diff --git a/parser/sql/statement/type/hive/src/main/java/org/apache/shardingsphere/sql/parser/statement/hive/dml/HiveSelectStatement.java b/parser/sql/statement/type/hive/src/main/java/org/apache/shardingsphere/sql/parser/statement/hive/dml/HiveSelectStatement.java
deleted file mode 100644
index f62b0cce7a0..00000000000
--- a/parser/sql/statement/type/hive/src/main/java/org/apache/shardingsphere/sql/parser/statement/hive/dml/HiveSelectStatement.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sql.parser.statement.hive.dml;
-
-import lombok.Setter;
-import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.pagination.limit.LimitSegment;
-import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.predicate.LockSegment;
-import org.apache.shardingsphere.sql.parser.statement.core.segment.generic.WindowSegment;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.dml.SelectStatement;
-import org.apache.shardingsphere.sql.parser.statement.hive.HiveStatement;
-
-import java.util.Optional;
-
-/**
- * Hive select statement.
- */
-@Setter
-public final class HiveSelectStatement extends SelectStatement implements HiveStatement {
-    
-    private LimitSegment limit;
-    
-    private LockSegment lock;
-    
-    private WindowSegment window;
-    
-    @Override
-    public Optional<LimitSegment> getLimit() {
-        return Optional.ofNullable(limit);
-    }
-    
-    @Override
-    public Optional<LockSegment> getLock() {
-        return Optional.ofNullable(lock);
-    }
-    
-    @Override
-    public Optional<WindowSegment> getWindow() {
-        return Optional.ofNullable(window);
-    }
-}
diff --git a/parser/sql/statement/type/hive/src/main/java/org/apache/shardingsphere/sql/parser/statement/hive/dml/HiveUpdateStatement.java b/parser/sql/statement/type/hive/src/main/java/org/apache/shardingsphere/sql/parser/statement/hive/dml/HiveUpdateStatement.java
deleted file mode 100644
index 78c747c275b..00000000000
--- a/parser/sql/statement/type/hive/src/main/java/org/apache/shardingsphere/sql/parser/statement/hive/dml/HiveUpdateStatement.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.sql.parser.statement.hive.dml;
-
-import lombok.Setter;
-import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.order.OrderBySegment;
-import org.apache.shardingsphere.sql.parser.statement.core.segment.dml.pagination.limit.LimitSegment;
-import org.apache.shardingsphere.sql.parser.statement.core.statement.dml.UpdateStatement;
-import org.apache.shardingsphere.sql.parser.statement.hive.HiveStatement;
-
-import java.util.Optional;
-
-/**
- * Hive update statement.
- */
-@Setter
-public final class HiveUpdateStatement extends UpdateStatement implements HiveStatement {
-    
-    private OrderBySegment orderBy;
-    
-    private LimitSegment limit;
-    
-    @Override
-    public Optional<OrderBySegment> getOrderBy() {
-        return Optional.ofNullable(orderBy);
-    }
-    
-    @Override
-    public Optional<LimitSegment> getLimit() {
-        return Optional.ofNullable(limit);
-    }
-}
diff --git a/parser/sql/statement/type/pom.xml b/parser/sql/statement/type/pom.xml
index 27859c165ca..2554b84ad5f 100644
--- a/parser/sql/statement/type/pom.xml
+++ b/parser/sql/statement/type/pom.xml
@@ -33,7 +33,6 @@
         <module>sqlserver</module>
         <module>oracle</module>
         <module>opengauss</module>
-        <module>hive</module>
         <module>presto</module>
     </modules>
 </project>
diff --git a/test/it/parser/pom.xml b/test/it/parser/pom.xml
index 84b658c4ac1..bcd9178c900 100644
--- a/test/it/parser/pom.xml
+++ b/test/it/parser/pom.xml
@@ -137,11 +137,6 @@
             <artifactId>shardingsphere-parser-sql-statement-opengauss</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.apache.shardingsphere</groupId>
-            <artifactId>shardingsphere-parser-sql-statement-hive</artifactId>
-            <version>${project.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.apache.shardingsphere</groupId>
             <artifactId>shardingsphere-parser-sql-statement-presto</artifactId>