This is an automated email from the ASF dual-hosted git repository.
morrysnow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new d413b0be247 [opt](Nereids) support some statements syntax (#40151)
d413b0be247 is described below
commit d413b0be24766ea3913a1513e6838eaa6732941f
Author: morrySnow <[email protected]>
AuthorDate: Fri Aug 30 14:16:09 2024 +0800
[opt](Nereids) support some statements syntax (#40151)
- copy into
- backup
- help
- install plugin
- uninstall plugin
- lock tables
- unlock tables
- recover
- start transaction
---
.../antlr4/org/apache/doris/nereids/DorisParser.g4 | 46 +++++++++++++++++++++-
.../java/org/apache/doris/analysis/BackupStmt.java | 2 +-
.../java/org/apache/doris/analysis/CopyStmt.java | 2 +-
.../java/org/apache/doris/analysis/HelpStmt.java | 2 +-
.../apache/doris/analysis/InstallPluginStmt.java | 2 +-
.../org/apache/doris/analysis/LockTablesStmt.java | 2 +-
.../org/apache/doris/analysis/RecoverDbStmt.java | 2 +-
.../doris/analysis/RecoverPartitionStmt.java | 2 +-
.../apache/doris/analysis/RecoverTableStmt.java | 2 +-
.../org/apache/doris/analysis/RestoreStmt.java | 2 +-
.../apache/doris/analysis/UninstallPluginStmt.java | 2 +-
.../apache/doris/analysis/UnlockTablesStmt.java | 2 +-
.../org/apache/doris/analysis/UnsupportedStmt.java | 2 +-
.../apache/doris/analysis/WarmUpClusterStmt.java | 2 +-
14 files changed, 58 insertions(+), 14 deletions(-)
diff --git a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4
b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4
index f79088b73aa..32f5293c00e 100644
--- a/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4
+++ b/fe/fe-core/src/main/antlr4/org/apache/doris/nereids/DorisParser.g4
@@ -69,6 +69,8 @@ unsupportedStatement
| unsupportedGrantRevokeStatement
| unsupportedAdminStatement
| unsupportedTransactionStatement
+ | unsupportedRecoverStatement
+ | unsupportedOtherStatement
;
materailizedViewStatement
@@ -172,6 +174,40 @@ supportedDropStatement
: DROP CATALOG RECYCLE BIN WHERE idType=STRING_LITERAL EQ id=INTEGER_VALUE
#dropCatalogRecycleBin
;
+unsupportedOtherStatement
+ : HELP mark=identifierOrText
#help
+ | INSTALL PLUGIN FROM source=identifierOrText properties=propertyClause?
#installPlugin
+ | UNINSTALL PLUGIN name=identifierOrText
#uninstallPlugin
+ | LOCK TABLES (lockTable (COMMA lockTable)*)?
#lockTables
+ | UNLOCK TABLES
#unlockTables
+ | WARM UP CLUSTER destination=identifier WITH
+ (CLUSTER source=identifier | (warmUpItem (COMMA warmUpItem)*)) FORCE?
#warmUpCluster
+ | BACKUP SNAPSHOT label=multipartIdentifier TO repo=identifier
+ ((ON | EXCLUDE) LEFT_PAREN baseTableRef (COMMA baseTableRef)*
RIGHT_PAREN)?
+ properties=propertyClause?
#backup
+ | RESTORE SNAPSHOT label=multipartIdentifier FROM repo=identifier
+ ((ON | EXCLUDE) LEFT_PAREN baseTableRef (COMMA baseTableRef)*
RIGHT_PAREN)?
+ properties=propertyClause?
#restore
+ | START TRANSACTION (WITH CONSISTENT SNAPSHOT)?
#unsupportedStartTransaction
+ ;
+
+warmUpItem
+ : TABLE tableName=multipartIdentifier (PARTITION partitionName=identifier)?
+ ;
+
+lockTable
+ : name=multipartIdentifier (AS alias=identifierOrText)?
+ (READ (LOCAL)? | (LOW_PRIORITY)? WRITE)
+ ;
+
+unsupportedRecoverStatement
+ : RECOVER DATABASE name=identifier id=INTEGER_VALUE? (AS
alias=identifier)? #recoverDatabase
+ | RECOVER TABLE name=multipartIdentifier
+ id=INTEGER_VALUE? (AS alias=identifier)?
#recoverTable
+ | RECOVER PARTITION name=identifier id=INTEGER_VALUE? (AS
alias=identifier)?
+ FROM tableName=multipartIdentifier
#recoverPartition
+ ;
+
unsupportedAdminStatement
: ADMIN SHOW REPLICA STATUS FROM baseTableRef wildWhere?
#adminShowReplicaStatus
| ADMIN SHOW REPLICA DISTRIBUTION FROM baseTableRef
#adminShowReplicaDistribution
@@ -551,7 +587,15 @@ unsupportedUseStatement
;
unsupportedDmlStatement
- : TRUNCATE TABLE multipartIdentifier specifiedPartition? # truncateTable
+ : TRUNCATE TABLE multipartIdentifier specifiedPartition?
#truncateTable
+ | COPY INTO selectHint? name=multipartIdentifier columns=identifierList
FROM
+ (stageAndPattern | (LEFT_PAREN SELECT selectColumnClause
+ FROM stageAndPattern whereClause RIGHT_PAREN))
+ properties=propertyClause?
#copyInto
+ ;
+
+stageAndPattern
+ : AT (stage=identifier | TILDE) (pattern=STRING_LITERAL)?
;
unsupportedKillStatement
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/BackupStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/BackupStmt.java
index 84b3171c2c1..445db611570 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/BackupStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/BackupStmt.java
@@ -27,7 +27,7 @@ import com.google.common.collect.Maps;
import java.util.Map;
-public class BackupStmt extends AbstractBackupStmt {
+public class BackupStmt extends AbstractBackupStmt implements
NotFallbackInParser {
private static final String PROP_TYPE = "type";
public static final String PROP_CONTENT = "content";
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CopyStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/CopyStmt.java
index 80ba68ac575..db94c106072 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CopyStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CopyStmt.java
@@ -51,7 +51,7 @@ import java.util.Map;
/**
* Copy statement
*/
-public class CopyStmt extends DdlStmt {
+public class CopyStmt extends DdlStmt implements NotFallbackInParser {
private static final Logger LOG = LogManager.getLogger(CopyStmt.class);
private static final ShowResultSetMetaData COPY_INTO_META_DATA =
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/HelpStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/HelpStmt.java
index c44687ac615..f4c75ab48fd 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/HelpStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/HelpStmt.java
@@ -24,7 +24,7 @@ import org.apache.doris.qe.ShowResultSetMetaData;
import com.google.common.base.Strings;
-public class HelpStmt extends ShowStmt {
+public class HelpStmt extends ShowStmt implements NotFallbackInParser {
private static final ShowResultSetMetaData TOPIC_META_DATA =
ShowResultSetMetaData.builder()
.addColumn(new Column("name",
ScalarType.createVarchar(64)))
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/InstallPluginStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/InstallPluginStmt.java
index 3d5db0c8840..ef625052107 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/InstallPluginStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/InstallPluginStmt.java
@@ -29,7 +29,7 @@ import org.apache.doris.qe.ConnectContext;
import java.util.Map;
-public class InstallPluginStmt extends DdlStmt {
+public class InstallPluginStmt extends DdlStmt implements NotFallbackInParser {
private String pluginPath;
private Map<String, String> properties;
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/LockTablesStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/LockTablesStmt.java
index 803d52bf3fb..0f618667ebc 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/LockTablesStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/LockTablesStmt.java
@@ -31,7 +31,7 @@ import org.apache.logging.log4j.Logger;
import java.util.ArrayList;
import java.util.List;
-public class LockTablesStmt extends StatementBase {
+public class LockTablesStmt extends StatementBase implements
NotFallbackInParser {
private static final Logger LOG =
LogManager.getLogger(LockTablesStmt.class);
private List<LockTable> lockTables;
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/RecoverDbStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/RecoverDbStmt.java
index cfb4ecf4087..ef2805b0d9a 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/RecoverDbStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/RecoverDbStmt.java
@@ -28,7 +28,7 @@ import org.apache.doris.qe.ConnectContext;
import com.google.common.base.Strings;
-public class RecoverDbStmt extends DdlStmt {
+public class RecoverDbStmt extends DdlStmt implements NotFallbackInParser {
private String dbName;
private long dbId = -1;
private String newDbName = "";
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/RecoverPartitionStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/RecoverPartitionStmt.java
index 05db7a81e83..def1b57f1b8 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/analysis/RecoverPartitionStmt.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/analysis/RecoverPartitionStmt.java
@@ -28,7 +28,7 @@ import org.apache.doris.qe.ConnectContext;
import com.google.common.base.Strings;
-public class RecoverPartitionStmt extends DdlStmt {
+public class RecoverPartitionStmt extends DdlStmt implements
NotFallbackInParser {
private TableName dbTblName;
private String partitionName;
private long partitionId = -1;
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/RecoverTableStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/RecoverTableStmt.java
index 56dfbbfc2c7..978a17dcd06 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/RecoverTableStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/RecoverTableStmt.java
@@ -28,7 +28,7 @@ import org.apache.doris.qe.ConnectContext;
import com.google.common.base.Strings;
-public class RecoverTableStmt extends DdlStmt {
+public class RecoverTableStmt extends DdlStmt implements NotFallbackInParser {
private TableName dbTblName;
private long tableId = -1;
private String newTableName = "";
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/RestoreStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/RestoreStmt.java
index 45691647001..35120b5fa11 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/RestoreStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/RestoreStmt.java
@@ -33,7 +33,7 @@ import com.google.common.collect.Sets;
import java.util.Map;
import java.util.Set;
-public class RestoreStmt extends AbstractBackupStmt {
+public class RestoreStmt extends AbstractBackupStmt implements
NotFallbackInParser {
private static final String PROP_ALLOW_LOAD = "allow_load";
private static final String PROP_BACKUP_TIMESTAMP = "backup_timestamp";
private static final String PROP_META_VERSION = "meta_version";
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/UninstallPluginStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/UninstallPluginStmt.java
index c87456dcb37..0ee0c28906b 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/analysis/UninstallPluginStmt.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/analysis/UninstallPluginStmt.java
@@ -26,7 +26,7 @@ import org.apache.doris.common.UserException;
import org.apache.doris.mysql.privilege.PrivPredicate;
import org.apache.doris.qe.ConnectContext;
-public class UninstallPluginStmt extends DdlStmt {
+public class UninstallPluginStmt extends DdlStmt implements
NotFallbackInParser {
private String pluginName;
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/UnlockTablesStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/UnlockTablesStmt.java
index 4c66198c596..0c37240ff3c 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/UnlockTablesStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/UnlockTablesStmt.java
@@ -17,7 +17,7 @@
package org.apache.doris.analysis;
-public class UnlockTablesStmt extends StatementBase {
+public class UnlockTablesStmt extends StatementBase implements
NotFallbackInParser {
@Override
public String toSql() {
return "UNLOCK TABLES";
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/UnsupportedStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/UnsupportedStmt.java
index fa2d46782e8..8316b293f01 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/UnsupportedStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/UnsupportedStmt.java
@@ -20,7 +20,7 @@ package org.apache.doris.analysis;
import org.apache.doris.common.AnalysisException;
import org.apache.doris.common.UserException;
-public class UnsupportedStmt extends StatementBase {
+public class UnsupportedStmt extends StatementBase implements
NotFallbackInParser {
public UnsupportedStmt() {
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/WarmUpClusterStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/WarmUpClusterStmt.java
index 46aca93c9ee..9f386a686a2 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/WarmUpClusterStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/WarmUpClusterStmt.java
@@ -39,7 +39,7 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
-public class WarmUpClusterStmt extends StatementBase {
+public class WarmUpClusterStmt extends StatementBase implements
NotFallbackInParser {
private static final Logger LOG =
LogManager.getLogger(WarmUpClusterStmt.class);
private List<Map<TableName, String>> tableList;
private List<Triple<String, String, String>> tables = new ArrayList<>();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]