This is an automated email from the ASF dual-hosted git repository. dataroaring pushed a commit to branch branch-3.0 in repository https://gitbox.apache.org/repos/asf/doris.git
commit df07690109a68040ff378d977a4f7d6bd736d9ce Author: shee <13843187+qz...@users.noreply.github.com> AuthorDate: Fri Jul 26 14:37:51 2024 +0800 [Improvement][Audit] add sql type for query audit (#37790) Co-authored-by: garenshi <garen...@tencent.com> --- .../doris/analysis/AlterCatalogCommentStmt.java | 5 ++ .../doris/analysis/AlterCatalogNameStmt.java | 5 ++ .../doris/analysis/AlterCatalogPropertyStmt.java | 5 ++ .../doris/analysis/AlterColocateGroupStmt.java | 5 ++ .../doris/analysis/AlterColumnStatsStmt.java | 5 ++ .../doris/analysis/AlterDatabasePropertyStmt.java | 5 ++ .../doris/analysis/AlterDatabaseQuotaStmt.java | 5 ++ .../apache/doris/analysis/AlterDatabaseRename.java | 5 ++ .../apache/doris/analysis/AlterJobStatusStmt.java | 5 ++ .../org/apache/doris/analysis/AlterPolicyStmt.java | 5 ++ .../apache/doris/analysis/AlterRepositoryStmt.java | 5 ++ .../apache/doris/analysis/AlterResourceStmt.java | 5 ++ .../org/apache/doris/analysis/AlterRoleStmt.java | 5 ++ .../doris/analysis/AlterRoutineLoadStmt.java | 6 +++ .../doris/analysis/AlterSqlBlockRuleStmt.java | 5 ++ .../org/apache/doris/analysis/AlterSystemStmt.java | 5 ++ .../org/apache/doris/analysis/AlterTableStmt.java | 5 ++ .../org/apache/doris/analysis/AlterUserStmt.java | 5 ++ .../org/apache/doris/analysis/AlterViewStmt.java | 5 ++ .../doris/analysis/AlterWorkloadGroupStmt.java | 5 ++ .../org/apache/doris/analysis/AnalyzeStmt.java | 5 ++ .../java/org/apache/doris/analysis/BackupStmt.java | 6 +++ .../doris/analysis/CancelAlterSystemStmt.java | 5 ++ .../doris/analysis/CancelAlterTableStmt.java | 5 ++ .../apache/doris/analysis/CancelBackupStmt.java | 5 ++ .../apache/doris/analysis/CancelExportStmt.java | 5 ++ .../apache/doris/analysis/CancelJobTaskStmt.java | 5 ++ .../org/apache/doris/analysis/CancelLoadStmt.java | 5 ++ .../org/apache/doris/analysis/CleanLabelStmt.java | 5 ++ .../apache/doris/analysis/CleanProfileStmt.java | 5 ++ .../apache/doris/analysis/CleanQueryStatsStmt.java | 5 ++ .../apache/doris/analysis/CreateCatalogStmt.java | 5 ++ .../doris/analysis/CreateDataSyncJobStmt.java | 5 ++ .../org/apache/doris/analysis/CreateDbStmt.java | 5 ++ .../doris/analysis/CreateEncryptKeyStmt.java | 5 ++ .../org/apache/doris/analysis/CreateFileStmt.java | 5 ++ .../apache/doris/analysis/CreateFunctionStmt.java | 5 ++ .../doris/analysis/CreateMaterializedViewStmt.java | 5 ++ .../apache/doris/analysis/CreatePolicyStmt.java | 5 ++ .../doris/analysis/CreateRepositoryStmt.java | 5 ++ .../apache/doris/analysis/CreateResourceStmt.java | 5 ++ .../org/apache/doris/analysis/CreateRoleStmt.java | 5 ++ .../doris/analysis/CreateRoutineLoadStmt.java | 5 ++ .../doris/analysis/CreateSqlBlockRuleStmt.java | 5 ++ .../doris/analysis/CreateTableAsSelectStmt.java | 5 ++ .../apache/doris/analysis/CreateTableLikeStmt.java | 5 ++ .../org/apache/doris/analysis/CreateTableStmt.java | 5 ++ .../org/apache/doris/analysis/CreateUserStmt.java | 5 ++ .../org/apache/doris/analysis/CreateViewStmt.java | 5 ++ .../doris/analysis/CreateWorkloadGroupStmt.java | 5 ++ .../analysis/CreateWorkloadSchedPolicyStmt.java | 5 ++ .../java/org/apache/doris/analysis/DdlStmt.java | 5 ++ .../java/org/apache/doris/analysis/DeleteStmt.java | 5 ++ .../apache/doris/analysis/DropAnalyzeJobStmt.java | 5 ++ .../org/apache/doris/analysis/DropCatalogStmt.java | 5 ++ .../java/org/apache/doris/analysis/DropDbStmt.java | 5 ++ .../apache/doris/analysis/DropEncryptKeyStmt.java | 5 ++ .../org/apache/doris/analysis/DropFileStmt.java | 5 ++ .../apache/doris/analysis/DropFunctionStmt.java | 5 ++ .../doris/analysis/DropMaterializedViewStmt.java | 5 ++ .../org/apache/doris/analysis/DropPolicyStmt.java | 5 ++ .../apache/doris/analysis/DropRepositoryStmt.java | 5 ++ .../apache/doris/analysis/DropResourceStmt.java | 5 ++ .../org/apache/doris/analysis/DropRoleStmt.java | 5 ++ .../doris/analysis/DropSqlBlockRuleStmt.java | 5 ++ .../org/apache/doris/analysis/DropStatsStmt.java | 5 ++ .../org/apache/doris/analysis/DropTableStmt.java | 5 ++ .../org/apache/doris/analysis/DropUserStmt.java | 5 ++ .../doris/analysis/DropWorkloadGroupStmt.java | 5 ++ .../analysis/DropWorkloadSchedPolicyStmt.java | 5 ++ .../org/apache/doris/analysis/ExecuteStmt.java | 5 ++ .../java/org/apache/doris/analysis/ExportStmt.java | 5 ++ .../java/org/apache/doris/analysis/GrantStmt.java | 5 ++ .../doris/analysis/InsertOverwriteTableStmt.java | 6 +++ .../java/org/apache/doris/analysis/InsertStmt.java | 5 ++ .../apache/doris/analysis/InstallPluginStmt.java | 5 ++ .../apache/doris/analysis/KillAnalysisJobStmt.java | 5 ++ .../java/org/apache/doris/analysis/KillStmt.java | 5 ++ .../java/org/apache/doris/analysis/LoadStmt.java | 4 ++ .../doris/analysis/PauseRoutineLoadStmt.java | 5 ++ .../apache/doris/analysis/PauseSyncJobStmt.java | 5 ++ .../org/apache/doris/analysis/RecoverDbStmt.java | 5 ++ .../doris/analysis/RecoverPartitionStmt.java | 5 ++ .../apache/doris/analysis/RecoverTableStmt.java | 5 ++ .../apache/doris/analysis/RefreshCatalogStmt.java | 4 ++ .../org/apache/doris/analysis/RefreshDbStmt.java | 5 ++ .../org/apache/doris/analysis/RefreshLdapStmt.java | 5 ++ .../apache/doris/analysis/RefreshTableStmt.java | 5 ++ .../org/apache/doris/analysis/RestoreStmt.java | 5 ++ .../doris/analysis/ResumeRoutineLoadStmt.java | 5 ++ .../apache/doris/analysis/ResumeSyncJobStmt.java | 5 ++ .../java/org/apache/doris/analysis/RevokeStmt.java | 5 ++ .../java/org/apache/doris/analysis/SelectStmt.java | 5 ++ .../apache/doris/analysis/SetOperationStmt.java | 7 +++ .../java/org/apache/doris/analysis/SetStmt.java | 5 ++ .../apache/doris/analysis/SetUserPropertyStmt.java | 5 ++ .../java/org/apache/doris/analysis/ShowStmt.java | 5 ++ .../org/apache/doris/analysis/StatementBase.java | 4 ++ .../analysis/{ShowStmt.java => StmtType.java} | 55 ++++++++++++++++------ .../apache/doris/analysis/StopRoutineLoadStmt.java | 5 ++ .../org/apache/doris/analysis/StopSyncJobStmt.java | 5 ++ .../java/org/apache/doris/analysis/SwitchStmt.java | 5 ++ .../java/org/apache/doris/analysis/SyncStmt.java | 5 ++ .../org/apache/doris/analysis/TransactionStmt.java | 5 ++ .../apache/doris/analysis/TruncateTableStmt.java | 5 ++ .../apache/doris/analysis/UninstallPluginStmt.java | 5 ++ .../apache/doris/analysis/UnsetVariableStmt.java | 5 ++ .../java/org/apache/doris/analysis/UpdateStmt.java | 5 ++ .../java/org/apache/doris/analysis/UseStmt.java | 5 ++ .../org/apache/doris/catalog/InternalSchema.java | 1 + .../doris/nereids/analyzer/UnboundResultSink.java | 6 +++ .../trees/plans/commands/AlterMTMVCommand.java | 5 ++ .../trees/plans/commands/AlterViewCommand.java | 6 +++ .../nereids/trees/plans/commands/CallCommand.java | 5 ++ .../plans/commands/CancelMTMVTaskCommand.java | 6 +++ .../trees/plans/commands/CreateMTMVCommand.java | 6 +++ .../trees/plans/commands/CreatePolicyCommand.java | 6 +++ .../plans/commands/CreateProcedureCommand.java | 6 +++ .../trees/plans/commands/CreateTableCommand.java | 6 +++ .../plans/commands/CreateTableLikeCommand.java | 6 +++ .../trees/plans/commands/CreateViewCommand.java | 6 +++ .../trees/plans/commands/DeleteFromCommand.java | 6 +++ .../plans/commands/DeleteFromUsingCommand.java | 6 +++ .../trees/plans/commands/DropMTMVCommand.java | 6 +++ .../trees/plans/commands/DropProcedureCommand.java | 6 +++ .../trees/plans/commands/ExecuteCommand.java | 6 +++ .../trees/plans/commands/ExplainCommand.java | 6 +++ .../trees/plans/commands/ExportCommand.java | 6 +++ .../nereids/trees/plans/commands/LoadCommand.java | 6 +++ .../trees/plans/commands/PauseMTMVCommand.java | 6 +++ .../trees/plans/commands/PrepareCommand.java | 6 +++ .../trees/plans/commands/RefreshMTMVCommand.java | 6 +++ .../trees/plans/commands/ResumeMTMVCommand.java | 6 +++ .../plans/commands/ShowConstraintsCommand.java | 6 +++ .../plans/commands/ShowCreateProcedureCommand.java | 6 +++ .../plans/commands/ShowProcedureStatusCommand.java | 6 +++ .../trees/plans/commands/UpdateCommand.java | 6 +++ .../insert/BatchInsertIntoTableCommand.java | 6 +++ .../commands/insert/InsertIntoTableCommand.java | 6 +++ .../insert/InsertOverwriteTableCommand.java | 6 +++ .../nereids/trees/plans/logical/LogicalPlan.java | 5 ++ .../org/apache/doris/plugin/audit/AuditEvent.java | 7 +++ .../doris/plugin/audit/AuditLoaderPlugin.java | 1 + .../java/org/apache/doris/qe/AuditLogHelper.java | 18 +++++++ .../doris/alter/InternalSchemaAlterTest.java | 14 ++++++ .../org/apache/doris/analysis/QueryStmtTest.java | 29 ++++++++++++ .../doris/nereids/parser/NereidsParserTest.java | 21 +++++++++ .../apache/doris/qe/AuditEventProcessorTest.java | 2 + .../org/apache/doris/utframe/UtFrameUtils.java | 20 ++++++++ .../apache/doris/plugin/audit/AuditPluginDemo.java | 1 - .../src/main/assembly/plugin.properties | 2 +- .../audit/{ => custom}/AuditLoaderPlugin.java | 15 ++++-- .../audit/{ => custom}/DorisStreamLoader.java | 17 +++---- .../dialect/spark/SparkSql3LogicalPlanBuilder.java | 2 +- .../spark/SparkSqlDialectConverterPlugin.java | 2 +- .../dialect/trino/TrinoLogicalPlanBuilder.java | 2 +- 156 files changed, 902 insertions(+), 32 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterCatalogCommentStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterCatalogCommentStmt.java index cfc52f077d7..8249b01b2bf 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterCatalogCommentStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterCatalogCommentStmt.java @@ -46,4 +46,9 @@ public class AlterCatalogCommentStmt extends AlterCatalogStmt { public String toSql() { return "ALTER CATALOG " + catalogName + " MODIFY COMMENT " + comment; } + + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterCatalogNameStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterCatalogNameStmt.java index f3c363fd5eb..abfdae6b5a8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterCatalogNameStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterCatalogNameStmt.java @@ -56,4 +56,9 @@ public class AlterCatalogNameStmt extends AlterCatalogStmt { public String toSql() { return "ALTER CATALOG " + catalogName + " RENAME " + newCatalogName; } + + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterCatalogPropertyStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterCatalogPropertyStmt.java index 3cac7056276..1f204015ad7 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterCatalogPropertyStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterCatalogPropertyStmt.java @@ -54,4 +54,9 @@ public class AlterCatalogPropertyStmt extends AlterCatalogStmt { public boolean needAuditEncryption() { return true; } + + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterColocateGroupStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterColocateGroupStmt.java index 2885d662555..98b1ec76f98 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterColocateGroupStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterColocateGroupStmt.java @@ -79,4 +79,9 @@ public class AlterColocateGroupStmt extends DdlStmt { sb.append("PROPERTIES(").append(new PrintableMap<>(properties, " = ", true, false)).append(")"); return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterColumnStatsStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterColumnStatsStmt.java index 9e76b065921..40c8600381e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterColumnStatsStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterColumnStatsStmt.java @@ -219,4 +219,9 @@ public class AlterColumnStatsStmt extends DdlStmt { public String getValue(StatsType statsType) { return statsTypeToValue.get(statsType); } + + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterDatabasePropertyStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterDatabasePropertyStmt.java index c36651855a2..af01882dc3c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterDatabasePropertyStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterDatabasePropertyStmt.java @@ -76,4 +76,9 @@ public class AlterDatabasePropertyStmt extends DdlStmt { return "ALTER DATABASE " + dbName + " SET PROPERTIES (" + new PrintableMap<String, String>(properties, "=", true, false, ",") + ")"; } + + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterDatabaseQuotaStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterDatabaseQuotaStmt.java index 647273add40..552b701d029 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterDatabaseQuotaStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterDatabaseQuotaStmt.java @@ -94,4 +94,9 @@ public class AlterDatabaseQuotaStmt extends DdlStmt { + quotaType.name() + " QUOTA " + quotaValue; } + + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterDatabaseRename.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterDatabaseRename.java index cf32745e0b3..1e4d78840d4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterDatabaseRename.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterDatabaseRename.java @@ -73,4 +73,9 @@ public class AlterDatabaseRename extends DdlStmt { return "ALTER DATABASE " + dbName + " RENAME " + newDbName; } + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } + } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterJobStatusStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterJobStatusStmt.java index 31a35aca2c2..3dd2a9f27fa 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterJobStatusStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterJobStatusStmt.java @@ -74,4 +74,9 @@ public class AlterJobStatusStmt extends DdlStmt { throw new AnalysisException("Can't alter inner job status"); } } + + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterPolicyStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterPolicyStmt.java index db9c10f34f2..622feed12ed 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterPolicyStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterPolicyStmt.java @@ -96,4 +96,9 @@ public class AlterPolicyStmt extends DdlStmt { return sb.toString(); } + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } + } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterRepositoryStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterRepositoryStmt.java index b0ecd6d3bd4..31c33b6b8e1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterRepositoryStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterRepositoryStmt.java @@ -83,4 +83,9 @@ public class AlterRepositoryStmt extends DdlStmt { sb.append("PROPERTIES(").append(new PrintableMap<>(properties, " = ", true, false)).append(")"); return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterResourceStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterResourceStmt.java index 084200f28da..bd05f478412 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterResourceStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterResourceStmt.java @@ -87,4 +87,9 @@ public class AlterResourceStmt extends DdlStmt { public boolean needAuditEncryption() { return true; } + + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterRoleStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterRoleStmt.java index 75e86a4b6f0..ec428cb82f4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterRoleStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterRoleStmt.java @@ -62,4 +62,9 @@ public class AlterRoleStmt extends DdlStmt { sb.append(" COMMENT \"").append(comment).append("\""); return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterRoutineLoadStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterRoutineLoadStmt.java index 5a1f1ba56aa..67c103ed02c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterRoutineLoadStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterRoutineLoadStmt.java @@ -264,4 +264,10 @@ public class AlterRoutineLoadStmt extends DdlStmt { dataSourceProperties.setTimezone(job.getTimezone()); dataSourceProperties.analyze(); } + + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } + } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterSqlBlockRuleStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterSqlBlockRuleStmt.java index e7af4c47a65..a3cb97dd6bd 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterSqlBlockRuleStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterSqlBlockRuleStmt.java @@ -138,4 +138,9 @@ public class AlterSqlBlockRuleStmt extends DdlStmt { .append(")"); return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterSystemStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterSystemStmt.java index a3fc515e472..47cb4fc4306 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterSystemStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterSystemStmt.java @@ -69,4 +69,9 @@ public class AlterSystemStmt extends DdlStmt { public String toString() { return toSql(); } + + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterTableStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterTableStmt.java index d939bb0c3fb..f5d42435532 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterTableStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterTableStmt.java @@ -210,4 +210,9 @@ public class AlterTableStmt extends DdlStmt { public String toString() { return toSql(); } + + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterUserStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterUserStmt.java index 544a106b3ba..f87884c6c4b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterUserStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterUserStmt.java @@ -159,4 +159,9 @@ public class AlterUserStmt extends DdlStmt { return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterViewStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterViewStmt.java index 3323c00bac9..5a2d184e20d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterViewStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterViewStmt.java @@ -111,4 +111,9 @@ public class AlterViewStmt extends BaseViewStmt implements NotFallbackInParser { public String toString() { return toSql(); } + + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterWorkloadGroupStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterWorkloadGroupStmt.java index f6120338333..3a5a3c0b63f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterWorkloadGroupStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterWorkloadGroupStmt.java @@ -66,4 +66,9 @@ public class AlterWorkloadGroupStmt extends DdlStmt { sb.append("PROPERTIES(").append(new PrintableMap<>(properties, " = ", true, false)).append(")"); return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeStmt.java index e97de804376..9b5145a7d0e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeStmt.java @@ -114,4 +114,9 @@ public class AnalyzeStmt extends StatementBase { public boolean usingSqlForExternalTable() { return analyzeProperties.usingSqlForExternalTable(); } + + @Override + public StmtType stmtType() { + return StmtType.ANALYZE; + } } 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 a1eef45ec26..84b3171c2c1 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 @@ -127,4 +127,10 @@ public class BackupStmt extends AbstractBackupStmt { sb.append("\n)"); return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.BACKUP; + } + } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelAlterSystemStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelAlterSystemStmt.java index e3a465d2d90..9cfde8da4b3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelAlterSystemStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelAlterSystemStmt.java @@ -90,4 +90,9 @@ public class CancelAlterSystemStmt extends CancelStmt { return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.CANCEL; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelAlterTableStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelAlterTableStmt.java index 8c05483b770..7dac7c28ff1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelAlterTableStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelAlterTableStmt.java @@ -104,4 +104,9 @@ public class CancelAlterTableStmt extends CancelStmt { return toSql(); } + @Override + public StmtType stmtType() { + return StmtType.CANCEL; + } + } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelBackupStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelBackupStmt.java index ab1fb8c4b70..54e9ba8b8ce 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelBackupStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelBackupStmt.java @@ -82,4 +82,9 @@ public class CancelBackupStmt extends CancelStmt { public String toString() { return toSql(); } + + @Override + public StmtType stmtType() { + return StmtType.CANCEL; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelExportStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelExportStmt.java index ebdd7997d41..039443becd6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelExportStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelExportStmt.java @@ -169,4 +169,9 @@ public class CancelExportStmt extends DdlStmt { return toSql(); } + @Override + public StmtType stmtType() { + return StmtType.CANCEL; + } + } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelJobTaskStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelJobTaskStmt.java index ea6febe1630..841e43a8257 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelJobTaskStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelJobTaskStmt.java @@ -69,4 +69,9 @@ public class CancelJobTaskStmt extends DdlStmt { } this.taskId = ((IntLiteral) compoundPredicate.getChildren().get(1).getChild(1)).getLongValue(); } + + @Override + public StmtType stmtType() { + return StmtType.CANCEL; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelLoadStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelLoadStmt.java index f38b5f84db1..dad9a0ccd2d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelLoadStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CancelLoadStmt.java @@ -173,4 +173,9 @@ public class CancelLoadStmt extends DdlStmt { return toSql(); } + @Override + public StmtType stmtType() { + return StmtType.CANCEL; + } + } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CleanLabelStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CleanLabelStmt.java index 0be3adb9e60..84de16c4e6a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CleanLabelStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CleanLabelStmt.java @@ -68,4 +68,9 @@ public class CleanLabelStmt extends DdlStmt { public RedirectStatus getRedirectStatus() { return RedirectStatus.FORWARD_WITH_SYNC; } + + @Override + public StmtType stmtType() { + return StmtType.CLEAN; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CleanProfileStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CleanProfileStmt.java index 95ff420d1e2..02a562a328b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CleanProfileStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CleanProfileStmt.java @@ -47,4 +47,9 @@ public class CleanProfileStmt extends DdlStmt { public RedirectStatus getRedirectStatus() { return RedirectStatus.FORWARD_WITH_SYNC; } + + @Override + public StmtType stmtType() { + return StmtType.CLEAN; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CleanQueryStatsStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CleanQueryStatsStmt.java index f9dce80d4d4..c0964f796e3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CleanQueryStatsStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CleanQueryStatsStmt.java @@ -141,4 +141,9 @@ public class CleanQueryStatsStmt extends DdlStmt { public enum Scope { ALL, DB, TABLE } + + @Override + public StmtType stmtType() { + return StmtType.CLEAN; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateCatalogStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateCatalogStmt.java index 720df2dbedc..59a59522acf 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateCatalogStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateCatalogStmt.java @@ -132,4 +132,9 @@ public class CreateCatalogStmt extends DdlStmt { public boolean needAuditEncryption() { return true; } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateDataSyncJobStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateDataSyncJobStmt.java index adc8e55f75a..dd7103b463d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateDataSyncJobStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateDataSyncJobStmt.java @@ -127,4 +127,9 @@ public class CreateDataSyncJobStmt extends DdlStmt { public DataSyncJobType getDataSyncJobType() { return dataSyncJobType; } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateDbStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateDbStmt.java index 09ae61a1ee1..ad17ccd23ba 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateDbStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateDbStmt.java @@ -93,4 +93,9 @@ public class CreateDbStmt extends DdlStmt { } return stringBuilder.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateEncryptKeyStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateEncryptKeyStmt.java index 701df2bd69a..a7380865a44 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateEncryptKeyStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateEncryptKeyStmt.java @@ -91,4 +91,9 @@ public class CreateEncryptKeyStmt extends DdlStmt { .append(encryptKeyName.getKeyName()).append(" AS \"").append(keyString).append("\""); return stringBuilder.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateFileStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateFileStmt.java index cfc25b838da..11d2bf846e1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateFileStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateFileStmt.java @@ -162,4 +162,9 @@ public class CreateFileStmt extends DdlStmt { public RedirectStatus getRedirectStatus() { return RedirectStatus.FORWARD_WITH_SYNC; } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateFunctionStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateFunctionStmt.java index abc2249a00b..a45b7901fec 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateFunctionStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateFunctionStmt.java @@ -902,4 +902,9 @@ public class CreateFunctionStmt extends DdlStmt { public RedirectStatus getRedirectStatus() { return RedirectStatus.FORWARD_WITH_SYNC; } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateMaterializedViewStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateMaterializedViewStmt.java index 449b848321b..3a6a9718c72 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateMaterializedViewStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateMaterializedViewStmt.java @@ -723,4 +723,9 @@ public class CreateMaterializedViewStmt extends DdlStmt { public String toSql() { return null; } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreatePolicyStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreatePolicyStmt.java index 0c3e760e576..98c71d10c16 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreatePolicyStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreatePolicyStmt.java @@ -153,4 +153,9 @@ public class CreatePolicyStmt extends DdlStmt { } return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRepositoryStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRepositoryStmt.java index 4bd82be73e3..618b5a7d05b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRepositoryStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRepositoryStmt.java @@ -88,4 +88,9 @@ public class CreateRepositoryStmt extends DdlStmt { public boolean needAuditEncryption() { return true; } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateResourceStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateResourceStmt.java index 9b4ae717ae5..08730723431 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateResourceStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateResourceStmt.java @@ -121,4 +121,9 @@ public class CreateResourceStmt extends DdlStmt { public boolean needAuditEncryption() { return true; } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRoleStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRoleStmt.java index 9021402d48a..1f64ceddb85 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRoleStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRoleStmt.java @@ -85,4 +85,9 @@ public class CreateRoleStmt extends DdlStmt { } return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRoutineLoadStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRoutineLoadStmt.java index d58b25195c7..95434a1fd19 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRoutineLoadStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateRoutineLoadStmt.java @@ -549,4 +549,9 @@ public class CreateRoutineLoadStmt extends DdlStmt { this.dataSourceProperties.setTimezone(this.timezone); this.dataSourceProperties.analyze(); } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateSqlBlockRuleStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateSqlBlockRuleStmt.java index a53f7c944cb..f50a339991c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateSqlBlockRuleStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateSqlBlockRuleStmt.java @@ -166,4 +166,9 @@ public class CreateSqlBlockRuleStmt extends DdlStmt { .append(new PrintableMap<>(properties, " = ", true, true, true)).append(")"); return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateTableAsSelectStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateTableAsSelectStmt.java index 1f919255f96..04f2a475706 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateTableAsSelectStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateTableAsSelectStmt.java @@ -126,4 +126,9 @@ public class CreateTableAsSelectStmt extends DdlStmt implements NotFallbackInPar super.reset(); queryStmt.reset(); } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateTableLikeStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateTableLikeStmt.java index d8807bfae37..aab0f362afe 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateTableLikeStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateTableLikeStmt.java @@ -129,4 +129,9 @@ public class CreateTableLikeStmt extends DdlStmt implements NotFallbackInParser public String toString() { return toSql(); } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateTableStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateTableStmt.java index b4f1ec61091..795dfe237d2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateTableStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateTableStmt.java @@ -874,4 +874,9 @@ public class CreateTableStmt extends DdlStmt implements NotFallbackInParser { } } } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateUserStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateUserStmt.java index dfdda334451..e29a82f2e5f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateUserStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateUserStmt.java @@ -203,4 +203,9 @@ public class CreateUserStmt extends DdlStmt { public String toString() { return toSql(); } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateViewStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateViewStmt.java index 3596470dd91..08f830a7fde 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateViewStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateViewStmt.java @@ -104,4 +104,9 @@ public class CreateViewStmt extends BaseViewStmt implements NotFallbackInParser public void setFinalColumns(List<Column> columns) { finalCols.addAll(columns); } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateWorkloadGroupStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateWorkloadGroupStmt.java index 92a60a94e55..9c8efcf1d1f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateWorkloadGroupStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateWorkloadGroupStmt.java @@ -85,4 +85,9 @@ public class CreateWorkloadGroupStmt extends DdlStmt { sb.append("PROPERTIES(").append(new PrintableMap<>(properties, " = ", true, false)).append(")"); return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateWorkloadSchedPolicyStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateWorkloadSchedPolicyStmt.java index 001068476d4..455ca2c802e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateWorkloadSchedPolicyStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/CreateWorkloadSchedPolicyStmt.java @@ -122,4 +122,9 @@ public class CreateWorkloadSchedPolicyStmt extends DdlStmt { return str; } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DdlStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DdlStmt.java index 2fb066c6763..596341bb374 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DdlStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DdlStmt.java @@ -22,4 +22,9 @@ public abstract class DdlStmt extends StatementBase { public RedirectStatus getRedirectStatus() { return RedirectStatus.FORWARD_WITH_SYNC; } + + @Override + public StmtType stmtType() { + return StmtType.DDL; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DeleteStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DeleteStmt.java index 369eb126597..692e53ab229 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DeleteStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DeleteStmt.java @@ -463,4 +463,9 @@ public class DeleteStmt extends DdlStmt implements NotFallbackInParser { sb.append(" WHERE ").append(wherePredicate.toSql()); return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.DELETE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropAnalyzeJobStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropAnalyzeJobStmt.java index 34a7c875eda..04562476687 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropAnalyzeJobStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropAnalyzeJobStmt.java @@ -31,4 +31,9 @@ public class DropAnalyzeJobStmt extends DdlStmt { public long getJobId() { return jobId; } + + @Override + public StmtType stmtType() { + return StmtType.DROP; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropCatalogStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropCatalogStmt.java index f3606c07f29..7043066fc47 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropCatalogStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropCatalogStmt.java @@ -72,4 +72,9 @@ public class DropCatalogStmt extends DdlStmt { public String toString() { return toSql(); } + + @Override + public StmtType stmtType() { + return StmtType.DROP; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropDbStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropDbStmt.java index a277f3a9ce5..7ce85a29902 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropDbStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropDbStmt.java @@ -96,4 +96,9 @@ public class DropDbStmt extends DdlStmt { return toSql(); } + @Override + public StmtType stmtType() { + return StmtType.DROP; + } + } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropEncryptKeyStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropEncryptKeyStmt.java index 4b41fa71a2f..542f67b029d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropEncryptKeyStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropEncryptKeyStmt.java @@ -67,4 +67,9 @@ public class DropEncryptKeyStmt extends DdlStmt { stringBuilder.append("DROP ENCRYPTKEY ").append(encryptKeyName.getKeyName()); return stringBuilder.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.DROP; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropFileStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropFileStmt.java index fb2af7d9dd3..048498050bc 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropFileStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropFileStmt.java @@ -109,4 +109,9 @@ public class DropFileStmt extends DdlStmt { public RedirectStatus getRedirectStatus() { return RedirectStatus.FORWARD_WITH_SYNC; } + + @Override + public StmtType stmtType() { + return StmtType.DROP; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropFunctionStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropFunctionStmt.java index 9f3d297b6b6..de4b5576cd1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropFunctionStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropFunctionStmt.java @@ -94,4 +94,9 @@ public class DropFunctionStmt extends DdlStmt { public RedirectStatus getRedirectStatus() { return RedirectStatus.FORWARD_WITH_SYNC; } + + @Override + public StmtType stmtType() { + return StmtType.DROP; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropMaterializedViewStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropMaterializedViewStmt.java index 377cdcf4152..28db2575277 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropMaterializedViewStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropMaterializedViewStmt.java @@ -90,4 +90,9 @@ public class DropMaterializedViewStmt extends DdlStmt { stringBuilder.append("ON ").append(tableName.toSql()); return stringBuilder.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.DROP; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropPolicyStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropPolicyStmt.java index 4bd20fe8c9b..85560a08f0d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropPolicyStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropPolicyStmt.java @@ -105,4 +105,9 @@ public class DropPolicyStmt extends DdlStmt { } return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.DROP; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropRepositoryStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropRepositoryStmt.java index ce2ea3e8ea2..036d2b606d3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropRepositoryStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropRepositoryStmt.java @@ -53,4 +53,9 @@ public class DropRepositoryStmt extends DdlStmt { sb.append("REPOSITORY `").append(repoName).append("`"); return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.DROP; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropResourceStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropResourceStmt.java index e57c433bb9b..10744acceec 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropResourceStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropResourceStmt.java @@ -62,4 +62,9 @@ public class DropResourceStmt extends DdlStmt { sb.append("RESOURCE `").append(resourceName).append("`"); return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.DROP; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropRoleStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropRoleStmt.java index 468b86579f4..e27dc4705ea 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropRoleStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropRoleStmt.java @@ -69,4 +69,9 @@ public class DropRoleStmt extends DdlStmt { public String toSql() { return "DROP ROLE " + role; } + + @Override + public StmtType stmtType() { + return StmtType.DROP; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropSqlBlockRuleStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropSqlBlockRuleStmt.java index 1a90eec2ac7..11dccab6577 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropSqlBlockRuleStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropSqlBlockRuleStmt.java @@ -56,4 +56,9 @@ public class DropSqlBlockRuleStmt extends DdlStmt { sb.append("DROP SQL_BLOCK_RULE ").append(Joiner.on(",").join(ruleNames)); return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.DROP; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropStatsStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropStatsStmt.java index aa83a1de186..3689af25cda 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropStatsStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropStatsStmt.java @@ -193,4 +193,9 @@ public class DropStatsStmt extends DdlStmt { dbName + "." + tblName); } } + + @Override + public StmtType stmtType() { + return StmtType.DROP; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropTableStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropTableStmt.java index 5df0a82c6f2..d9a266fdf11 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropTableStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropTableStmt.java @@ -107,4 +107,9 @@ public class DropTableStmt extends DdlStmt { public String toString() { return toSql(); } + + @Override + public StmtType stmtType() { + return StmtType.DROP; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropUserStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropUserStmt.java index e336040d7f8..e9b3e6fe794 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropUserStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropUserStmt.java @@ -84,4 +84,9 @@ public class DropUserStmt extends DdlStmt { public String toString() { return toSql(); } + + @Override + public StmtType stmtType() { + return StmtType.DROP; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropWorkloadGroupStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropWorkloadGroupStmt.java index d7a1703771c..1137224c12e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropWorkloadGroupStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropWorkloadGroupStmt.java @@ -61,4 +61,9 @@ public class DropWorkloadGroupStmt extends DdlStmt { sb.append("RESOURCE GROUP '").append(workloadGroupName).append("' "); return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.DROP; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropWorkloadSchedPolicyStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropWorkloadSchedPolicyStmt.java index 7eeff5f3214..fae534f51f6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/DropWorkloadSchedPolicyStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/DropWorkloadSchedPolicyStmt.java @@ -63,4 +63,9 @@ public class DropWorkloadSchedPolicyStmt extends DdlStmt { return sb.toString(); } + @Override + public StmtType stmtType() { + return StmtType.DROP; + } + } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ExecuteStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ExecuteStmt.java index df5707dda67..4805f8c97e1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ExecuteStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ExecuteStmt.java @@ -54,4 +54,9 @@ public class ExecuteStmt extends StatementBase { sql += ")"; return sql; } + + @Override + public StmtType stmtType() { + return StmtType.EXECUTE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ExportStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ExportStmt.java index 855379cbc37..232a61f1edc 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ExportStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ExportStmt.java @@ -447,4 +447,9 @@ public class ExportStmt extends StatementBase { public String toString() { return toSql(); } + + @Override + public StmtType stmtType() { + return StmtType.EXPORT; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/GrantStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/GrantStmt.java index de4414ad40e..f1b3ab01d43 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/GrantStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/GrantStmt.java @@ -374,4 +374,9 @@ public class GrantStmt extends DdlStmt { public String toString() { return toSql(); } + + @Override + public StmtType stmtType() { + return StmtType.GRANT; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/InsertOverwriteTableStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/InsertOverwriteTableStmt.java index cfe030c428a..bef4a38bc3e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/InsertOverwriteTableStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/InsertOverwriteTableStmt.java @@ -105,4 +105,10 @@ public class InsertOverwriteTableStmt extends DdlStmt { getDb() + ": " + getTbl()); } } + + @Override + public StmtType stmtType() { + return StmtType.INSERT; + } + } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/InsertStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/InsertStmt.java index 3b5c923bfea..dc7b5130e3c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/InsertStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/InsertStmt.java @@ -333,4 +333,9 @@ public abstract class InsertStmt extends DdlStmt implements NotFallbackInParser String toSql(); } + + @Override + public StmtType stmtType() { + return StmtType.INSERT; + } } 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 20385f59d72..3d5db0c8840 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 @@ -87,4 +87,9 @@ public class InstallPluginStmt extends DdlStmt { public RedirectStatus getRedirectStatus() { return RedirectStatus.FORWARD_WITH_SYNC; } + + @Override + public StmtType stmtType() { + return StmtType.INSTALL; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/KillAnalysisJobStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/KillAnalysisJobStmt.java index a950c663d36..996afb8c8a6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/KillAnalysisJobStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/KillAnalysisJobStmt.java @@ -24,4 +24,9 @@ public class KillAnalysisJobStmt extends DdlStmt { public KillAnalysisJobStmt(long jobId) { this.jobId = jobId; } + + @Override + public StmtType stmtType() { + return StmtType.KILL; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/KillStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/KillStmt.java index 77cbafe4a8f..12cd9a4daf9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/KillStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/KillStmt.java @@ -76,4 +76,9 @@ public class KillStmt extends StatementBase { public RedirectStatus getRedirectStatus() { return RedirectStatus.NO_FORWARD; } + + @Override + public StmtType stmtType() { + return StmtType.KILL; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/LoadStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/LoadStmt.java index 1990078b46c..a24d1ae72fe 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/LoadStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/LoadStmt.java @@ -689,4 +689,8 @@ public class LoadStmt extends DdlStmt { } + @Override + public StmtType stmtType() { + return StmtType.LOAD; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/PauseRoutineLoadStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/PauseRoutineLoadStmt.java index adda77df65b..745b6ecf385 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/PauseRoutineLoadStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/PauseRoutineLoadStmt.java @@ -63,4 +63,9 @@ public class PauseRoutineLoadStmt extends DdlStmt { db = analyzer.getDefaultDb(); } } + + @Override + public StmtType stmtType() { + return StmtType.PAUSE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/PauseSyncJobStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/PauseSyncJobStmt.java index a032caa2622..14d38a882c3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/PauseSyncJobStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/PauseSyncJobStmt.java @@ -53,4 +53,9 @@ public class PauseSyncJobStmt extends DdlStmt { stringBuilder.append(jobName.toSql()); return stringBuilder.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.PAUSE; + } } 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 0d60664e100..cfb4ecf4087 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 @@ -84,4 +84,9 @@ public class RecoverDbStmt extends DdlStmt { } return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.RECOVER; + } } 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 9b2f4626808..05db7a81e83 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 @@ -97,4 +97,9 @@ public class RecoverPartitionStmt extends DdlStmt { sb.append(getTableName()); return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.RECOVER; + } } 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 c4133c2ed9a..56dfbbfc2c7 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 @@ -91,4 +91,9 @@ public class RecoverTableStmt extends DdlStmt { } return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.RECOVER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/RefreshCatalogStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/RefreshCatalogStmt.java index a2e5930d142..060807b7919 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/RefreshCatalogStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/RefreshCatalogStmt.java @@ -84,4 +84,8 @@ public class RefreshCatalogStmt extends DdlStmt { return stringBuilder.toString(); } + @Override + public StmtType stmtType() { + return StmtType.REFRESH; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/RefreshDbStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/RefreshDbStmt.java index e8bdc168ddc..091d55eafe0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/RefreshDbStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/RefreshDbStmt.java @@ -116,4 +116,9 @@ public class RefreshDbStmt extends DdlStmt { public String toString() { return toSql(); } + + @Override + public StmtType stmtType() { + return StmtType.REFRESH; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/RefreshLdapStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/RefreshLdapStmt.java index 48c23999f15..81296a4961c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/RefreshLdapStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/RefreshLdapStmt.java @@ -69,4 +69,9 @@ public class RefreshLdapStmt extends DdlStmt { return stringBuilder.toString(); } + @Override + public StmtType stmtType() { + return StmtType.REFRESH; + } + } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/RefreshTableStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/RefreshTableStmt.java index 65bf35f3059..9755e91dadf 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/RefreshTableStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/RefreshTableStmt.java @@ -82,4 +82,9 @@ public class RefreshTableStmt extends DdlStmt { public String toString() { return toSql(); } + + @Override + public StmtType stmtType() { + return StmtType.REFRESH; + } } 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 21e417631dd..317de11c1f6 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 @@ -247,4 +247,9 @@ public class RestoreStmt extends AbstractBackupStmt { sb.append("\n)"); return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.RESTORE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ResumeRoutineLoadStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ResumeRoutineLoadStmt.java index 0087dcb0452..e21a6ca53c5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ResumeRoutineLoadStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ResumeRoutineLoadStmt.java @@ -63,4 +63,9 @@ public class ResumeRoutineLoadStmt extends DdlStmt { db = analyzer.getDefaultDb(); } } + + @Override + public StmtType stmtType() { + return StmtType.RESUME; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ResumeSyncJobStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ResumeSyncJobStmt.java index d4b6c65c80d..2f401a09112 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ResumeSyncJobStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ResumeSyncJobStmt.java @@ -53,4 +53,9 @@ public class ResumeSyncJobStmt extends DdlStmt { stringBuilder.append(jobName.toSql()); return stringBuilder.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.RESUME; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/RevokeStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/RevokeStmt.java index ad26c2670cb..9b06623f82c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/RevokeStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/RevokeStmt.java @@ -209,4 +209,9 @@ public class RevokeStmt extends DdlStmt { public String toString() { return toSql(); } + + @Override + public StmtType stmtType() { + return StmtType.REVOKE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java index 66994e99a72..b7b778ae901 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java @@ -2900,4 +2900,9 @@ public class SelectStmt extends QueryStmt { this.selectList = selectList; this.originSelectList = selectList.clone(); } + + @Override + public StmtType stmtType() { + return StmtType.SELECT; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SetOperationStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/SetOperationStmt.java index 1d3c98cc7a7..3c4f8a76fd5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SetOperationStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SetOperationStmt.java @@ -981,5 +981,12 @@ public class SetOperationStmt extends QueryStmt { public SetOperand clone() { return new SetOperand(this); } + } + + @Override + public StmtType stmtType() { + return StmtType.SELECT; + } + } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SetStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/SetStmt.java index 3c6d938026f..bfa0839b592 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SetStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SetStmt.java @@ -87,6 +87,11 @@ public class SetStmt extends StatementBase { return toSql(); } + @Override + public StmtType stmtType() { + return StmtType.SET; + } + @Override public RedirectStatus getRedirectStatus() { if (setVars != null) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SetUserPropertyStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/SetUserPropertyStmt.java index 240fb5bfa36..7342fe7a79c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SetUserPropertyStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SetUserPropertyStmt.java @@ -91,4 +91,9 @@ public class SetUserPropertyStmt extends DdlStmt { public String toString() { return toSql(); } + + @Override + public StmtType stmtType() { + return StmtType.SET; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStmt.java index 09daa778b7b..9be50ee9dbd 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStmt.java @@ -31,4 +31,9 @@ public abstract class ShowStmt extends StatementBase { public RedirectStatus getRedirectStatus() { return RedirectStatus.NO_FORWARD; } + + @Override + public StmtType stmtType() { + return StmtType.SHOW; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/StatementBase.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/StatementBase.java index c0ebab251f8..f2f91529e8b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/StatementBase.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/StatementBase.java @@ -143,6 +143,10 @@ public abstract class StatementBase implements ParseNode { return ""; } + public StmtType stmtType() { + return StmtType.OTHER; + } + public abstract RedirectStatus getRedirectStatus(); /** diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/StmtType.java similarity index 63% copy from fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStmt.java copy to fe/fe-core/src/main/java/org/apache/doris/analysis/StmtType.java index 09daa778b7b..426233ff7b4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/StmtType.java @@ -17,18 +17,45 @@ package org.apache.doris.analysis; -import org.apache.doris.common.AnalysisException; -import org.apache.doris.qe.ShowResultSetMetaData; - -public abstract class ShowStmt extends StatementBase { - public abstract ShowResultSetMetaData getMetaData(); - - public SelectStmt toSelectStmt(Analyzer analyzer) throws AnalysisException { - return null; - } - - @Override - public RedirectStatus getRedirectStatus() { - return RedirectStatus.NO_FORWARD; - } +public enum StmtType { + ADMIN, + ALTER, + ANALYZE, + BACKUP, + CALL, + CANCEL, + CLEAN, + CREATE, + DDL, + DELETE, + DROP, + EXECUTE, + EXPLAIN, + EXPORT, + GRANT, + IMPORT, + INSERT, + INSTALL, + KILL, + LOAD, + OTHER, + PAUSE, + PREPARE, + RECOVER, + REFRESH, + RESTORE, + RESUME, + REVOKE, + SELECT, + SET, + SHOW, + STOP, + SWITCH, + SYNC, + TRANSACTION, + TRUNCATE, + UNINSTALL, + UNSET, + UPDATE, + USE } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/StopRoutineLoadStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/StopRoutineLoadStmt.java index 58ed8a441e7..df18979cc7e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/StopRoutineLoadStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/StopRoutineLoadStmt.java @@ -47,4 +47,9 @@ public class StopRoutineLoadStmt extends DdlStmt { super.analyze(analyzer); labelName.analyze(analyzer); } + + @Override + public StmtType stmtType() { + return StmtType.STOP; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/StopSyncJobStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/StopSyncJobStmt.java index 34ab27b4516..e58835a26a9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/StopSyncJobStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/StopSyncJobStmt.java @@ -53,4 +53,9 @@ public class StopSyncJobStmt extends DdlStmt { stringBuilder.append(jobName.toSql()); return stringBuilder.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.STOP; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SwitchStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/SwitchStmt.java index fe5ac574136..d8d3dac0d22 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SwitchStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SwitchStmt.java @@ -62,4 +62,9 @@ public class SwitchStmt extends StatementBase { public RedirectStatus getRedirectStatus() { return RedirectStatus.NO_FORWARD; } + + @Override + public StmtType stmtType() { + return StmtType.SWITCH; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SyncStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/SyncStmt.java index 59b9d3cd8af..e559b30f420 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SyncStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SyncStmt.java @@ -29,4 +29,9 @@ public class SyncStmt extends DdlStmt { public RedirectStatus getRedirectStatus() { return RedirectStatus.FORWARD_WITH_SYNC; } + + @Override + public StmtType stmtType() { + return StmtType.SYNC; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/TransactionStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/TransactionStmt.java index bad6d4670a8..60c8d040f72 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/TransactionStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/TransactionStmt.java @@ -31,4 +31,9 @@ public class TransactionStmt extends StatementBase { public void analyze(Analyzer analyzer) throws AnalysisException, UserException { super.analyze(analyzer); } + + @Override + public StmtType stmtType() { + return StmtType.TRANSACTION; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/TruncateTableStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/TruncateTableStmt.java index 1a9fbd3bafd..46a6045d51f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/TruncateTableStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/TruncateTableStmt.java @@ -85,4 +85,9 @@ public class TruncateTableStmt extends DdlStmt { } return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.TRUNCATE; + } } 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 5b87a6797e9..c87456dcb37 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 @@ -67,4 +67,9 @@ public class UninstallPluginStmt extends DdlStmt { public RedirectStatus getRedirectStatus() { return RedirectStatus.FORWARD_WITH_SYNC; } + + @Override + public StmtType stmtType() { + return StmtType.UNINSTALL; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/UnsetVariableStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/UnsetVariableStmt.java index 2b05e233338..1756e831f69 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/UnsetVariableStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/UnsetVariableStmt.java @@ -106,4 +106,9 @@ public class UnsetVariableStmt extends StatementBase { return RedirectStatus.NO_FORWARD; } + + @Override + public StmtType stmtType() { + return StmtType.UNSET; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/UpdateStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/UpdateStmt.java index b6db99ee43b..786ad16237e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/UpdateStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/UpdateStmt.java @@ -251,4 +251,9 @@ public class UpdateStmt extends DdlStmt implements NotFallbackInParser { } return sb.toString(); } + + @Override + public StmtType stmtType() { + return StmtType.UPDATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/UseStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/UseStmt.java index 6bf7ce0bc03..dd9cc582512 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/UseStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/UseStmt.java @@ -65,6 +65,11 @@ public class UseStmt extends StatementBase { return sb.toString(); } + @Override + public StmtType stmtType() { + return StmtType.USE; + } + @Override public String toString() { return toSql(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/InternalSchema.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/InternalSchema.java index a2618db2ff4..15bf65c3c73 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/InternalSchema.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/InternalSchema.java @@ -140,6 +140,7 @@ public class InternalSchema { AUDIT_SCHEMA .add(new ColumnDef("return_rows", TypeDef.create(PrimitiveType.BIGINT), ColumnNullableType.NULLABLE)); AUDIT_SCHEMA.add(new ColumnDef("stmt_id", TypeDef.create(PrimitiveType.BIGINT), ColumnNullableType.NULLABLE)); + AUDIT_SCHEMA.add(new ColumnDef("stmt_type", TypeDef.createVarchar(48), ColumnNullableType.NULLABLE)); AUDIT_SCHEMA.add(new ColumnDef("is_query", TypeDef.create(PrimitiveType.TINYINT), ColumnNullableType.NULLABLE)); AUDIT_SCHEMA.add(new ColumnDef("frontend_ip", TypeDef.createVarchar(128), ColumnNullableType.NULLABLE)); AUDIT_SCHEMA diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundResultSink.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundResultSink.java index 10a6b0121e3..5fd5c18a365 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundResultSink.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundResultSink.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.analyzer; +import org.apache.doris.analysis.StmtType; import org.apache.doris.nereids.exceptions.UnboundException; import org.apache.doris.nereids.memo.GroupExpression; import org.apache.doris.nereids.properties.LogicalProperties; @@ -94,4 +95,9 @@ public class UnboundResultSink<CHILD_TYPE extends Plan> extends LogicalSink<CHIL public String toString() { return Utils.toSqlString("UnboundResultSink[" + id.asInt() + "]"); } + + @Override + public StmtType stmtType() { + return StmtType.SELECT; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AlterMTMVCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AlterMTMVCommand.java index ab9d6e35c9d..56f1ffec182 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AlterMTMVCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AlterMTMVCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands; +import org.apache.doris.analysis.StmtType; import org.apache.doris.nereids.trees.plans.PlanType; import org.apache.doris.nereids.trees.plans.commands.info.AlterMTMVInfo; import org.apache.doris.nereids.trees.plans.visitor.PlanVisitor; @@ -55,4 +56,8 @@ public class AlterMTMVCommand extends Command implements ForwardWithSync, NotAll return visitor.visitAlterMTMVCommand(this, context); } + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AlterViewCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AlterViewCommand.java index 3a2b551d9bf..900986874b8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AlterViewCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AlterViewCommand.java @@ -18,6 +18,7 @@ package org.apache.doris.nereids.trees.plans.commands; import org.apache.doris.analysis.AlterViewStmt; +import org.apache.doris.analysis.StmtType; import org.apache.doris.catalog.Env; import org.apache.doris.nereids.trees.plans.PlanType; import org.apache.doris.nereids.trees.plans.commands.info.AlterViewInfo; @@ -47,4 +48,9 @@ public class AlterViewCommand extends Command implements ForwardWithSync { public <R, C> R accept(PlanVisitor<R, C> visitor, C context) { return visitor.visitAlterViewCommand(this, context); } + + @Override + public StmtType stmtType() { + return StmtType.ALTER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CallCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CallCommand.java index 29e0b17228f..81d950eab6a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CallCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CallCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands; +import org.apache.doris.analysis.StmtType; import org.apache.doris.nereids.analyzer.UnboundFunction; import org.apache.doris.nereids.trees.plans.PlanType; import org.apache.doris.nereids.trees.plans.commands.call.CallFunc; @@ -58,4 +59,8 @@ public class CallCommand extends Command implements ForwardWithSync { return visitor.visitCallCommand(this, context); } + @Override + public StmtType stmtType() { + return StmtType.CALL; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CancelMTMVTaskCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CancelMTMVTaskCommand.java index e5c075da7e4..c8b2a19067d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CancelMTMVTaskCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CancelMTMVTaskCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands; +import org.apache.doris.analysis.StmtType; import org.apache.doris.catalog.Env; import org.apache.doris.nereids.trees.plans.PlanType; import org.apache.doris.nereids.trees.plans.commands.info.CancelMTMVTaskInfo; @@ -47,4 +48,9 @@ public class CancelMTMVTaskCommand extends Command implements ForwardWithSync, N public <R, C> R accept(PlanVisitor<R, C> visitor, C context) { return visitor.visitCancelMTMVTaskCommand(this, context); } + + @Override + public StmtType stmtType() { + return StmtType.CANCEL; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateMTMVCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateMTMVCommand.java index 814804b8ce9..0bc3c335fd1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateMTMVCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateMTMVCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands; +import org.apache.doris.analysis.StmtType; import org.apache.doris.catalog.Env; import org.apache.doris.nereids.trees.plans.PlanType; import org.apache.doris.nereids.trees.plans.commands.info.CreateMTMVInfo; @@ -56,4 +57,9 @@ public class CreateMTMVCommand extends Command implements ForwardWithSync, NotAl return visitor.visitCreateMTMVCommand(this, context); } + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } + } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreatePolicyCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreatePolicyCommand.java index 01ccb3fa33f..ee4a4bfea45 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreatePolicyCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreatePolicyCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands; +import org.apache.doris.analysis.StmtType; import org.apache.doris.analysis.UserIdentity; import org.apache.doris.nereids.exceptions.AnalysisException; import org.apache.doris.nereids.trees.expressions.Expression; @@ -82,4 +83,9 @@ public class CreatePolicyCommand extends Command implements ForwardWithSync { ctx.getSessionVariable().enableFallbackToOriginalPlannerOnce(); throw new AnalysisException("Not support create policy command in Nereids now"); } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateProcedureCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateProcedureCommand.java index 39a93831848..7fb8c856b46 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateProcedureCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateProcedureCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands; +import org.apache.doris.analysis.StmtType; import org.apache.doris.nereids.annotation.Developing; import org.apache.doris.nereids.trees.plans.PlanType; import org.apache.doris.nereids.trees.plans.commands.info.FuncNameInfo; @@ -61,4 +62,9 @@ public class CreateProcedureCommand extends Command implements ForwardWithSync { public <R, C> R accept(PlanVisitor<R, C> visitor, C context) { return visitor.visitCreateProcedureCommand(this, context); } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateTableCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateTableCommand.java index 38c92631d41..72e72cbe092 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateTableCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateTableCommand.java @@ -19,6 +19,7 @@ package org.apache.doris.nereids.trees.plans.commands; import org.apache.doris.analysis.CreateTableStmt; import org.apache.doris.analysis.DropTableStmt; +import org.apache.doris.analysis.StmtType; import org.apache.doris.analysis.TableName; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.ScalarType; @@ -211,4 +212,9 @@ public class CreateTableCommand extends Command implements ForwardWithSync { public CreateTableInfo getCreateTableInfo() { return createTableInfo; } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateTableLikeCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateTableLikeCommand.java index a271623ef08..3b59c312880 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateTableLikeCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateTableLikeCommand.java @@ -18,6 +18,7 @@ package org.apache.doris.nereids.trees.plans.commands; import org.apache.doris.analysis.CreateTableLikeStmt; +import org.apache.doris.analysis.StmtType; import org.apache.doris.catalog.Env; import org.apache.doris.nereids.trees.plans.PlanType; import org.apache.doris.nereids.trees.plans.commands.info.CreateTableLikeInfo; @@ -46,4 +47,9 @@ public class CreateTableLikeCommand extends Command implements ForwardWithSync { public <R, C> R accept(PlanVisitor<R, C> visitor, C context) { return visitor.visitCreateTableLikeCommand(this, context); } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateViewCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateViewCommand.java index a6698bc1f69..2f597a1a85e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateViewCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateViewCommand.java @@ -18,6 +18,7 @@ package org.apache.doris.nereids.trees.plans.commands; import org.apache.doris.analysis.CreateViewStmt; +import org.apache.doris.analysis.StmtType; import org.apache.doris.catalog.Env; import org.apache.doris.nereids.trees.plans.PlanType; import org.apache.doris.nereids.trees.plans.commands.info.CreateViewInfo; @@ -47,4 +48,9 @@ public class CreateViewCommand extends Command implements ForwardWithSync { public <R, C> R accept(PlanVisitor<R, C> visitor, C context) { return visitor.visitCreateViewCommand(this, context); } + + @Override + public StmtType stmtType() { + return StmtType.CREATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DeleteFromCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DeleteFromCommand.java index fe5552fed65..0778765f0bd 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DeleteFromCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DeleteFromCommand.java @@ -21,6 +21,7 @@ import org.apache.doris.analysis.Expr; import org.apache.doris.analysis.Predicate; import org.apache.doris.analysis.SetVar; import org.apache.doris.analysis.SlotRef; +import org.apache.doris.analysis.StmtType; import org.apache.doris.analysis.StringLiteral; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.Database; @@ -434,4 +435,9 @@ public class DeleteFromCommand extends Command implements ForwardWithSync, Expla throw new AnalysisException("delete command on aggregate/duplicate table is not explainable"); } } + + @Override + public StmtType stmtType() { + return StmtType.DELETE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DeleteFromUsingCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DeleteFromUsingCommand.java index d212e3d6c28..de374d939c1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DeleteFromUsingCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DeleteFromUsingCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands; +import org.apache.doris.analysis.StmtType; import org.apache.doris.catalog.KeysType; import org.apache.doris.catalog.OlapTable; import org.apache.doris.nereids.exceptions.AnalysisException; @@ -82,4 +83,9 @@ public class DeleteFromUsingCommand extends DeleteFromCommand { throw new AnalysisException("delete command on with using clause only supports unique key model"); } } + + @Override + public StmtType stmtType() { + return StmtType.DELETE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DropMTMVCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DropMTMVCommand.java index 19eedb82746..909b87ef9aa 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DropMTMVCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DropMTMVCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands; +import org.apache.doris.analysis.StmtType; import org.apache.doris.catalog.Env; import org.apache.doris.nereids.trees.plans.PlanType; import org.apache.doris.nereids.trees.plans.commands.info.DropMTMVInfo; @@ -47,4 +48,9 @@ public class DropMTMVCommand extends Command implements ForwardWithSync, NotAllo public <R, C> R accept(PlanVisitor<R, C> visitor, C context) { return visitor.visitDropMTMVCommand(this, context); } + + @Override + public StmtType stmtType() { + return StmtType.DROP; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DropProcedureCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DropProcedureCommand.java index 6aa76197d82..6d4f32e999a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DropProcedureCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DropProcedureCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands; +import org.apache.doris.analysis.StmtType; import org.apache.doris.nereids.annotation.Developing; import org.apache.doris.nereids.trees.plans.PlanType; import org.apache.doris.nereids.trees.plans.commands.info.FuncNameInfo; @@ -59,4 +60,9 @@ public class DropProcedureCommand extends Command implements ForwardWithSync { public <R, C> R accept(PlanVisitor<R, C> visitor, C context) { return visitor.visitDropProcedureCommand(this, context); } + + @Override + public StmtType stmtType() { + return StmtType.DROP; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExecuteCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExecuteCommand.java index d5260a72cde..7cecc6343c9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExecuteCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExecuteCommand.java @@ -18,6 +18,7 @@ package org.apache.doris.nereids.trees.plans.commands; import org.apache.doris.analysis.Queriable; +import org.apache.doris.analysis.StmtType; import org.apache.doris.nereids.StatementContext; import org.apache.doris.nereids.exceptions.AnalysisException; import org.apache.doris.nereids.glue.LogicalPlanAdapter; @@ -102,4 +103,9 @@ public class ExecuteCommand extends Command { return "EXECUTE `" + stmtName + "`" + realValueExpr.stream().map(Expression::toSql).collect(Collectors.joining(", ", " USING ", "")); } + + @Override + public StmtType stmtType() { + return StmtType.EXECUTE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExplainCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExplainCommand.java index fccd9c07b14..d4fce906693 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExplainCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExplainCommand.java @@ -18,6 +18,7 @@ package org.apache.doris.nereids.trees.plans.commands; import org.apache.doris.analysis.ExplainOptions; +import org.apache.doris.analysis.StmtType; import org.apache.doris.common.AnalysisException; import org.apache.doris.nereids.NereidsPlanner; import org.apache.doris.nereids.glue.LogicalPlanAdapter; @@ -112,4 +113,9 @@ public class ExplainCommand extends Command implements NoForward { public boolean showPlanProcess() { return showPlanProcess; } + + @Override + public StmtType stmtType() { + return StmtType.EXPLAIN; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExportCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExportCommand.java index 263bf43e355..dbf6cf7067e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExportCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExportCommand.java @@ -21,6 +21,7 @@ import org.apache.doris.analysis.BrokerDesc; import org.apache.doris.analysis.LoadStmt; import org.apache.doris.analysis.OutFileClause; import org.apache.doris.analysis.Separator; +import org.apache.doris.analysis.StmtType; import org.apache.doris.analysis.StorageBackend; import org.apache.doris.analysis.TableName; import org.apache.doris.catalog.BrokerMgr; @@ -400,4 +401,9 @@ public class ExportCommand extends Command implements ForwardWithSync { public <R, C> R accept(PlanVisitor<R, C> visitor, C context) { return visitor.visitExportCommand(this, context); } + + @Override + public StmtType stmtType() { + return StmtType.EXPORT; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/LoadCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/LoadCommand.java index 53ee7263b00..59eaa1728b9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/LoadCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/LoadCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands; +import org.apache.doris.analysis.StmtType; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.OlapTable; @@ -500,4 +501,9 @@ public class LoadCommand extends Command implements ForwardWithSync { public <R, C> R accept(PlanVisitor<R, C> visitor, C context) { return visitor.visitLoadCommand(this, context); } + + @Override + public StmtType stmtType() { + return StmtType.LOAD; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/PauseMTMVCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/PauseMTMVCommand.java index f2a8cb23360..fadb3bc0c32 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/PauseMTMVCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/PauseMTMVCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands; +import org.apache.doris.analysis.StmtType; import org.apache.doris.catalog.Env; import org.apache.doris.nereids.trees.plans.PlanType; import org.apache.doris.nereids.trees.plans.commands.info.PauseMTMVInfo; @@ -47,4 +48,9 @@ public class PauseMTMVCommand extends Command implements ForwardWithSync, NotAll public <R, C> R accept(PlanVisitor<R, C> visitor, C context) { return visitor.visitPauseMTMVCommand(this, context); } + + @Override + public StmtType stmtType() { + return StmtType.PAUSE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/PrepareCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/PrepareCommand.java index 43778a1e005..f8788f0657f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/PrepareCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/PrepareCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands; +import org.apache.doris.analysis.StmtType; import org.apache.doris.mysql.MysqlCommand; import org.apache.doris.nereids.trees.expressions.Placeholder; import org.apache.doris.nereids.trees.plans.PlanType; @@ -122,4 +123,9 @@ public class PrepareCommand extends Command { public PrepareCommand withPlaceholders(List<Placeholder> placeholders) { return new PrepareCommand(this.name, this.logicalPlan, placeholders, this.originalStmt); } + + @Override + public StmtType stmtType() { + return StmtType.PREPARE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/RefreshMTMVCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/RefreshMTMVCommand.java index a918112555e..2ed3e446d7b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/RefreshMTMVCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/RefreshMTMVCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands; +import org.apache.doris.analysis.StmtType; import org.apache.doris.catalog.Env; import org.apache.doris.nereids.trees.plans.PlanType; import org.apache.doris.nereids.trees.plans.commands.info.RefreshMTMVInfo; @@ -47,4 +48,9 @@ public class RefreshMTMVCommand extends Command implements ForwardWithSync, NotA public <R, C> R accept(PlanVisitor<R, C> visitor, C context) { return visitor.visitRefreshMTMVCommand(this, context); } + + @Override + public StmtType stmtType() { + return StmtType.REFRESH; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ResumeMTMVCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ResumeMTMVCommand.java index a47c65eeb41..5fc933886c2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ResumeMTMVCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ResumeMTMVCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands; +import org.apache.doris.analysis.StmtType; import org.apache.doris.catalog.Env; import org.apache.doris.nereids.trees.plans.PlanType; import org.apache.doris.nereids.trees.plans.commands.info.ResumeMTMVInfo; @@ -47,4 +48,9 @@ public class ResumeMTMVCommand extends Command implements ForwardWithSync, NotAl public <R, C> R accept(PlanVisitor<R, C> visitor, C context) { return visitor.visitResumeMTMVCommand(this, context); } + + @Override + public StmtType stmtType() { + return StmtType.RESUME; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowConstraintsCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowConstraintsCommand.java index 13d1f0c5f6d..5c3c16137bf 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowConstraintsCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowConstraintsCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands; +import org.apache.doris.analysis.StmtType; import org.apache.doris.catalog.TableIf; import org.apache.doris.nereids.trees.plans.PlanType; import org.apache.doris.nereids.trees.plans.visitor.PlanVisitor; @@ -63,4 +64,9 @@ public class ShowConstraintsCommand extends Command implements NoForward { public <R, C> R accept(PlanVisitor<R, C> visitor, C context) { return visitor.visitShowConstraintsCommand(this, context); } + + @Override + public StmtType stmtType() { + return StmtType.SHOW; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowCreateProcedureCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowCreateProcedureCommand.java index 1eac3cdc867..1000100c459 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowCreateProcedureCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowCreateProcedureCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands; +import org.apache.doris.analysis.StmtType; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.ScalarType; import org.apache.doris.nereids.trees.plans.PlanType; @@ -73,4 +74,9 @@ public class ShowCreateProcedureCommand extends Command implements NoForward { public <R, C> R accept(PlanVisitor<R, C> visitor, C context) { return visitor.visitShowCreateProcedureCommand(this, context); } + + @Override + public StmtType stmtType() { + return StmtType.SHOW; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowProcedureStatusCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowProcedureStatusCommand.java index b940f104d99..c77c77c875e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowProcedureStatusCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowProcedureStatusCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands; +import org.apache.doris.analysis.StmtType; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.ScalarType; import org.apache.doris.nereids.exceptions.AnalysisException; @@ -135,4 +136,9 @@ public class ShowProcedureStatusCommand extends Command implements NoForward { public <R, C> R accept(PlanVisitor<R, C> visitor, C context) { return visitor.visitShowProcedureStatusCommand(this, context); } + + @Override + public StmtType stmtType() { + return StmtType.SHOW; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/UpdateCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/UpdateCommand.java index 644c5730a37..444bc8aa309 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/UpdateCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/UpdateCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands; +import org.apache.doris.analysis.StmtType; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.KeysType; import org.apache.doris.catalog.OlapTable; @@ -257,4 +258,9 @@ public class UpdateCommand extends Command implements ForwardWithSync, Explainab public <R, C> R accept(PlanVisitor<R, C> visitor, C context) { return visitor.visitUpdateCommand(this, context); } + + @Override + public StmtType stmtType() { + return StmtType.UPDATE; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/BatchInsertIntoTableCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/BatchInsertIntoTableCommand.java index cdb5a4c7eeb..c0ab37e5d08 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/BatchInsertIntoTableCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/BatchInsertIntoTableCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands.insert; +import org.apache.doris.analysis.StmtType; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.Table; @@ -159,4 +160,9 @@ public class BatchInsertIntoTableCommand extends Command implements NoForward, E targetTableIf.readUnlock(); } } + + @Override + public StmtType stmtType() { + return StmtType.INSERT; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertIntoTableCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertIntoTableCommand.java index efe63884faa..1f1409e41c0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertIntoTableCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertIntoTableCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands.insert; +import org.apache.doris.analysis.StmtType; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.OlapTable; import org.apache.doris.catalog.TableIf; @@ -258,4 +259,9 @@ public class InsertIntoTableCommand extends Command implements ForwardWithSync, } return false; } + + @Override + public StmtType stmtType() { + return StmtType.INSERT; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertOverwriteTableCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertOverwriteTableCommand.java index 41568097dad..ea9b1faf74f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertOverwriteTableCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertOverwriteTableCommand.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.commands.insert; +import org.apache.doris.analysis.StmtType; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.MTMV; import org.apache.doris.catalog.OlapTable; @@ -309,4 +310,9 @@ public class InsertOverwriteTableCommand extends Command implements ForwardWithS public <R, C> R accept(PlanVisitor<R, C> visitor, C context) { return visitor.visitInsertOverwriteTableCommand(this, context); } + + @Override + public StmtType stmtType() { + return StmtType.INSERT; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalPlan.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalPlan.java index f23d3f8d7a4..b419c5718b0 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalPlan.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalPlan.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.trees.plans.logical; +import org.apache.doris.analysis.StmtType; import org.apache.doris.nereids.properties.DataTrait; import org.apache.doris.nereids.trees.expressions.Slot; import org.apache.doris.nereids.trees.plans.Plan; @@ -102,4 +103,8 @@ public interface LogicalPlan extends Plan { void computeEqualSet(DataTrait.Builder builder); void computeFd(DataTrait.Builder builder); + + default StmtType stmtType() { + return StmtType.OTHER; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditEvent.java b/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditEvent.java index ac68b38e258..0b64a748a10 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditEvent.java +++ b/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditEvent.java @@ -84,6 +84,8 @@ public class AuditEvent { public boolean isNereids = false; @AuditField(value = "feIp") public String feIp = ""; + @AuditField(value = "StmtType") + public String stmtType = ""; @AuditField(value = "Stmt") public String stmt = ""; @AuditField(value = "CpuTimeMS") @@ -230,6 +232,11 @@ public class AuditEvent { return this; } + public AuditEventBuilder setStmtType(String stmtType) { + auditEvent.stmtType = stmtType; + return this; + } + public AuditEventBuilder setStmt(String stmt) { auditEvent.stmt = stmt; return this; diff --git a/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditLoaderPlugin.java b/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditLoaderPlugin.java index fb4b6153431..4503b5b8802 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditLoaderPlugin.java +++ b/fe/fe-core/src/main/java/org/apache/doris/plugin/audit/AuditLoaderPlugin.java @@ -156,6 +156,7 @@ public class AuditLoaderPlugin extends Plugin implements AuditPlugin { logBuffer.append(event.scanRows).append("\t"); logBuffer.append(event.returnRows).append("\t"); logBuffer.append(event.stmtId).append("\t"); + logBuffer.append(event.stmtType).append("\t"); logBuffer.append(event.isQuery ? 1 : 0).append("\t"); logBuffer.append(event.feIp).append("\t"); logBuffer.append(event.cpuTimeMs).append("\t"); diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/AuditLogHelper.java b/fe/fe-core/src/main/java/org/apache/doris/qe/AuditLogHelper.java index bcca751f91c..7d14586bbea 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/AuditLogHelper.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/AuditLogHelper.java @@ -22,6 +22,7 @@ import org.apache.doris.analysis.Queriable; import org.apache.doris.analysis.QueryStmt; import org.apache.doris.analysis.SelectStmt; import org.apache.doris.analysis.StatementBase; +import org.apache.doris.analysis.StmtType; import org.apache.doris.analysis.ValueList; import org.apache.doris.catalog.Env; import org.apache.doris.cluster.ClusterNamespace; @@ -242,6 +243,9 @@ public class AuditLogHelper { } else { auditEventBuilder.setStmt(origStmt); } + + auditEventBuilder.setStmtType(getStmtType(parsedStmt)); + if (!Env.getCurrentEnv().isMaster()) { if (ctx.executor.isForwardToMaster()) { auditEventBuilder.setState(ctx.executor.getProxyStatus()); @@ -254,4 +258,18 @@ public class AuditLogHelper { } Env.getCurrentEnv().getWorkloadRuntimeStatusMgr().submitFinishQueryToAudit(auditEventBuilder.build()); } + + private static String getStmtType(StatementBase stmt) { + if (stmt == null) { + return StmtType.OTHER.name(); + } + if (stmt.isExplain()) { + return StmtType.EXPLAIN.name(); + } + if (stmt instanceof LogicalPlanAdapter) { + return ((LogicalPlanAdapter) stmt).getLogicalPlan().stmtType().name(); + } else { + return stmt.stmtType().name(); + } + } } diff --git a/fe/fe-core/src/test/java/org/apache/doris/alter/InternalSchemaAlterTest.java b/fe/fe-core/src/test/java/org/apache/doris/alter/InternalSchemaAlterTest.java index 5e7f5387f57..cf9d31b1cca 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/alter/InternalSchemaAlterTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/alter/InternalSchemaAlterTest.java @@ -17,8 +17,10 @@ package org.apache.doris.alter; +import org.apache.doris.analysis.ColumnDef; import org.apache.doris.catalog.Database; import org.apache.doris.catalog.Env; +import org.apache.doris.catalog.InternalSchema; import org.apache.doris.catalog.InternalSchemaInitializer; import org.apache.doris.catalog.OlapTable; import org.apache.doris.catalog.Partition; @@ -69,4 +71,16 @@ public class InternalSchemaAlterTest extends TestWithFeService { partitionInfo.getReplicaAllocation(partition.getId()).getTotalReplicaNum()); } } + + @Test + public void testCheckAuditLogTable() throws AnalysisException { + Database db = Env.getCurrentEnv().getCatalogMgr() + .getInternalCatalog().getDbNullable(FeConstants.INTERNAL_DB_NAME); + Assertions.assertNotNull(db); + OlapTable table = db.getOlapTableOrAnalysisException(AuditLoaderPlugin.AUDIT_LOG_TABLE); + Assertions.assertNotNull(table); + for (ColumnDef def : InternalSchema.AUDIT_SCHEMA) { + Assertions.assertNotNull(table.getColumn(def.getName())); + } + } } diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/QueryStmtTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/QueryStmtTest.java index b42a29b31bd..495063fe48d 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/QueryStmtTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/QueryStmtTest.java @@ -33,6 +33,7 @@ import org.junit.AfterClass; import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; +import org.junit.jupiter.api.Assertions; import java.util.HashMap; import java.util.List; @@ -370,4 +371,32 @@ public class QueryStmtTest { } return resultMap; } + + @Test + public void testParseStmtType() throws Exception { + ConnectContext ctx = UtFrameUtils.createDefaultCtx(); + String sql = "select a from c.b"; + StatementBase stmt = UtFrameUtils.onlyParse(sql, ctx); + Assert.assertEquals(stmt.stmtType(), StmtType.SELECT); + + sql = "drop table a"; + stmt = UtFrameUtils.onlyParse(sql, ctx); + Assertions.assertEquals(stmt.stmtType(), StmtType.DROP); + + sql = "use a"; + stmt = UtFrameUtils.onlyParse(sql, ctx); + Assertions.assertEquals(stmt.stmtType(), StmtType.USE); + + sql = "CREATE TABLE tbl (`id` INT NOT NULL) DISTRIBUTED BY HASH(`id`) BUCKETS 1"; + stmt = UtFrameUtils.onlyParse(sql, ctx); + Assertions.assertEquals(stmt.stmtType(), StmtType.CREATE); + + sql = "update a set b =1"; + stmt = UtFrameUtils.onlyParse(sql, ctx); + Assertions.assertEquals(stmt.stmtType(), StmtType.UPDATE); + + sql = "insert into a values(1)"; + stmt = UtFrameUtils.onlyParse(sql, ctx); + Assertions.assertEquals(stmt.stmtType(), StmtType.INSERT); + } } diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/parser/NereidsParserTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/parser/NereidsParserTest.java index 5773a9f29b5..d39e5cf22a6 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/parser/NereidsParserTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/parser/NereidsParserTest.java @@ -18,6 +18,7 @@ package org.apache.doris.nereids.parser; import org.apache.doris.analysis.StatementBase; +import org.apache.doris.analysis.StmtType; import org.apache.doris.common.Config; import org.apache.doris.common.Pair; import org.apache.doris.nereids.StatementContext; @@ -420,4 +421,24 @@ public class NereidsParserTest extends ParserTestBase { NereidsParser nereidsParser = new NereidsParser(); nereidsParser.parseSingle(sql); } + + @Test + public void testParseStmtType() { + NereidsParser nereidsParser = new NereidsParser(); + String sql = "select a from b"; + LogicalPlan plan = nereidsParser.parseSingle(sql); + Assertions.assertEquals(plan.stmtType(), StmtType.SELECT); + + sql = "use a"; + plan = nereidsParser.parseSingle(sql); + Assertions.assertEquals(plan.stmtType(), StmtType.OTHER); + + sql = "CREATE TABLE tbl (`id` INT NOT NULL) DISTRIBUTED BY HASH(`id`) BUCKETS 1"; + plan = nereidsParser.parseSingle(sql); + Assertions.assertEquals(plan.stmtType(), StmtType.CREATE); + + sql = "update a set b =1"; + plan = nereidsParser.parseSingle(sql); + Assertions.assertEquals(plan.stmtType(), StmtType.UPDATE); + } } diff --git a/fe/fe-core/src/test/java/org/apache/doris/qe/AuditEventProcessorTest.java b/fe/fe-core/src/test/java/org/apache/doris/qe/AuditEventProcessorTest.java index 26c51fb66db..6c9f54080a0 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/qe/AuditEventProcessorTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/qe/AuditEventProcessorTest.java @@ -62,10 +62,12 @@ public class AuditEventProcessorTest { .setScanRows(200000) .setReturnRows(1) .setStmtId(1234) + .setStmtType("SELECT") .setStmt("select * from tbl1").build(); Assert.assertEquals("127.0.0.1", event.clientIp); Assert.assertEquals(200000, event.scanRows); + Assert.assertEquals("SELECT", event.stmtType); } @Test diff --git a/fe/fe-core/src/test/java/org/apache/doris/utframe/UtFrameUtils.java b/fe/fe-core/src/test/java/org/apache/doris/utframe/UtFrameUtils.java index 2f1848f4aa3..d09860351bf 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/utframe/UtFrameUtils.java +++ b/fe/fe-core/src/test/java/org/apache/doris/utframe/UtFrameUtils.java @@ -145,6 +145,26 @@ public class UtFrameUtils { return statementBases; } + public static StatementBase onlyParse(String originStmt, ConnectContext ctx) throws Exception { + System.out.println("begin to parse stmt: " + originStmt); + SqlScanner input = new SqlScanner(new StringReader(originStmt), ctx.getSessionVariable().getSqlMode()); + SqlParser parser = new SqlParser(input); + StatementBase statementBase = null; + try { + statementBase = SqlParserUtils.getFirstStmt(parser); + } catch (AnalysisException e) { + String errorMessage = parser.getErrorMsg(originStmt); + System.err.println("parse failed: " + errorMessage); + if (errorMessage == null) { + throw e; + } else { + throw new AnalysisException(errorMessage, e); + } + } + statementBase.setOrigStmt(new OriginStatement(originStmt, 0)); + return statementBase; + } + public static String generateRandomFeRunningDir(Class testSuiteClass) { return generateRandomFeRunningDir(testSuiteClass.getSimpleName()); } diff --git a/fe_plugins/auditdemo/src/main/java/org/apache/doris/plugin/audit/AuditPluginDemo.java b/fe_plugins/auditdemo/src/main/java/org/apache/doris/plugin/audit/AuditPluginDemo.java index 5cbb4f028bb..26e13c8c043 100755 --- a/fe_plugins/auditdemo/src/main/java/org/apache/doris/plugin/audit/AuditPluginDemo.java +++ b/fe_plugins/auditdemo/src/main/java/org/apache/doris/plugin/audit/AuditPluginDemo.java @@ -17,7 +17,6 @@ package org.apache.doris.plugin.audit; -import org.apache.doris.plugin.AuditEvent; import org.apache.doris.plugin.AuditPlugin; import org.apache.doris.plugin.Plugin; import org.apache.doris.plugin.PluginContext; diff --git a/fe_plugins/auditloader/src/main/assembly/plugin.properties b/fe_plugins/auditloader/src/main/assembly/plugin.properties index 65b25f87067..eb7ba9c29b0 100755 --- a/fe_plugins/auditloader/src/main/assembly/plugin.properties +++ b/fe_plugins/auditloader/src/main/assembly/plugin.properties @@ -20,4 +20,4 @@ type=AUDIT description=load audit log to olap load, and user can view the statistic of queries version=1.0.0 java.version=1.8.0 -classname=org.apache.doris.plugin.audit.AuditLoaderPlugin +classname=org.apache.doris.plugin.audit.custom.AuditLoaderPlugin diff --git a/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/AuditLoaderPlugin.java b/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/custom/AuditLoaderPlugin.java similarity index 97% rename from fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/AuditLoaderPlugin.java rename to fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/custom/AuditLoaderPlugin.java index ed4b7efc651..4d873b57fe8 100755 --- a/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/AuditLoaderPlugin.java +++ b/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/custom/AuditLoaderPlugin.java @@ -15,11 +15,10 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.plugin.audit; +package org.apache.doris.plugin.audit.custom; import org.apache.doris.common.Config; import org.apache.doris.catalog.Env; -import org.apache.doris.plugin.AuditEvent; import org.apache.doris.plugin.AuditPlugin; import org.apache.doris.plugin.Plugin; import org.apache.doris.plugin.PluginContext; @@ -27,6 +26,7 @@ import org.apache.doris.plugin.PluginException; import org.apache.doris.plugin.PluginInfo; import com.google.common.collect.Queues; +import org.apache.doris.plugin.audit.AuditEvent; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -163,6 +163,7 @@ public class AuditLoaderPlugin extends Plugin implements AuditPlugin { logBuffer.append(longToTimeString(event.timestamp)).append("\t"); logBuffer.append(event.clientIp).append("\t"); logBuffer.append(event.user).append("\t"); + logBuffer.append(event.ctl).append("\t"); logBuffer.append(event.db).append("\t"); logBuffer.append(event.state).append("\t"); logBuffer.append(event.errorCode).append("\t"); @@ -172,18 +173,22 @@ public class AuditLoaderPlugin extends Plugin implements AuditPlugin { logBuffer.append(event.scanRows).append("\t"); logBuffer.append(event.returnRows).append("\t"); logBuffer.append(event.stmtId).append("\t"); + logBuffer.append(event.stmtType).append("\t"); logBuffer.append(event.isQuery ? 1 : 0).append("\t"); logBuffer.append(event.feIp).append("\t"); logBuffer.append(event.cpuTimeMs).append("\t"); logBuffer.append(event.sqlHash).append("\t"); logBuffer.append(event.sqlDigest).append("\t"); logBuffer.append(event.peakMemoryBytes).append("\t"); + logBuffer.append(event.workloadGroup).append("\t"); // trim the query to avoid too long // use `getBytes().length` to get real byte length String stmt = truncateByBytes(event.stmt).replace("\n", " ") - .replace("\t", " ") - .replace("\r", " "); - LOG.debug("receive audit event with stmt: {}", stmt); + .replace("\t", " ") + .replace("\r", " "); + if (LOG.isDebugEnabled()) { + LOG.debug("receive audit event with stmt: {}", stmt); + } logBuffer.append(stmt).append("\n"); } diff --git a/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/DorisStreamLoader.java b/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/custom/DorisStreamLoader.java similarity index 92% rename from fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/DorisStreamLoader.java rename to fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/custom/DorisStreamLoader.java index d389f0dfa81..b5ea0277986 100644 --- a/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/DorisStreamLoader.java +++ b/fe_plugins/auditloader/src/main/java/org/apache/doris/plugin/audit/custom/DorisStreamLoader.java @@ -15,7 +15,9 @@ // specific language governing permissions and limitations // under the License. -package org.apache.doris.plugin.audit; +package org.apache.doris.plugin.audit.custom; + +import org.apache.doris.catalog.InternalSchema; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -29,6 +31,7 @@ import java.net.URL; import java.nio.charset.StandardCharsets; import java.util.Base64; import java.util.Calendar; +import java.util.stream.Collectors; public class DorisStreamLoader { private final static Logger LOG = LogManager.getLogger(DorisStreamLoader.class); @@ -71,10 +74,8 @@ public class DorisStreamLoader { conn.addRequestProperty("label", label); conn.addRequestProperty("max_filter_ratio", "1.0"); - conn.addRequestProperty("columns", "query_id, `time`, client_ip, user, db, state, error_code, error_message, " + - "query_time, scan_bytes, scan_rows, return_rows, stmt_id, is_query, frontend_ip, cpu_time_ms, sql_hash, " + - "sql_digest, peak_memory_bytes, stmt"); - + conn.addRequestProperty("columns", + InternalSchema.AUDIT_SCHEMA.stream().map(c -> c.getName()).collect(Collectors.joining(","))); conn.setDoOutput(true); conn.setDoInput(true); @@ -88,9 +89,9 @@ public class DorisStreamLoader { sb.append("-H \"").append("Expect\":").append("\"100-continue\" \\\n "); sb.append("-H \"").append("Content-Type\":").append("\"text/plain; charset=UTF-8\" \\\n "); sb.append("-H \"").append("max_filter_ratio\":").append("\"1.0\" \\\n "); - sb.append("-H \"").append("columns\":").append("\"query_id, time, client_ip, user, db, state, error_code, " + - "error_message, query_time, scan_bytes, scan_rows, return_rows, stmt_id, is_query, frontend_ip, " + - "cpu_time_ms, sql_hash, sql_digest, peak_memory_bytes, stmt\" \\\n "); + sb.append("-H \"").append("columns\":") + .append("\"" + InternalSchema.AUDIT_SCHEMA.stream().map(c -> c.getName()).collect( + Collectors.joining(",")) + "\" \\\n "); sb.append("\"").append(conn.getURL()).append("\""); return sb.toString(); } diff --git a/fe_plugins/sparksql-converter/src/main/java/org/apache/doris/plugin/dialect/spark/SparkSql3LogicalPlanBuilder.java b/fe_plugins/sparksql-converter/src/main/java/org/apache/doris/plugin/dialect/spark/SparkSql3LogicalPlanBuilder.java index e64fc736dcb..d2357fc6578 100644 --- a/fe_plugins/sparksql-converter/src/main/java/org/apache/doris/plugin/dialect/spark/SparkSql3LogicalPlanBuilder.java +++ b/fe_plugins/sparksql-converter/src/main/java/org/apache/doris/plugin/dialect/spark/SparkSql3LogicalPlanBuilder.java @@ -42,7 +42,7 @@ public class SparkSql3LogicalPlanBuilder extends LogicalPlanBuilder { private final ParserContext parserContext; public SparkSql3LogicalPlanBuilder() { - this.parserContext = new ParserContext(Dialect.SPARK_SQL); + this.parserContext = new ParserContext(Dialect.SPARK); } @Override diff --git a/fe_plugins/sparksql-converter/src/main/java/org/apache/doris/plugin/dialect/spark/SparkSqlDialectConverterPlugin.java b/fe_plugins/sparksql-converter/src/main/java/org/apache/doris/plugin/dialect/spark/SparkSqlDialectConverterPlugin.java index 686c692faf8..a565b64aef0 100644 --- a/fe_plugins/sparksql-converter/src/main/java/org/apache/doris/plugin/dialect/spark/SparkSqlDialectConverterPlugin.java +++ b/fe_plugins/sparksql-converter/src/main/java/org/apache/doris/plugin/dialect/spark/SparkSqlDialectConverterPlugin.java @@ -37,7 +37,7 @@ public class SparkSqlDialectConverterPlugin extends Plugin implements DialectCon @Override public ImmutableSet<Dialect> acceptDialects() { - return ImmutableSet.of(Dialect.SPARK_SQL); + return ImmutableSet.of(Dialect.SPARK); } @Override diff --git a/fe_plugins/trino-converter/src/main/java/org/apache/doris/plugin/dialect/trino/TrinoLogicalPlanBuilder.java b/fe_plugins/trino-converter/src/main/java/org/apache/doris/plugin/dialect/trino/TrinoLogicalPlanBuilder.java index 75da2236ba5..2e6ace105b1 100644 --- a/fe_plugins/trino-converter/src/main/java/org/apache/doris/plugin/dialect/trino/TrinoLogicalPlanBuilder.java +++ b/fe_plugins/trino-converter/src/main/java/org/apache/doris/plugin/dialect/trino/TrinoLogicalPlanBuilder.java @@ -320,7 +320,7 @@ public class TrinoLogicalPlanBuilder extends io.trino.sql.tree.AstVisitor<Object throw new DialectTransformException("transform not standard decimal data type "); } // Trino only support signed, safe unsigned is false here - return DataType.convertPrimitiveFromStrings(types, false); + return DataType.convertPrimitiveFromStrings(types); } else if (dataType instanceof io.trino.sql.tree.DateTimeDataType) { // TODO: support date data type mapping throw new DialectTransformException("transform date data type"); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org