This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new 874299f39e [feature-wip](multi-catalog)(fix) federation query failed (#10602) 874299f39e is described below commit 874299f39e2e80fb04b0ffc4fd2ad6e6e228d580 Author: Ashin Gau <ashin...@users.noreply.github.com> AuthorDate: Fri Jul 8 08:52:17 2022 +0800 [feature-wip](multi-catalog)(fix) federation query failed (#10602) Fix https://github.com/apache/doris/pull/10521, multi-catalog query failed for two reasons: 1. The `SelectStmt` does not get the correct catalog. 2. External table should have three level aliases. Disable querying external views. Support show create table for external table&view. --- fe/fe-core/src/main/cup/sql_parser.cup | 12 ++--- .../org/apache/doris/analysis/AlterTableStmt.java | 2 +- .../java/org/apache/doris/analysis/Analyzer.java | 2 +- .../org/apache/doris/analysis/BaseTableRef.java | 2 +- .../org/apache/doris/analysis/CreateTableStmt.java | 2 +- .../org/apache/doris/analysis/LateralViewRef.java | 2 +- .../java/org/apache/doris/analysis/SelectStmt.java | 6 ++- .../org/apache/doris/analysis/ShowColumnStmt.java | 4 +- .../apache/doris/analysis/ShowCreateTableStmt.java | 7 +-- .../java/org/apache/doris/analysis/ShowDbStmt.java | 4 +- .../apache/doris/analysis/ShowTableStatusStmt.java | 4 +- .../org/apache/doris/analysis/ShowTableStmt.java | 4 +- .../apache/doris/analysis/ShowVariablesStmt.java | 7 ++- .../org/apache/doris/analysis/StmtRewriter.java | 2 +- .../java/org/apache/doris/analysis/TableName.java | 27 +++++++--- .../java/org/apache/doris/analysis/TableRef.java | 2 +- .../doris/analysis/TableValuedFunctionRef.java | 2 +- .../org/apache/doris/analysis/TupleDescriptor.java | 2 +- .../org/apache/doris/backup/BackupHandler.java | 2 +- .../doris/catalog/HiveMetaStoreClientHelper.java | 58 ++++++++++++++++++++++ .../org/apache/doris/catalog/RefreshManager.java | 3 +- .../doris/catalog/external/ExternalTable.java | 4 ++ .../doris/catalog/external/HMSExternalTable.java | 5 ++ .../glue/translator/PhysicalPlanTranslator.java | 2 +- .../planner/external/ExternalFileScanNode.java | 36 ++++++++++++-- .../java/org/apache/doris/qe/ShowExecutor.java | 15 +++++- .../org/apache/doris/alter/RollupJobV2Test.java | 3 +- .../apache/doris/analysis/AlterTableStmtTest.java | 10 ++-- .../java/org/apache/doris/analysis/BackupTest.java | 5 +- .../apache/doris/analysis/CancelAlterStmtTest.java | 5 +- .../doris/analysis/ComparisonPredicateTest.java | 8 +-- .../doris/analysis/CreateIndexClauseTest.java | 5 +- .../analysis/CreateMaterializedViewStmtTest.java | 30 +++++------ .../analysis/CreateTableAsSelectStmtTest.java | 3 +- .../apache/doris/analysis/CreateTableStmtTest.java | 5 +- .../org/apache/doris/analysis/DeleteStmtTest.java | 24 +++++---- .../apache/doris/analysis/DropIndexClauseTest.java | 5 +- .../apache/doris/analysis/DropTableStmtTest.java | 8 +-- .../java/org/apache/doris/analysis/ExprTest.java | 8 +-- .../apache/doris/analysis/GroupByClauseTest.java | 22 ++++---- .../org/apache/doris/analysis/InPredicateTest.java | 18 ++++--- .../analysis/MVColumnBitmapUnionPatternTest.java | 16 +++--- .../analysis/MVColumnHLLUnionPatternTest.java | 12 +++-- .../analysis/MVColumnOneChildPatternTest.java | 10 ++-- .../apache/doris/analysis/ShowDataStmtTest.java | 2 +- .../apache/doris/analysis/ShowIndexStmtTest.java | 12 +++-- .../doris/analysis/ShowPartitionsStmtTest.java | 13 +++-- .../apache/doris/analysis/ShowRollupStmtTest.java | 10 ++-- .../apache/doris/analysis/ShowViewStmtTest.java | 20 ++++---- .../org/apache/doris/analysis/UpdateStmtTest.java | 3 +- .../apache/doris/analysis/VirtualSlotRefTest.java | 5 +- .../org/apache/doris/backup/BackupHandlerTest.java | 4 +- .../org/apache/doris/backup/BackupJobTest.java | 4 +- .../catalog/HiveMetaStoreClientHelperTest.java | 2 +- .../doris/catalog/MaterializedIndexMetaTest.java | 3 +- .../doris/common/proc/IndexSchemaProcNodeTest.java | 3 +- .../org/apache/doris/load/DeleteHandlerTest.java | 13 ++--- .../apache/doris/load/loadv2/ExportMgrTest.java | 3 +- .../doris/load/update/UpdateStmtExecutorTest.java | 3 +- .../planner/MaterializedViewSelectorTest.java | 9 ++-- .../org/apache/doris/planner/OlapScanNodeTest.java | 5 +- .../org/apache/doris/planner/RepeatNodeTest.java | 5 +- .../doris/planner/RuntimeFilterGeneratorTest.java | 5 +- .../apache/doris/planner/UpdatePlannerTest.java | 5 +- .../java/org/apache/doris/qe/ShowExecutorTest.java | 19 +++---- .../rewrite/ExtractCommonFactorsRuleTest.java | 16 +++--- .../rewrite/mvrewrite/CountFieldToSumTest.java | 3 +- 67 files changed, 386 insertions(+), 196 deletions(-) diff --git a/fe/fe-core/src/main/cup/sql_parser.cup b/fe/fe-core/src/main/cup/sql_parser.cup index 748b898b6c..201603af1d 100644 --- a/fe/fe-core/src/main/cup/sql_parser.cup +++ b/fe/fe-core/src/main/cup/sql_parser.cup @@ -4156,11 +4156,11 @@ star_expr ::= // on IDENT [DOT] ident:tbl DOT STAR {: - RESULT = SelectListItem.createStarItem(new TableName(null, tbl)); + RESULT = SelectListItem.createStarItem(new TableName(null, null, tbl)); :} | ident:db DOT ident:tbl DOT STAR {: - RESULT = SelectListItem.createStarItem(new TableName(db, tbl)); + RESULT = SelectListItem.createStarItem(new TableName(null, db, tbl)); :} | ident:ctl DOT ident:db DOT ident:tbl DOT STAR {: @@ -4180,9 +4180,9 @@ opt_table_name ::= table_name ::= ident:tbl - {: RESULT = new TableName(null, tbl); :} + {: RESULT = new TableName(null, null, tbl); :} | ident:db DOT ident:tbl - {: RESULT = new TableName(db, tbl); :} + {: RESULT = new TableName(null, db, tbl); :} | ident:ctl DOT ident:db DOT ident:tbl {: RESULT = new TableName(ctl, db, tbl); :} ; @@ -5311,9 +5311,9 @@ column_ref ::= {: RESULT = new SlotRef(null, col); :} // table_name:tblName DOT IDENT:col causes reduce/reduce conflicts | ident:tbl DOT ident:col - {: RESULT = new SlotRef(new TableName(null, tbl), col); :} + {: RESULT = new SlotRef(new TableName(null, null, tbl), col); :} | ident:db DOT ident:tbl DOT ident:col - {: RESULT = new SlotRef(new TableName(db, tbl), col); :} + {: RESULT = new SlotRef(new TableName(null, db, tbl), col); :} | ident:ctl DOT ident:db DOT ident:tbl DOT ident:col {: RESULT = new SlotRef(new TableName(ctl, db, tbl), col); :} ; 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 daeb5027eb..c7eefa46e4 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 @@ -47,7 +47,7 @@ public class AlterTableStmt extends DdlStmt { } public void setTableName(String newTableName) { - tbl = new TableName(tbl.getDb(), newTableName); + tbl = new TableName(tbl.getCtl(), tbl.getDb(), newTableName); } public TableName getTbl() { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java index ac0ed79bcb..5a88ab8e7e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/Analyzer.java @@ -680,7 +680,7 @@ public class Analyzer { // which may not be the same as the user's reference to the table name, causing the table name not to be found // in registerColumnRef(). So here the tblName is constructed using tableName.getTbl() // instead of table.getName(). - TableName tblName = new TableName(tableName.getDb(), tableName.getTbl()); + TableName tblName = new TableName(tableName.getCtl(), tableName.getDb(), tableName.getTbl()); if (table instanceof View) { return new InlineViewRef((View) table, tableRef); } else { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/BaseTableRef.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/BaseTableRef.java index bd7458718a..d33405ec3b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/BaseTableRef.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/BaseTableRef.java @@ -40,7 +40,7 @@ public class BaseTableRef extends TableRef { if (hasExplicitAlias()) { return; } - aliases = new String[] {name.toString(), tableName.getNoClusterString(), tableName.getTbl()}; + aliases = tableName.tableAliases(); } protected BaseTableRef(BaseTableRef other) { 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 3a5e8be619..b8f7faf16c 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 @@ -242,7 +242,7 @@ public class CreateTableStmt extends DdlStmt { } public void setTableName(String newTableName) { - tableName = new TableName(tableName.getDb(), newTableName); + tableName = new TableName(tableName.getCtl(), tableName.getDb(), newTableName); } public String getComment() { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/LateralViewRef.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/LateralViewRef.java index e0fda6333f..d2560edf5f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/LateralViewRef.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/LateralViewRef.java @@ -75,7 +75,7 @@ public class LateralViewRef extends TableRef { // analyze lateral view desc = analyzer.registerTableRef(this); - explodeSlotRef = new SlotRef(new TableName(null, viewName), columnName); + explodeSlotRef = new SlotRef(new TableName(null, null, viewName), columnName); explodeSlotRef.analyze(analyzer); isAnalyzed = true; // true now that we have assigned desc } 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 2c7da58901..881e7a2947 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 @@ -315,7 +315,8 @@ public class SelectStmt extends QueryStmt { continue; } tblRef.getName().analyze(analyzer); - DatabaseIf db = analyzer.getCatalog().getCurrentDataSource().getDbOrAnalysisException(dbName); + DatabaseIf db = analyzer.getCatalog().getDataSourceMgr() + .getCatalogOrAnalysisException(tblRef.getName().getCtl()).getDbOrAnalysisException(dbName); TableIf table = db.getTableOrAnalysisException(tableName); // check auth @@ -879,7 +880,8 @@ public class SelectStmt extends QueryStmt { if (analyzer.isSemiJoined(tableRef.getId())) { continue; } - expandStar(new TableName(tableRef.getAliasAsName().getDb(), + expandStar(new TableName(tableRef.getAliasAsName().getCtl(), + tableRef.getAliasAsName().getDb(), tableRef.getAliasAsName().getTbl()), tableRef.getDesc()); diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowColumnStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowColumnStmt.java index e29b51cfa6..cda9f1e6ff 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowColumnStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowColumnStmt.java @@ -22,6 +22,7 @@ import org.apache.doris.catalog.InfoSchemaDb; import org.apache.doris.catalog.ScalarType; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.util.Util; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.qe.ShowResultSetMetaData; import com.google.common.base.Strings; @@ -29,7 +30,8 @@ import com.google.common.collect.Lists; // SHOW COLUMNS public class ShowColumnStmt extends ShowStmt { - private static final TableName TABLE_NAME = new TableName(InfoSchemaDb.DATABASE_NAME, "COLUMNS"); + private static final TableName TABLE_NAME = + new TableName(InternalDataSource.INTERNAL_DS_NAME, InfoSchemaDb.DATABASE_NAME, "COLUMNS"); private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Field", ScalarType.createVarchar(20))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateTableStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateTableStmt.java index 2b6065dc4f..6ea6b3b169 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateTableStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowCreateTableStmt.java @@ -23,7 +23,6 @@ import org.apache.doris.catalog.ScalarType; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.ErrorCode; import org.apache.doris.common.ErrorReport; -import org.apache.doris.common.util.Util; import org.apache.doris.mysql.privilege.PrivPredicate; import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.ShowResultSetMetaData; @@ -56,6 +55,10 @@ public class ShowCreateTableStmt extends ShowStmt { this.isView = isView; } + public String getCtl() { + return tbl.getCtl(); + } + public String getDb() { return tbl.getDb(); } @@ -78,8 +81,6 @@ public class ShowCreateTableStmt extends ShowStmt { ErrorReport.reportAnalysisException(ErrorCode.ERR_NO_TABLES_USED); } tbl.analyze(analyzer); - // disallow external catalog - Util.prohibitExternalCatalog(tbl.getCtl(), this.getClass().getSimpleName()); if (!Catalog.getCurrentCatalog().getAuth().checkTblPriv(ConnectContext.get(), tbl.getDb(), tbl.getTbl(), PrivPredicate.SHOW)) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDbStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDbStmt.java index 04469517c8..ddd582515a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDbStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowDbStmt.java @@ -22,13 +22,15 @@ import org.apache.doris.catalog.InfoSchemaDb; import org.apache.doris.catalog.ScalarType; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.UserException; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.qe.ShowResultSetMetaData; import com.google.common.collect.Lists; // Show database statement. public class ShowDbStmt extends ShowStmt { - private static final TableName TABLE_NAME = new TableName(InfoSchemaDb.DATABASE_NAME, "schemata"); + private static final TableName TABLE_NAME = + new TableName(InternalDataSource.INTERNAL_DS_NAME, InfoSchemaDb.DATABASE_NAME, "schemata"); private static final String DB_COL = "Database"; private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStatusStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStatusStmt.java index a17407f757..6d3ed78a81 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStatusStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStatusStmt.java @@ -26,6 +26,7 @@ import org.apache.doris.cluster.ClusterNamespace; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.ErrorCode; import org.apache.doris.common.ErrorReport; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.mysql.privilege.PrivPredicate; import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.ShowResultSetMetaData; @@ -35,7 +36,8 @@ import com.google.common.collect.Lists; // SHOW TABLE STATUS public class ShowTableStatusStmt extends ShowStmt { - private static final TableName TABLE_NAME = new TableName(InfoSchemaDb.DATABASE_NAME, "tables"); + private static final TableName TABLE_NAME = + new TableName(InternalDataSource.INTERNAL_DS_NAME, InfoSchemaDb.DATABASE_NAME, "tables"); private static final ShowResultSetMetaData META_DATA = ShowResultSetMetaData.builder() .addColumn(new Column("Name", ScalarType.createVarchar(64))) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStmt.java index f145e2f6bd..e00818973c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowTableStmt.java @@ -24,6 +24,7 @@ import org.apache.doris.cluster.ClusterNamespace; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.ErrorCode; import org.apache.doris.common.ErrorReport; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.qe.ShowResultSetMetaData; import com.google.common.base.Strings; @@ -37,7 +38,8 @@ public class ShowTableStmt extends ShowStmt { private static final String NAME_COL_PREFIX = "Tables_in_"; private static final String TYPE_COL = "Table_type"; private static final String STORAGE_FORMAT_COL = "StorageFormat"; - private static final TableName TABLE_NAME = new TableName(InfoSchemaDb.DATABASE_NAME, "tables"); + private static final TableName TABLE_NAME = + new TableName(InternalDataSource.INTERNAL_DS_NAME, InfoSchemaDb.DATABASE_NAME, "tables"); private String db; private boolean isVerbose; private String pattern; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowVariablesStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowVariablesStmt.java index a2ad9a4271..340e91507d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowVariablesStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ShowVariablesStmt.java @@ -20,6 +20,7 @@ package org.apache.doris.analysis; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.InfoSchemaDb; import org.apache.doris.catalog.ScalarType; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.qe.ShowResultSetMetaData; import com.google.common.collect.Lists; @@ -82,9 +83,11 @@ public class ShowVariablesStmt extends ShowStmt { ExprSubstitutionMap aliasMap = new ExprSubstitutionMap(false); TableName tableName = null; if (type == SetType.GLOBAL) { - tableName = new TableName(InfoSchemaDb.DATABASE_NAME, "GLOBAL_VARIABLES"); + tableName = new TableName( + InternalDataSource.INTERNAL_DS_NAME, InfoSchemaDb.DATABASE_NAME, "GLOBAL_VARIABLES"); } else { - tableName = new TableName(InfoSchemaDb.DATABASE_NAME, "SESSION_VARIABLES"); + tableName = new TableName( + InternalDataSource.INTERNAL_DS_NAME, InfoSchemaDb.DATABASE_NAME, "SESSION_VARIABLES"); } // name SelectListItem item = new SelectListItem(new SlotRef(tableName, "VARIABLE_NAME"), NAME_COL); diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/StmtRewriter.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/StmtRewriter.java index 2d97c54c41..85a04ffd00 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/StmtRewriter.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/StmtRewriter.java @@ -1108,7 +1108,7 @@ public class StmtRewriter { return null; } // Create a SlotRef from the first item of inlineView's select list - SlotRef slotRef = new SlotRef(new TableName(null, inlineView.getAlias()), + SlotRef slotRef = new SlotRef(new TableName(null, null, inlineView.getAlias()), inlineView.getColLabels().get(0)); slotRef.analyze(analyzer); Expr subquerySubstitute = slotRef; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/TableName.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/TableName.java index 52b8651ec6..c086f9784a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/TableName.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/TableName.java @@ -63,13 +63,6 @@ public class TableName implements Writable { this.tbl = tbl; } - /** - * Initialize catalog in analyze. - */ - public TableName(String db, String tbl) { - this(null, db, tbl); - } - public void analyze(Analyzer analyzer) throws AnalysisException { if (Strings.isNullOrEmpty(ctl)) { ctl = analyzer.getDefaultCatalog(); @@ -129,8 +122,26 @@ public class TableName implements Writable { return Stream.of(ctl, db, tbl).noneMatch(Strings::isNullOrEmpty); } + /** + * Analyzer.registerTableRef task alias of index 1 as the legal implicit alias. + */ + public String[] tableAliases() { + if (ctl == null || ctl.equals(InternalDataSource.INTERNAL_DS_NAME)) { + return new String[] {toString(), getNoClusterString(), tbl}; + } else { + return new String[] { + toString(), // with cluster name + getNoClusterString(), // without cluster name, legal implicit alias + String.format("%s.%s", db, tbl), + String.format("%s.%s", ClusterNamespace.getNameFromFullName(db), tbl), + tbl + }; + } + } + public String getNoClusterString() { - return Stream.of(ctl, ClusterNamespace.getNameFromFullName(db), tbl) + return Stream.of(InternalDataSource.INTERNAL_DS_NAME.equals(ctl) ? null : ctl, + ClusterNamespace.getNameFromFullName(db), tbl) .filter(Objects::nonNull) .collect(Collectors.joining(".")); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/TableRef.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/TableRef.java index 01c816a920..bd1f62e1c4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/TableRef.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/TableRef.java @@ -697,7 +697,7 @@ public class TableRef implements ParseNode, Writable { public TableName getAliasAsName() { if (hasExplicitAlias()) { - return new TableName(null, getUniqueAlias()); + return new TableName(null, null, getUniqueAlias()); } return name; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/TableValuedFunctionRef.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/TableValuedFunctionRef.java index c34c9c8743..ffb4feb308 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/TableValuedFunctionRef.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/TableValuedFunctionRef.java @@ -29,7 +29,7 @@ public class TableValuedFunctionRef extends TableRef { private TableValuedFunctionInf tableFunction; public TableValuedFunctionRef(String funcName, String alias, List<String> params) throws UserException { - super(new TableName(null, "_table_valued_function_" + funcName), alias); + super(new TableName(null, null, "_table_valued_function_" + funcName), alias); this.tableFunction = TableValuedFunctionInf.getTableFunction(funcName, params); if (hasExplicitAlias()) { return; diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/TupleDescriptor.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/TupleDescriptor.java index b75bb10af2..7dff51e8d9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/TupleDescriptor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/TupleDescriptor.java @@ -193,7 +193,7 @@ public class TupleDescriptor { } public TableName getAliasAsName() { - return (aliases != null) ? new TableName(null, aliases[0]) : null; + return (aliases != null) ? new TableName(null, null, aliases[0]) : null; } public TTupleDescriptor toThrift() { diff --git a/fe/fe-core/src/main/java/org/apache/doris/backup/BackupHandler.java b/fe/fe-core/src/main/java/org/apache/doris/backup/BackupHandler.java index 28704a7bdd..badccb5cff 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/backup/BackupHandler.java +++ b/fe/fe-core/src/main/java/org/apache/doris/backup/BackupHandler.java @@ -307,7 +307,7 @@ public class BackupHandler extends MasterDaemon implements Writable { tblRefs = abstractBackupTableRefClause.getTableRefList(); } else { for (String tableName : tableNames) { - TableRef tableRef = new TableRef(new TableName(db.getFullName(), tableName), null); + TableRef tableRef = new TableRef(new TableName(null, db.getFullName(), tableName), null); tblRefs.add(tableRef); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/HiveMetaStoreClientHelper.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/HiveMetaStoreClientHelper.java index 1bb15e9ef4..d6dfd77337 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/HiveMetaStoreClientHelper.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/HiveMetaStoreClientHelper.java @@ -47,6 +47,7 @@ import org.apache.hadoop.hive.metastore.HiveMetaStoreClient; import org.apache.hadoop.hive.metastore.api.FieldSchema; import org.apache.hadoop.hive.metastore.api.MetaException; import org.apache.hadoop.hive.metastore.api.Partition; +import org.apache.hadoop.hive.metastore.api.StorageDescriptor; import org.apache.hadoop.hive.metastore.api.Table; import org.apache.hadoop.hive.ql.exec.FunctionRegistry; import org.apache.hadoop.hive.ql.exec.SerializationUtilities; @@ -69,6 +70,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.Deque; +import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -801,4 +803,60 @@ public class HiveMetaStoreClientHelper { LOG.warn("Hive type {} may not supported yet, will use STRING instead.", hiveType); return Type.STRING; } + + public static String showCreateTable(org.apache.hadoop.hive.metastore.api.Table remoteTable) { + StringBuilder output = new StringBuilder(); + if (remoteTable.isSetViewOriginalText() || remoteTable.isSetViewExpandedText()) { + output.append(String.format("CREATE VIEW `%s` AS ", remoteTable.getTableName())); + if (remoteTable.getViewExpandedText() != null) { + output.append(remoteTable.getViewExpandedText()); + } else { + output.append(remoteTable.getViewOriginalText()); + } + } else { + output.append(String.format("CREATE TABLE `%s`(\n", remoteTable.getTableName())); + Iterator<FieldSchema> fields = remoteTable.getSd().getCols().iterator(); + while (fields.hasNext()) { + FieldSchema field = fields.next(); + output.append(String.format(" `%s` %s", field.getName(), field.getType())); + if (field.getComment() != null) { + output.append(String.format(" COMMENT '%s'", field.getComment())); + } + if (fields.hasNext()) { + output.append(",\n"); + } + } + output.append(")\n"); + StorageDescriptor descriptor = remoteTable.getSd(); + if (descriptor.getSerdeInfo().isSetSerializationLib()) { + output.append("ROW FORMAT SERDE\n") + .append(String.format(" '%s'\n", descriptor.getSerdeInfo().getSerializationLib())); + } + if (descriptor.isSetInputFormat()) { + output.append("STORED AS INPUTFORMAT\n") + .append(String.format(" '%s'\n", descriptor.getInputFormat())); + } + if (descriptor.isSetOutputFormat()) { + output.append("OUTPUTFORMAT\n") + .append(String.format(" '%s'\n", descriptor.getOutputFormat())); + } + if (descriptor.isSetLocation()) { + output.append("LOCATION\n") + .append(String.format(" '%s'\n", descriptor.getLocation())); + } + if (remoteTable.isSetParameters()) { + output.append("TBLPROPERTIES (\n"); + Iterator<Map.Entry<String, String>> params = remoteTable.getParameters().entrySet().iterator(); + while (params.hasNext()) { + Map.Entry<String, String> param = params.next(); + output.append(String.format(" '%s'='%s'", param.getKey(), param.getValue())); + if (params.hasNext()) { + output.append(",\n"); + } + } + output.append(")"); + } + } + return output.toString(); + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/RefreshManager.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/RefreshManager.java index 5b5ee2b7ca..1e7a69905c 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/RefreshManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/RefreshManager.java @@ -82,7 +82,8 @@ public class RefreshManager { // Current database may have other types of table, which is not allowed to drop. for (Table table : db.getTables()) { if (table instanceof IcebergTable) { - DropTableStmt dropTableStmt = new DropTableStmt(true, new TableName(dbName, table.getName()), true); + DropTableStmt dropTableStmt = + new DropTableStmt(true, new TableName(null, dbName, table.getName()), true); catalog.dropTable(dropTableStmt); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/ExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/external/ExternalTable.java index f43bd8edf3..c034d9420f 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/ExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/external/ExternalTable.java @@ -70,6 +70,10 @@ public class ExternalTable implements TableIf { this.type = type; } + public boolean isView() { + return false; + } + @Override public void readLock() { this.rwLock.readLock().lock(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/HMSExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/external/HMSExternalTable.java index 49e003b904..93231a35b6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/external/HMSExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/external/HMSExternalTable.java @@ -137,6 +137,11 @@ public class HMSExternalTable extends ExternalTable { return remoteTable; } + @Override + public boolean isView() { + return remoteTable.isSetViewOriginalText() || remoteTable.isSetViewExpandedText(); + } + @Override public List<Column> getFullSchema() { makeSureInitialized(); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java index 98a697db74..511ac61fb4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/glue/translator/PhysicalPlanTranslator.java @@ -185,7 +185,7 @@ public class PhysicalPlanTranslator extends PlanOperatorVisitor<PlanFragment, Pl tupleDescriptor.setTable(olapTable); OlapScanNode olapScanNode = new OlapScanNode(context.nextNodeId(), tupleDescriptor, olapTable.getName()); // TODO: Do we really need tableName here? - TableName tableName = new TableName("", ""); + TableName tableName = new TableName(null, "", ""); TableRef ref = new TableRef(tableName, null, null); BaseTableRef tableRef = new BaseTableRef(ref, olapTable, tableName); tupleDescriptor.setRef(tableRef); diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/external/ExternalFileScanNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/external/ExternalFileScanNode.java index 7b77dd457f..3c9b5d19c1 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/external/ExternalFileScanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/external/ExternalFileScanNode.java @@ -24,6 +24,7 @@ import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.catalog.Catalog; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.external.HMSExternalTable; +import org.apache.doris.common.AnalysisException; import org.apache.doris.common.Config; import org.apache.doris.common.DdlException; import org.apache.doris.common.MetaNotFoundException; @@ -127,6 +128,10 @@ public class ExternalFileScanNode extends ExternalScanNode { nextBe = nextBe % backends.size(); return selectedBackend; } + + public int numBackends() { + return backends.size(); + } } private final BackendPolicy backendPolicy = new BackendPolicy(); @@ -171,7 +176,12 @@ public class ExternalFileScanNode extends ExternalScanNode { @Override public void init(Analyzer analyzer) throws UserException { super.init(analyzer); + if (hmsTable.isView()) { + throw new AnalysisException(String.format("Querying external view '[%s].%s.%s' is not supported", + hmsTable.getDlaType(), hmsTable.getDbName(), hmsTable.getName())); + } backendPolicy.init(); + numNodes = backendPolicy.numBackends(); initContext(); } @@ -335,8 +345,28 @@ public class ExternalFileScanNode extends ExternalScanNode { @Override public String getNodeExplainString(String prefix, TExplainLevel detailLevel) { - return prefix + "DATABASE: " + hmsTable.getDbName() + "\n" - + prefix + "TABLE: " + hmsTable.getName() + "\n" - + prefix + "HIVE URL: " + scanProvider.getMetaStoreUrl() + "\n"; + StringBuilder output = new StringBuilder(); + output.append(prefix).append("TABLE: ") + .append(hmsTable.getDbName()).append(".").append(hmsTable.getName()).append("\n") + .append(prefix).append("HIVE URL: ").append(scanProvider.getMetaStoreUrl()).append("\n"); + + if (!conjuncts.isEmpty()) { + output.append(prefix).append("PREDICATES: ").append(getExplainString(conjuncts)).append("\n"); + } + if (!runtimeFilters.isEmpty()) { + output.append(prefix).append("runtime filters: "); + output.append(getRuntimeFilterExplainString(false)); + } + + output.append(prefix); + if (cardinality > 0) { + output.append(String.format("cardinality=%s, ", cardinality)); + } + if (avgRowSize > 0) { + output.append(String.format("avgRowSize=%s, ", avgRowSize)); + } + output.append(String.format("numNodes=%s", numNodes)).append("\n"); + + return output.toString(); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java index 7f702e83af..fe1e50a2fa 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java @@ -103,6 +103,7 @@ import org.apache.doris.catalog.DatabaseIf; import org.apache.doris.catalog.DynamicPartitionProperty; import org.apache.doris.catalog.EncryptKey; import org.apache.doris.catalog.Function; +import org.apache.doris.catalog.HiveMetaStoreClientHelper; import org.apache.doris.catalog.Index; import org.apache.doris.catalog.MaterializedIndex; import org.apache.doris.catalog.MaterializedIndex.IndexExtState; @@ -115,10 +116,12 @@ import org.apache.doris.catalog.ReplicaAllocation; import org.apache.doris.catalog.ScalarType; import org.apache.doris.catalog.Table; import org.apache.doris.catalog.TableIf; +import org.apache.doris.catalog.TableIf.TableType; import org.apache.doris.catalog.Tablet; import org.apache.doris.catalog.TabletInvertedIndex; import org.apache.doris.catalog.TabletMeta; import org.apache.doris.catalog.View; +import org.apache.doris.catalog.external.HMSExternalTable; import org.apache.doris.clone.DynamicPartitionScheduler; import org.apache.doris.cluster.BaseParam; import org.apache.doris.cluster.ClusterNamespace; @@ -186,6 +189,7 @@ import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Comparator; @@ -817,12 +821,19 @@ public class ShowExecutor { // Show create table private void handleShowCreateTable() throws AnalysisException { ShowCreateTableStmt showStmt = (ShowCreateTableStmt) stmt; - DatabaseIf db = ctx.getCurrentDataSource().getDbOrAnalysisException(showStmt.getDb()); + DatabaseIf db = ctx.getCatalog().getDataSourceMgr().getCatalog(showStmt.getCtl()) + .getDbOrAnalysisException(showStmt.getDb()); TableIf table = db.getTableOrAnalysisException(showStmt.getTable()); List<List<String>> rows = Lists.newArrayList(); table.readLock(); try { + if (table.getType() == TableType.HMS_EXTERNAL_TABLE) { + rows.add(Arrays.asList(table.getName(), + HiveMetaStoreClientHelper.showCreateTable(((HMSExternalTable) table).getRemoteTable()))); + resultSet = new ShowResultSet(showStmt.getMetaData(), rows); + return; + } List<String> createTableStmt = Lists.newArrayList(); Catalog.getDdlStmt(table, createTableStmt, null, null, false, true /* hide password */); if (createTableStmt.isEmpty()) { @@ -841,6 +852,8 @@ public class ShowExecutor { rows.add(Lists.newArrayList(table.getName(), createTableStmt.get(0))); resultSet = new ShowResultSet(showStmt.getMetaData(), rows); } + } catch (MetaNotFoundException e) { + throw new AnalysisException(e.getMessage()); } finally { table.readUnlock(); } diff --git a/fe/fe-core/src/test/java/org/apache/doris/alter/RollupJobV2Test.java b/fe/fe-core/src/test/java/org/apache/doris/alter/RollupJobV2Test.java index bb83a15d34..97498f30a5 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/alter/RollupJobV2Test.java +++ b/fe/fe-core/src/test/java/org/apache/doris/alter/RollupJobV2Test.java @@ -51,6 +51,7 @@ import org.apache.doris.common.FeConstants; import org.apache.doris.common.FeMetaVersion; import org.apache.doris.common.UserException; import org.apache.doris.common.jmockit.Deencapsulation; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.meta.MetaContext; import org.apache.doris.qe.OriginStatement; import org.apache.doris.task.AgentTask; @@ -335,7 +336,7 @@ public class RollupJobV2Test { out.close(); List<Expr> params = Lists.newArrayList(); - SlotRef param1 = new SlotRef(new TableName(null, "test"), "c1"); + SlotRef param1 = new SlotRef(new TableName(InternalDataSource.INTERNAL_DS_NAME, null, "test"), "c1"); params.add(param1); MVColumnItem mvColumnItem = new MVColumnItem(mvColumnName, Type.BITMAP); mvColumnItem.setDefineExpr(new FunctionCallExpr(new FunctionName("to_bitmap"), params)); diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/AlterTableStmtTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/AlterTableStmtTest.java index bb1eebad4a..73a0eb3134 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/AlterTableStmtTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/AlterTableStmtTest.java @@ -19,6 +19,7 @@ package org.apache.doris.analysis; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.UserException; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.mysql.privilege.PaloAuth; import org.apache.doris.mysql.privilege.PrivPredicate; import org.apache.doris.qe.ConnectContext; @@ -36,6 +37,7 @@ import java.util.Map; public class AlterTableStmtTest { private Analyzer analyzer; + private String internalCtl = InternalDataSource.INTERNAL_DS_NAME; @Mocked private PaloAuth auth; @@ -66,7 +68,7 @@ public class AlterTableStmtTest { List<AlterClause> ops = Lists.newArrayList(); ops.add(new DropColumnClause("col1", "", null)); ops.add(new DropColumnClause("col2", "", null)); - AlterTableStmt stmt = new AlterTableStmt(new TableName("testDb", "testTbl"), ops); + AlterTableStmt stmt = new AlterTableStmt(new TableName(internalCtl, "testDb", "testTbl"), ops); stmt.analyze(analyzer); Assert.assertEquals("ALTER TABLE `testCluster:testDb`.`testTbl` DROP COLUMN `col1`, \nDROP COLUMN `col2`", stmt.toSql()); @@ -79,7 +81,7 @@ public class AlterTableStmtTest { List<AlterClause> ops = Lists.newArrayList(); ops.add(new AddRollupClause("index1", Lists.newArrayList("col1", "col2"), null, "testTbl", null)); ops.add(new AddRollupClause("index2", Lists.newArrayList("col2", "col3"), null, "testTbl", null)); - AlterTableStmt stmt = new AlterTableStmt(new TableName("testDb", "testTbl"), ops); + AlterTableStmt stmt = new AlterTableStmt(new TableName(internalCtl, "testDb", "testTbl"), ops); stmt.analyze(analyzer); Assert.assertEquals("ALTER TABLE `testCluster:testDb`.`testTbl`" + " ADD ROLLUP `index1` (`col1`, `col2`) FROM `testTbl`, \n" @@ -102,7 +104,7 @@ public class AlterTableStmtTest { @Test(expected = AnalysisException.class) public void testNoClause() throws UserException { List<AlterClause> ops = Lists.newArrayList(); - AlterTableStmt stmt = new AlterTableStmt(new TableName("testDb", "testTbl"), ops); + AlterTableStmt stmt = new AlterTableStmt(new TableName(internalCtl, "testDb", "testTbl"), ops); stmt.analyze(analyzer); Assert.fail("No exception throws."); @@ -114,7 +116,7 @@ public class AlterTableStmtTest { Map<String, String> properties = Maps.newHashMap(); properties.put("function_column.sequence_type", "int"); ops.add(new EnableFeatureClause("sequence_load", properties)); - AlterTableStmt stmt = new AlterTableStmt(new TableName("testDb", "testTbl"), ops); + AlterTableStmt stmt = new AlterTableStmt(new TableName(internalCtl, "testDb", "testTbl"), ops); stmt.analyze(analyzer); Assert.assertEquals("ALTER TABLE `testCluster:testDb`.`testTbl` ENABLE FEATURE \"sequence_load\" WITH PROPERTIES (\"function_column.sequence_type\" = \"int\")", diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/BackupTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/BackupTest.java index 5f4c5019e7..419e78482f 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/BackupTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/BackupTest.java @@ -18,6 +18,7 @@ package org.apache.doris.analysis; import org.apache.doris.catalog.Catalog; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.qe.ConnectContext; import com.google.common.collect.Lists; @@ -54,10 +55,10 @@ public class BackupTest { BackupStmt stmt; List<TableRef> tblRefs = Lists.newArrayList(); String testDB = "test_db"; - tblRefs.add(new TableRef(new TableName(null, "table1"), null)); + tblRefs.add(new TableRef(new TableName(InternalDataSource.INTERNAL_DS_NAME, null, "table1"), null)); if (caseSensitive) { // case sensitive - tblRefs.add(new TableRef(new TableName(null, "Table1"), null)); + tblRefs.add(new TableRef(new TableName(InternalDataSource.INTERNAL_DS_NAME, null, "Table1"), null)); } AbstractBackupTableRefClause tableRefClause = new AbstractBackupTableRefClause(false, tblRefs); stmt = new BackupStmt(new LabelName(testDB, "label1"), "repo", diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/CancelAlterStmtTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/CancelAlterStmtTest.java index 7a84f5a2ea..289ce692b0 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/CancelAlterStmtTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/CancelAlterStmtTest.java @@ -23,6 +23,7 @@ import org.apache.doris.catalog.Catalog; import org.apache.doris.catalog.FakeCatalog; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.UserException; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.qe.ConnectContext; import mockit.Expectations; @@ -74,14 +75,14 @@ public class CancelAlterStmtTest { fakeCatalog = new FakeCatalog(); FakeCatalog.setCatalog(catalog); // cancel alter column - CancelAlterTableStmt stmt = new CancelAlterTableStmt(AlterType.COLUMN, new TableName(null, "testTbl")); + CancelAlterTableStmt stmt = new CancelAlterTableStmt(AlterType.COLUMN, new TableName(InternalDataSource.INTERNAL_DS_NAME, null, "testTbl")); stmt.analyze(analyzer); Assert.assertEquals("CANCEL ALTER COLUMN FROM `testDb`.`testTbl`", stmt.toString()); Assert.assertEquals("testDb", stmt.getDbName()); Assert.assertEquals(AlterType.COLUMN, stmt.getAlterType()); Assert.assertEquals("testTbl", stmt.getTableName()); - stmt = new CancelAlterTableStmt(AlterType.ROLLUP, new TableName(null, "testTbl")); + stmt = new CancelAlterTableStmt(AlterType.ROLLUP, new TableName(InternalDataSource.INTERNAL_DS_NAME, null, "testTbl")); stmt.analyze(analyzer); Assert.assertEquals("CANCEL ALTER ROLLUP FROM `testDb`.`testTbl`", stmt.toString()); Assert.assertEquals("testDb", stmt.getDbName()); diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/ComparisonPredicateTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/ComparisonPredicateTest.java index ba7b943ff8..d76670ddd8 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/ComparisonPredicateTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/ComparisonPredicateTest.java @@ -21,6 +21,7 @@ import org.apache.doris.catalog.ScalarType; import org.apache.doris.catalog.Type; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.jmockit.Deencapsulation; +import org.apache.doris.datasource.InternalDataSource; import com.google.common.collect.BoundType; import com.google.common.collect.Lists; @@ -36,6 +37,7 @@ import org.junit.Test; * Comparison Predicate unit test. */ public class ComparisonPredicateTest { + private static final String internalCtl = InternalDataSource.INTERNAL_DS_NAME; @Mocked Analyzer analyzer; @@ -116,7 +118,7 @@ public class ComparisonPredicateTest { @Test public void testConvertToRange() { - SlotRef slotRef = new SlotRef(new TableName("db1", "tb1"), "k1"); + SlotRef slotRef = new SlotRef(new TableName(internalCtl, "db1", "tb1"), "k1"); LiteralExpr literalExpr = new IntLiteral(1); BinaryPredicate binaryPredicate = new BinaryPredicate(BinaryPredicate.Operator.LE, slotRef, literalExpr); Range<LiteralExpr> range = binaryPredicate.convertToRange(); @@ -127,7 +129,7 @@ public class ComparisonPredicateTest { @Test public void testConvertToRangeForDateV2() { - SlotRef slotRef = new SlotRef(new TableName("db1", "tb1"), "k1"); + SlotRef slotRef = new SlotRef(new TableName(internalCtl, "db1", "tb1"), "k1"); LiteralExpr dateExpr = new DateLiteral(2022, 5, 19, Type.DATE); LiteralExpr dateV2Expr = new DateLiteral(2022, 5, 19, Type.DATEV2); BinaryPredicate binaryPredicate1 = new BinaryPredicate(BinaryPredicate.Operator.LE, slotRef, dateExpr); @@ -146,7 +148,7 @@ public class ComparisonPredicateTest { @Test public void testConvertToRangeForDateTimeV2() { - SlotRef slotRef = new SlotRef(new TableName("db1", "tb1"), "k1"); + SlotRef slotRef = new SlotRef(new TableName(internalCtl, "db1", "tb1"), "k1"); LiteralExpr dateTimeExpr = new DateLiteral(2022, 5, 19, 0, 0, 0, Type.DATETIME); LiteralExpr dateTimeV2Expr1 = new DateLiteral(2022, 5, 19, 0, 0, 0, Type.DEFAULT_DATETIMEV2); LiteralExpr dateTimeV2Expr2 = new DateLiteral(2022, 5, 19, 0, 0, 0, ScalarType.createDatetimeV2Type(6)); diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateIndexClauseTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateIndexClauseTest.java index 40031486d0..b93cbe8eb4 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateIndexClauseTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateIndexClauseTest.java @@ -18,6 +18,7 @@ package org.apache.doris.analysis; import org.apache.doris.common.AnalysisException; +import org.apache.doris.datasource.InternalDataSource; import com.google.common.collect.Lists; import org.junit.Assert; @@ -34,7 +35,7 @@ public class CreateIndexClauseTest { @Test public void testNormal() throws AnalysisException { - CreateIndexClause clause = new CreateIndexClause(new TableName("db", "table"), new IndexDef("index1", false, + CreateIndexClause clause = new CreateIndexClause(new TableName(InternalDataSource.INTERNAL_DS_NAME, "db", "table"), new IndexDef("index1", false, Lists.newArrayList("col1"), IndexDef.IndexType.BITMAP, "balabala"), false); clause.analyze(analyzer); Assert.assertEquals("CREATE INDEX index1 ON `db`.`table` (`col1`) USING BITMAP COMMENT 'balabala'", @@ -44,7 +45,7 @@ public class CreateIndexClauseTest { @Test(expected = AnalysisException.class) public void testDuplIndex() throws AnalysisException { - CreateIndexClause clause = new CreateIndexClause(new TableName("db", "table"), null, false); + CreateIndexClause clause = new CreateIndexClause(new TableName(InternalDataSource.INTERNAL_DS_NAME, "db", "table"), null, false); clause.analyze(analyzer); } diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateMaterializedViewStmtTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateMaterializedViewStmtTest.java index 27b58d4d58..0ab19f5d1e 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateMaterializedViewStmtTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateMaterializedViewStmtTest.java @@ -29,6 +29,7 @@ import org.apache.doris.common.AnalysisException; import org.apache.doris.common.Config; import org.apache.doris.common.UserException; import org.apache.doris.common.jmockit.Deencapsulation; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.qe.ConnectContext; import com.google.common.collect.Lists; @@ -43,6 +44,7 @@ import java.util.ArrayList; import java.util.List; public class CreateMaterializedViewStmtTest { + private static final String internalCtl = InternalDataSource.INTERNAL_DS_NAME; @Mocked private Analyzer analyzer; @@ -90,7 +92,7 @@ public class CreateMaterializedViewStmtTest { SelectListItem selectListItem = new SelectListItem(slotRef, null); selectList.addItem(selectListItem); - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef2 = new SlotRef(tableName, "v1"); List<Expr> fnChildren = Lists.newArrayList(slotRef2); Deencapsulation.setField(slotRef2, "desc", slotDescriptor); @@ -329,7 +331,7 @@ public class CreateMaterializedViewStmtTest { SelectList selectList = new SelectList(); SelectListItem selectListItem1 = new SelectListItem(slotRef1, null); selectList.addItem(selectListItem1); - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef2 = new SlotRef(tableName, "v1"); Deencapsulation.setField(slotRef2, "desc", slotDescriptor); List<Expr> fnChildren = Lists.newArrayList(slotRef2); @@ -376,7 +378,7 @@ public class CreateMaterializedViewStmtTest { @Test public void testDuplicateColumn(@Injectable SelectStmt selectStmt, @Injectable AggregateFunction aggregateFunction) throws UserException { SelectList selectList = new SelectList(); - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef1 = new SlotRef(tableName, "k1"); SelectListItem selectListItem1 = new SelectListItem(slotRef1, null); selectList.addItem(selectListItem1); @@ -413,7 +415,7 @@ public class CreateMaterializedViewStmtTest { SelectList selectList = new SelectList(); SelectListItem selectListItem1 = new SelectListItem(slotRef1, null); selectList.addItem(selectListItem1); - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef2 = new SlotRef(tableName, "k2"); Deencapsulation.setField(slotRef2, "desc", slotDescriptor); List<Expr> fn1Children = Lists.newArrayList(slotRef2); @@ -463,7 +465,7 @@ public class CreateMaterializedViewStmtTest { selectList.addItem(selectListItem1); SelectListItem selectListItem2 = new SelectListItem(slotRef2, null); selectList.addItem(selectListItem2); - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef functionChild0 = new SlotRef(tableName, "v1"); Deencapsulation.setField(functionChild0, "desc", slotDescriptor); List<Expr> fn1Children = Lists.newArrayList(functionChild0); @@ -528,7 +530,7 @@ public class CreateMaterializedViewStmtTest { selectList.addItem(selectListItem3); SelectListItem selectListItem4 = new SelectListItem(slotRef4, null); selectList.addItem(selectListItem4); - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); final String columnName5 = "sum_v2"; SlotRef functionChild0 = new SlotRef(tableName, columnName5); Deencapsulation.setField(functionChild0, "desc", slotDescriptor); @@ -1024,7 +1026,7 @@ public class CreateMaterializedViewStmtTest { selectList.addItem(selectListItem1); SelectListItem selectListItem2 = new SelectListItem(slotRef2, null); selectList.addItem(selectListItem2); - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); final String columnName3 = "sum_v2"; SlotRef slotRef = new SlotRef(tableName, columnName3); Deencapsulation.setField(slotRef, "desc", slotDescriptor); @@ -1152,7 +1154,7 @@ public class CreateMaterializedViewStmtTest { @Injectable SlotDescriptor slotDescriptor3, @Injectable SlotDescriptor slotDescriptor4) { CreateMaterializedViewStmt createMaterializedViewStmt = new CreateMaterializedViewStmt("test", selectStmt, null); - SlotRef slotRef = new SlotRef(new TableName("db", "table"), "a"); + SlotRef slotRef = new SlotRef(new TableName(internalCtl, "db", "table"), "a"); List<Expr> params = Lists.newArrayList(); params.add(slotRef); FunctionCallExpr functionCallExpr = new FunctionCallExpr("sum", params); @@ -1168,7 +1170,7 @@ public class CreateMaterializedViewStmtTest { MVColumnItem mvColumnItem = Deencapsulation.invoke(createMaterializedViewStmt, "buildMVColumnItem", functionCallExpr); Assert.assertEquals(Type.LARGEINT, mvColumnItem.getType()); - SlotRef slotRef2 = new SlotRef(new TableName("db", "table"), "a"); + SlotRef slotRef2 = new SlotRef(new TableName(internalCtl, "db", "table"), "a"); List<Expr> params2 = Lists.newArrayList(); params2.add(slotRef2); FunctionCallExpr functionCallExpr2 = new FunctionCallExpr("sum", params2); @@ -1184,7 +1186,7 @@ public class CreateMaterializedViewStmtTest { MVColumnItem mvColumnItem2 = Deencapsulation.invoke(createMaterializedViewStmt, "buildMVColumnItem", functionCallExpr2); Assert.assertEquals(Type.BIGINT, mvColumnItem2.getType()); - SlotRef slotRef3 = new SlotRef(new TableName("db", "table"), "a"); + SlotRef slotRef3 = new SlotRef(new TableName(internalCtl, "db", "table"), "a"); List<Expr> params3 = Lists.newArrayList(); params3.add(slotRef3); FunctionCallExpr functionCallExpr3 = new FunctionCallExpr("min", params3); @@ -1200,7 +1202,7 @@ public class CreateMaterializedViewStmtTest { MVColumnItem mvColumnItem3 = Deencapsulation.invoke(createMaterializedViewStmt, "buildMVColumnItem", functionCallExpr3); Assert.assertEquals(Type.VARCHAR, mvColumnItem3.getType()); - SlotRef slotRef4 = new SlotRef(new TableName("db", "table"), "a"); + SlotRef slotRef4 = new SlotRef(new TableName(internalCtl, "db", "table"), "a"); List<Expr> params4 = Lists.newArrayList(); params4.add(slotRef4); FunctionCallExpr functionCallExpr4 = new FunctionCallExpr("sum", params4); @@ -1227,7 +1229,7 @@ public class CreateMaterializedViewStmtTest { @Injectable SlotDescriptor slotDescriptor3, @Injectable Column column3) { CreateMaterializedViewStmt createMaterializedViewStmt = new CreateMaterializedViewStmt("test", selectStmt, null); - SlotRef slotRef = new SlotRef(new TableName("db", "table"), "a"); + SlotRef slotRef = new SlotRef(new TableName(internalCtl, "db", "table"), "a"); List<Expr> params = Lists.newArrayList(); params.add(slotRef); FunctionCallExpr functionCallExpr = new FunctionCallExpr("min", params); @@ -1243,7 +1245,7 @@ public class CreateMaterializedViewStmtTest { MVColumnItem mvColumnItem = Deencapsulation.invoke(createMaterializedViewStmt, "buildMVColumnItem", functionCallExpr); Assert.assertEquals(50, mvColumnItem.getType().getLength()); - SlotRef slotRef2 = new SlotRef(new TableName("db", "table"), "a"); + SlotRef slotRef2 = new SlotRef(new TableName(internalCtl, "db", "table"), "a"); List<Expr> params2 = Lists.newArrayList(); params2.add(slotRef2); FunctionCallExpr functionCallExpr2 = new FunctionCallExpr("min", params2); @@ -1260,7 +1262,7 @@ public class CreateMaterializedViewStmtTest { Assert.assertEquals(new Integer(10), mvColumnItem2.getType().getPrecision()); Assert.assertEquals(1, ((ScalarType) mvColumnItem2.getType()).getScalarScale()); - SlotRef slotRef3 = new SlotRef(new TableName("db", "table"), "a"); + SlotRef slotRef3 = new SlotRef(new TableName(internalCtl, "db", "table"), "a"); List<Expr> params3 = Lists.newArrayList(); params3.add(slotRef3); FunctionCallExpr functionCallExpr3 = new FunctionCallExpr("min", params3); diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateTableAsSelectStmtTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateTableAsSelectStmtTest.java index 0f045eeaa1..08b9b7dae0 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateTableAsSelectStmtTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateTableAsSelectStmtTest.java @@ -20,6 +20,7 @@ package org.apache.doris.analysis; import org.apache.doris.catalog.Catalog; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.ExceptionChecker; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.metric.MetricRepo; import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.ShowExecutor; @@ -109,7 +110,7 @@ public class CreateTableAsSelectStmtTest { } private static ShowResultSet showCreateTable(String tableName) throws Exception { - ShowCreateTableStmt stmt = new ShowCreateTableStmt(new TableName("test", tableName)); + ShowCreateTableStmt stmt = new ShowCreateTableStmt(new TableName(InternalDataSource.INTERNAL_DS_NAME, "test", tableName)); Analyzer dummyRootAnalyzer = new Analyzer(Catalog.getCurrentCatalog(), connectContext); stmt.analyze(dummyRootAnalyzer); ShowExecutor executor = new ShowExecutor(connectContext, stmt); diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateTableStmtTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateTableStmtTest.java index 1400d8cdd7..75627d0f0c 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateTableStmtTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateTableStmtTest.java @@ -23,6 +23,7 @@ import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.catalog.ScalarType; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.UserException; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.mysql.privilege.MockedAuth; import org.apache.doris.mysql.privilege.PaloAuth; import org.apache.doris.qe.ConnectContext; @@ -69,8 +70,8 @@ public class CreateTableStmtTest { // analyzer analyzer = AccessTestUtil.fetchAdminAnalyzer(false); // table name - tblName = new TableName("db1", "table1"); - tblNameNoDb = new TableName("", "table1"); + tblName = new TableName(InternalDataSource.INTERNAL_DS_NAME, "db1", "table1"); + tblNameNoDb = new TableName(InternalDataSource.INTERNAL_DS_NAME, "", "table1"); // col cols = Lists.newArrayList(); cols.add(new ColumnDef("col1", new TypeDef(ScalarType.createType(PrimitiveType.INT)))); diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/DeleteStmtTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/DeleteStmtTest.java index 4dffa5eed2..ceadec09d7 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/DeleteStmtTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/DeleteStmtTest.java @@ -20,6 +20,7 @@ package org.apache.doris.analysis; import org.apache.doris.analysis.BinaryPredicate.Operator; import org.apache.doris.common.UserException; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.mysql.privilege.MockedAuth; import org.apache.doris.mysql.privilege.PaloAuth; import org.apache.doris.qe.ConnectContext; @@ -33,6 +34,7 @@ import org.junit.Test; import java.util.List; public class DeleteStmtTest { + private static final String internalCtl = InternalDataSource.INTERNAL_DS_NAME; Analyzer analyzer; @@ -52,7 +54,7 @@ public class DeleteStmtTest { public void getMethodTest() { BinaryPredicate wherePredicate = new BinaryPredicate(Operator.EQ, new SlotRef(null, "k1"), new StringLiteral("abc")); - DeleteStmt deleteStmt = new DeleteStmt(new TableName("testDb", "testTbl"), + DeleteStmt deleteStmt = new DeleteStmt(new TableName(internalCtl, "testDb", "testTbl"), new PartitionNames(false, Lists.newArrayList("partition")), wherePredicate); Assert.assertEquals("testDb", deleteStmt.getDbName()); @@ -61,7 +63,7 @@ public class DeleteStmtTest { Assert.assertEquals("DELETE FROM `testDb`.`testTbl` PARTITION (partition) WHERE `k1` = 'abc'", deleteStmt.toSql()); - deleteStmt = new DeleteStmt(new TableName("testDb", "testTbl"), null, wherePredicate); + deleteStmt = new DeleteStmt(new TableName(internalCtl, "testDb", "testTbl"), null, wherePredicate); Assert.assertEquals("DELETE FROM `testDb`.`testTbl` WHERE `k1` = 'abc'", deleteStmt.toSql()); } @@ -72,7 +74,7 @@ public class DeleteStmtTest { LikePredicate likePredicate = new LikePredicate(org.apache.doris.analysis.LikePredicate.Operator.LIKE, new SlotRef(null, "k1"), new StringLiteral("abc")); - DeleteStmt deleteStmt = new DeleteStmt(new TableName("testDb", "testTbl"), + DeleteStmt deleteStmt = new DeleteStmt(new TableName(internalCtl, "testDb", "testTbl"), new PartitionNames(false, Lists.newArrayList("partition")), likePredicate); try { deleteStmt.analyze(analyzer); @@ -87,7 +89,7 @@ public class DeleteStmtTest { new CompoundPredicate(org.apache.doris.analysis.CompoundPredicate.Operator.OR, binaryPredicate, binaryPredicate); - deleteStmt = new DeleteStmt(new TableName("testDb", "testTbl"), + deleteStmt = new DeleteStmt(new TableName(internalCtl, "testDb", "testTbl"), new PartitionNames(false, Lists.newArrayList("partition")), compoundPredicate); try { @@ -101,7 +103,7 @@ public class DeleteStmtTest { binaryPredicate, likePredicate); - deleteStmt = new DeleteStmt(new TableName("testDb", "testTbl"), + deleteStmt = new DeleteStmt(new TableName(internalCtl, "testDb", "testTbl"), new PartitionNames(false, Lists.newArrayList("partition")), compoundPredicate); try { deleteStmt.analyze(analyzer); @@ -116,7 +118,7 @@ public class DeleteStmtTest { binaryPredicate, binaryPredicate); - deleteStmt = new DeleteStmt(new TableName("testDb", "testTbl"), + deleteStmt = new DeleteStmt(new TableName(internalCtl, "testDb", "testTbl"), new PartitionNames(false, Lists.newArrayList("partition")), compoundPredicate); try { deleteStmt.analyze(analyzer); @@ -131,7 +133,7 @@ public class DeleteStmtTest { binaryPredicate, binaryPredicate); - deleteStmt = new DeleteStmt(new TableName("testDb", "testTbl"), + deleteStmt = new DeleteStmt(new TableName(internalCtl, "testDb", "testTbl"), new PartitionNames(false, Lists.newArrayList("partition")), compoundPredicate); try { deleteStmt.analyze(analyzer); @@ -145,7 +147,7 @@ public class DeleteStmtTest { binaryPredicate, binaryPredicate); - deleteStmt = new DeleteStmt(new TableName("testDb", "testTbl"), null, compoundPredicate); + deleteStmt = new DeleteStmt(new TableName(internalCtl, "testDb", "testTbl"), null, compoundPredicate); try { deleteStmt.analyze(analyzer); } catch (UserException e) { @@ -170,7 +172,7 @@ public class DeleteStmtTest { binaryPredicate, compoundPredicate2); - deleteStmt = new DeleteStmt(new TableName("testDb", "testTbl"), + deleteStmt = new DeleteStmt(new TableName(internalCtl, "testDb", "testTbl"), new PartitionNames(false, Lists.newArrayList("partition")), compoundPredicate); try { deleteStmt.analyze(analyzer); @@ -179,7 +181,7 @@ public class DeleteStmtTest { } // multi partition - deleteStmt = new DeleteStmt(new TableName("testDb", "testTbl"), + deleteStmt = new DeleteStmt(new TableName(internalCtl, "testDb", "testTbl"), new PartitionNames(false, Lists.newArrayList("partition1", "partiton2")), compoundPredicate); try { deleteStmt.analyze(analyzer); @@ -189,7 +191,7 @@ public class DeleteStmtTest { } // no partition - deleteStmt = new DeleteStmt(new TableName("testDb", "testTbl"), null, compoundPredicate); + deleteStmt = new DeleteStmt(new TableName(internalCtl, "testDb", "testTbl"), null, compoundPredicate); try { deleteStmt.analyze(analyzer); Assert.assertEquals(Lists.newArrayList(), deleteStmt.getPartitionNames()); diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/DropIndexClauseTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/DropIndexClauseTest.java index 7f7c52109d..e2230a1190 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/DropIndexClauseTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/DropIndexClauseTest.java @@ -19,6 +19,7 @@ package org.apache.doris.analysis; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.UserException; +import org.apache.doris.datasource.InternalDataSource; import org.junit.Assert; import org.junit.BeforeClass; @@ -35,14 +36,14 @@ public class DropIndexClauseTest { @Test public void testNormal() throws UserException { - DropIndexClause clause = new DropIndexClause("index1", false, new TableName("db", "table"), false); + DropIndexClause clause = new DropIndexClause("index1", false, new TableName(InternalDataSource.INTERNAL_DS_NAME, "db", "table"), false); clause.analyze(analyzer); Assert.assertEquals("DROP INDEX index1 ON `db`.`table`", clause.toSql()); } @Test(expected = AnalysisException.class) public void testNoIndex() throws UserException { - DropIndexClause clause = new DropIndexClause("", false, new TableName("db", "table"), false); + DropIndexClause clause = new DropIndexClause("", false, new TableName(InternalDataSource.INTERNAL_DS_NAME, "db", "table"), false); clause.analyze(analyzer); } } diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/DropTableStmtTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/DropTableStmtTest.java index 7a6fdaa437..ef6bb27b41 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/DropTableStmtTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/DropTableStmtTest.java @@ -31,6 +31,8 @@ import org.junit.Before; import org.junit.Test; public class DropTableStmtTest { + private static final String internalCtl = InternalDataSource.INTERNAL_DS_NAME; + private TableName tbl; private TableName noDbTbl; private Analyzer analyzer; @@ -44,8 +46,8 @@ public class DropTableStmtTest { @Before public void setUp() { - tbl = new TableName("db1", "table1"); - noDbTbl = new TableName("", "table1"); + tbl = new TableName(internalCtl, "db1", "table1"); + noDbTbl = new TableName(internalCtl, "", "table1"); analyzer = AccessTestUtil.fetchAdminAnalyzer(true); new Expectations() { @@ -95,7 +97,7 @@ public class DropTableStmtTest { @Test(expected = AnalysisException.class) public void testNoTableFail() throws UserException, AnalysisException { - DropTableStmt stmt = new DropTableStmt(false, new TableName("db1", ""), true); + DropTableStmt stmt = new DropTableStmt(false, new TableName(internalCtl, "db1", ""), true); stmt.analyze(noDbAnalyzer); Assert.fail("No Exception throws."); } diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/ExprTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/ExprTest.java index ad461d93dc..35276dc858 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/ExprTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/ExprTest.java @@ -22,6 +22,7 @@ import org.apache.doris.catalog.Table; import org.apache.doris.catalog.Type; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.jmockit.Deencapsulation; +import org.apache.doris.datasource.InternalDataSource; import com.google.common.collect.Maps; import mockit.Expectations; @@ -36,6 +37,7 @@ import java.util.Map; import java.util.Set; public class ExprTest { + private static final String internalCtl = InternalDataSource.INTERNAL_DS_NAME; @Test public void testGetTableNameToColumnNames(@Mocked Analyzer analyzer, @@ -45,8 +47,8 @@ public class ExprTest { @Injectable TupleDescriptor tupleDescriptor2, @Injectable Table tableA, @Injectable Table tableB) throws AnalysisException { - TableName tableAName = new TableName("test", "tableA"); - TableName tableBName = new TableName("test", "tableB"); + TableName tableAName = new TableName(internalCtl, "test", "tableA"); + TableName tableBName = new TableName(internalCtl, "test", "tableB"); SlotRef tableAColumn1 = new SlotRef(tableAName, "c1"); SlotRef tableBColumn1 = new SlotRef(tableBName, "c1"); Expr whereExpr = new BinaryPredicate(BinaryPredicate.Operator.EQ, tableAColumn1, tableBColumn1); @@ -198,7 +200,7 @@ public class ExprTest { @Test public void testSrcSlotRef(@Injectable SlotDescriptor slotDescriptor) { - TableName tableName = new TableName("db1", "table1"); + TableName tableName = new TableName(internalCtl, "db1", "table1"); SlotRef slotRef = new SlotRef(tableName, "c1"); slotRef.setDesc(slotDescriptor); Deencapsulation.setField(slotRef, "isAnalyzed", true); diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/GroupByClauseTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/GroupByClauseTest.java index 87aefa413f..f87cee4343 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/GroupByClauseTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/GroupByClauseTest.java @@ -18,6 +18,7 @@ package org.apache.doris.analysis; import org.apache.doris.common.AnalysisException; +import org.apache.doris.datasource.InternalDataSource; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; @@ -34,6 +35,7 @@ import java.util.List; import java.util.Set; public class GroupByClauseTest { + private static final String internalCtl = InternalDataSource.INTERNAL_DS_NAME; private Analyzer analyzer; @@ -46,7 +48,7 @@ public class GroupByClauseTest { f.setAccessible(true); Multimap<String, TupleDescriptor> tupleByAlias = ArrayListMultimap.create(); TupleDescriptor td = new TupleDescriptor(new TupleId(0)); - td.setTable(analyzerBase.getTableOrAnalysisException(new TableName("testdb", "t"))); + td.setTable(analyzerBase.getTableOrAnalysisException(new TableName(internalCtl, "testdb", "t"))); tupleByAlias.put("testdb.t", td); f.set(analyzer, tupleByAlias); } catch (NoSuchFieldException e) { @@ -70,13 +72,13 @@ public class GroupByClauseTest { for (String[] colsList : colsLists) { ArrayList<Expr> exprList = new ArrayList<>(); for (String col : colsList) { - exprList.add(new SlotRef(new TableName("testdb", "t"), col)); + exprList.add(new SlotRef(new TableName(internalCtl, "testdb", "t"), col)); } groupingExprsList.add(exprList); } String[] groupByCols = {"k1", "k2", "k3", "k4"}; for (String col : groupByCols) { - groupByExprs.add(new SlotRef(new TableName("testdb", "t"), col)); + groupByExprs.add(new SlotRef(new TableName(internalCtl, "testdb", "t"), col)); } GroupByClause groupByClause = new GroupByClause(groupingExprsList, GroupByClause.GroupingType.GROUPING_SETS); @@ -113,7 +115,7 @@ public class GroupByClauseTest { ArrayList<Expr> groupingExprs = new ArrayList<>(); String[] cols = {"k2", "k3", "k4", "k3"}; for (String col : cols) { - Expr expr = new SlotRef(new TableName("testdb", "t"), col); + Expr expr = new SlotRef(new TableName(internalCtl, "testdb", "t"), col); groupingExprs.add(expr); } @@ -151,7 +153,7 @@ public class GroupByClauseTest { ArrayList<Expr> groupingExprs = new ArrayList<>(); String[] cols = {"k1", "k2", "k3", "k1"}; for (String col : cols) { - Expr expr = new SlotRef(new TableName("testdb", "t"), col); + Expr expr = new SlotRef(new TableName(internalCtl, "testdb", "t"), col); groupingExprs.add(expr); } @@ -189,7 +191,7 @@ public class GroupByClauseTest { ArrayList<Expr> groupingExprs = new ArrayList<>(); String[] cols = {"k2", "k2", "k3", "k1"}; for (String col : cols) { - Expr expr = new SlotRef(new TableName("testdb", "t"), col); + Expr expr = new SlotRef(new TableName(internalCtl, "testdb", "t"), col); groupingExprs.add(expr); } @@ -211,7 +213,7 @@ public class GroupByClauseTest { ArrayList<Expr> groupingExprs = new ArrayList<>(); String[] cols = {"k2", "k2", "k3", "k1"}; for (String col : cols) { - Expr expr = new SlotRef(new TableName("testdb", "t"), col); + Expr expr = new SlotRef(new TableName(internalCtl, "testdb", "t"), col); groupingExprs.add(expr); } @@ -234,7 +236,7 @@ public class GroupByClauseTest { ArrayList<Expr> groupingExprs = new ArrayList<>(); String[] cols = {"k1", "k2", "k3", "k1"}; for (String col : cols) { - Expr expr = new SlotRef(new TableName("testdb", "t"), col); + Expr expr = new SlotRef(new TableName(internalCtl, "testdb", "t"), col); groupingExprs.add(expr); } GroupByClause groupByClause = new GroupByClause(Expr.cloneList(groupingExprs), @@ -252,7 +254,7 @@ public class GroupByClauseTest { ArrayList<Expr> groupingExprs = new ArrayList<>(); String[] cols = {"k1", "k2", "k3"}; for (String col : cols) { - Expr expr = new SlotRef(new TableName("testdb", "t"), col); + Expr expr = new SlotRef(new TableName(internalCtl, "testdb", "t"), col); groupingExprs.add(expr); } @@ -260,7 +262,7 @@ public class GroupByClauseTest { GroupByClause.GroupingType.CUBE); List<Expr> slots = new ArrayList<>(); for (String col : cols) { - SlotRef expr = new SlotRef(new TableName("testdb", "t"), col); + SlotRef expr = new SlotRef(new TableName(internalCtl, "testdb", "t"), col); slots.add(expr); } GroupingInfo groupingInfo = null; diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/InPredicateTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/InPredicateTest.java index 9942301c37..7f1ac63ec9 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/InPredicateTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/InPredicateTest.java @@ -19,6 +19,7 @@ package org.apache.doris.analysis; import org.apache.doris.catalog.Type; import org.apache.doris.common.AnalysisException; +import org.apache.doris.datasource.InternalDataSource; import com.google.common.collect.Lists; import org.junit.Assert; @@ -27,6 +28,7 @@ import org.junit.Test; import java.util.List; public class InPredicateTest { + private static final String internalCtl = InternalDataSource.INTERNAL_DS_NAME; /* InPredicate1: k1 in (1,2) @@ -35,7 +37,7 @@ public class InPredicateTest { */ @Test public void testIntersection() throws AnalysisException { - SlotRef slotRef1 = new SlotRef(new TableName("db1", "tb1"), "k1"); + SlotRef slotRef1 = new SlotRef(new TableName(internalCtl, "db1", "tb1"), "k1"); LiteralExpr literalChild1 = new IntLiteral(1); LiteralExpr literalChild2 = new IntLiteral(2); List<Expr> literalChildren1 = Lists.newArrayList(); @@ -43,7 +45,7 @@ public class InPredicateTest { literalChildren1.add(literalChild2); InPredicate inPredicate1 = new InPredicate(slotRef1, literalChildren1, false); - SlotRef slotRef2 = new SlotRef(new TableName("db1", "tb1"), "k1"); + SlotRef slotRef2 = new SlotRef(new TableName(internalCtl, "db1", "tb1"), "k1"); LiteralExpr literalChild3 = new LargeIntLiteral("2"); LiteralExpr literalChild4 = new LargeIntLiteral("3"); List<Expr> literalChildren2 = Lists.newArrayList(); @@ -76,7 +78,7 @@ public class InPredicateTest { */ @Test public void testUnion() throws AnalysisException { - SlotRef slotRef1 = new SlotRef(new TableName("db1", "tb1"), "k1"); + SlotRef slotRef1 = new SlotRef(new TableName(internalCtl, "db1", "tb1"), "k1"); LiteralExpr literalChild1 = new IntLiteral(1); LiteralExpr literalChild2 = new IntLiteral(2); List<Expr> literalChildren1 = Lists.newArrayList(); @@ -84,7 +86,7 @@ public class InPredicateTest { literalChildren1.add(literalChild2); InPredicate inPredicate1 = new InPredicate(slotRef1, literalChildren1, false); - SlotRef slotRef2 = new SlotRef(new TableName("db1", "tb1"), "k1"); + SlotRef slotRef2 = new SlotRef(new TableName(internalCtl, "db1", "tb1"), "k1"); LiteralExpr literalChild3 = new LargeIntLiteral("1"); List<Expr> literalChildren2 = Lists.newArrayList(); literalChildren2.add(literalChild3); @@ -110,7 +112,7 @@ public class InPredicateTest { @Test public void testIntersectionWithDateV2() throws AnalysisException { - SlotRef slotRef1 = new SlotRef(new TableName("db1", "tb1"), "k1"); + SlotRef slotRef1 = new SlotRef(new TableName(internalCtl, "db1", "tb1"), "k1"); LiteralExpr literalChild1 = new DateLiteral(2022, 5, 19, Type.DATE); LiteralExpr literalChild2 = new DateLiteral(2022, 5, 20, Type.DATEV2); List<Expr> literalChildren1 = Lists.newArrayList(); @@ -118,7 +120,7 @@ public class InPredicateTest { literalChildren1.add(literalChild2); InPredicate inPredicate1 = new InPredicate(slotRef1, literalChildren1, false); - SlotRef slotRef2 = new SlotRef(new TableName("db1", "tb1"), "k1"); + SlotRef slotRef2 = new SlotRef(new TableName(internalCtl, "db1", "tb1"), "k1"); LiteralExpr literalChild3 = new DateLiteral(2022, 5, 19, Type.DATEV2); LiteralExpr literalChild4 = new DateLiteral(2022, 5, 21, Type.DATE); List<Expr> literalChildren2 = Lists.newArrayList(); @@ -151,7 +153,7 @@ public class InPredicateTest { */ @Test public void testUnionWithDateV2() throws AnalysisException { - SlotRef slotRef1 = new SlotRef(new TableName("db1", "tb1"), "k1"); + SlotRef slotRef1 = new SlotRef(new TableName(internalCtl, "db1", "tb1"), "k1"); LiteralExpr literalChild1 = new DateLiteral(2022, 5, 19, Type.DATE); LiteralExpr literalChild2 = new DateLiteral(2022, 5, 20, Type.DATEV2); LiteralExpr literalChild3 = new DateLiteral(2022, 5, 20, 0, 0, 0, Type.DATETIME); @@ -161,7 +163,7 @@ public class InPredicateTest { literalChildren1.add(literalChild3); InPredicate inPredicate1 = new InPredicate(slotRef1, literalChildren1, false); - SlotRef slotRef2 = new SlotRef(new TableName("db1", "tb1"), "k1"); + SlotRef slotRef2 = new SlotRef(new TableName(internalCtl, "db1", "tb1"), "k1"); LiteralExpr literalChild4 = new DateLiteral(2022, 5, 19, Type.DATE); LiteralExpr literalChild5 = new DateLiteral(2022, 5, 20, 0, 0, 0, Type.DATETIMEV2); List<Expr> literalChildren2 = Lists.newArrayList(); diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/MVColumnBitmapUnionPatternTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/MVColumnBitmapUnionPatternTest.java index a893f4c0a5..e069d63cd7 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/MVColumnBitmapUnionPatternTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/MVColumnBitmapUnionPatternTest.java @@ -22,6 +22,7 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.FunctionSet; import org.apache.doris.catalog.Type; import org.apache.doris.common.jmockit.Deencapsulation; +import org.apache.doris.datasource.InternalDataSource; import com.google.common.collect.Lists; import mockit.Expectations; @@ -32,10 +33,11 @@ import org.junit.Test; import java.util.List; public class MVColumnBitmapUnionPatternTest { + private static final String internalCtl = InternalDataSource.INTERNAL_DS_NAME; @Test public void testCorrectExpr1(@Injectable AggregateFunction aggregateFunction) { - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef = new SlotRef(tableName, "c1"); Deencapsulation.setField(slotRef, "type", Type.INT); List<Expr> child0Params = Lists.newArrayList(); @@ -51,7 +53,7 @@ public class MVColumnBitmapUnionPatternTest { @Test public void testCorrectExpr2(@Injectable CastExpr castExpr, @Injectable AggregateFunction aggregateFunction) { - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef = new SlotRef(tableName, "c1"); Deencapsulation.setField(slotRef, "type", Type.INT); new Expectations() { @@ -73,7 +75,7 @@ public class MVColumnBitmapUnionPatternTest { @Test public void testUpperCaseOfFunction(@Injectable AggregateFunction aggregateFunction) { - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef = new SlotRef(tableName, "c1"); Deencapsulation.setField(slotRef, "type", Type.INT); List<Expr> child0Params = Lists.newArrayList(); @@ -89,7 +91,7 @@ public class MVColumnBitmapUnionPatternTest { @Test public void testIncorrectArithmeticExpr1(@Injectable AggregateFunction aggregateFunction) { - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef1 = new SlotRef(tableName, "c1"); SlotRef slotRef2 = new SlotRef(tableName, "c2"); ArithmeticExpr arithmeticExpr = new ArithmeticExpr(ArithmeticExpr.Operator.ADD, slotRef1, slotRef2); @@ -103,7 +105,7 @@ public class MVColumnBitmapUnionPatternTest { @Test public void testIncorrectArithmeticExpr2(@Injectable AggregateFunction aggregateFunction) { - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef1 = new SlotRef(tableName, "c1"); SlotRef slotRef2 = new SlotRef(tableName, "c2"); ArithmeticExpr arithmeticExpr = new ArithmeticExpr(ArithmeticExpr.Operator.ADD, slotRef1, slotRef2); @@ -120,7 +122,7 @@ public class MVColumnBitmapUnionPatternTest { @Test public void testIncorrectDecimalSlotRef(@Injectable AggregateFunction aggregateFunction) { - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef1 = new SlotRef(tableName, "c1"); Deencapsulation.setField(slotRef1, "type", Type.DECIMALV2); List<Expr> child0Params = Lists.newArrayList(); @@ -137,7 +139,7 @@ public class MVColumnBitmapUnionPatternTest { @Test public void testAggTableBitmapColumn(@Injectable SlotDescriptor desc, @Injectable Column column, @Injectable AggregateFunction aggregateFunction) { - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef1 = new SlotRef(tableName, "c1"); List<Expr> params = Lists.newArrayList(); params.add(slotRef1); diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/MVColumnHLLUnionPatternTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/MVColumnHLLUnionPatternTest.java index 1ce612ea0b..a6ec161717 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/MVColumnHLLUnionPatternTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/MVColumnHLLUnionPatternTest.java @@ -22,6 +22,7 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.FunctionSet; import org.apache.doris.catalog.Type; import org.apache.doris.common.jmockit.Deencapsulation; +import org.apache.doris.datasource.InternalDataSource; import com.google.common.collect.Lists; import mockit.Expectations; @@ -32,10 +33,11 @@ import org.junit.Test; import java.util.List; public class MVColumnHLLUnionPatternTest { + private static final String internalCtl = InternalDataSource.INTERNAL_DS_NAME; @Test public void testCorrectExpr1(@Injectable AggregateFunction aggregateFunction) { - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef = new SlotRef(tableName, "c1"); List<Expr> child0Params = Lists.newArrayList(); child0Params.add(slotRef); @@ -50,7 +52,7 @@ public class MVColumnHLLUnionPatternTest { @Test public void testCorrectExpr2(@Injectable CastExpr castExpr, @Injectable AggregateFunction aggregateFunction) { - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef = new SlotRef(tableName, "c1"); new Expectations() { { @@ -71,7 +73,7 @@ public class MVColumnHLLUnionPatternTest { @Test public void testUpperCaseOfFunction(@Injectable AggregateFunction aggregateFunction) { - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef = new SlotRef(tableName, "c1"); List<Expr> child0Params = Lists.newArrayList(); child0Params.add(slotRef); @@ -111,7 +113,7 @@ public class MVColumnHLLUnionPatternTest { @Test public void testIncorrectDecimalSlotRef(@Injectable AggregateFunction aggregateFunction) { - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef = new SlotRef(tableName, "c1"); Deencapsulation.setField(slotRef, "type", Type.DECIMALV2); List<Expr> child0Params = Lists.newArrayList(); @@ -128,7 +130,7 @@ public class MVColumnHLLUnionPatternTest { @Test public void testAggTableHLLColumn(@Injectable SlotDescriptor desc, @Injectable Column column, @Injectable AggregateFunction aggregateFunction) { - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef1 = new SlotRef(tableName, "c1"); List<Expr> params = Lists.newArrayList(); params.add(slotRef1); diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/MVColumnOneChildPatternTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/MVColumnOneChildPatternTest.java index a11bc2aa77..159d00b817 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/MVColumnOneChildPatternTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/MVColumnOneChildPatternTest.java @@ -21,6 +21,7 @@ import org.apache.doris.catalog.AggregateFunction; import org.apache.doris.catalog.AggregateType; import org.apache.doris.catalog.FunctionSet; import org.apache.doris.common.jmockit.Deencapsulation; +import org.apache.doris.datasource.InternalDataSource; import com.google.common.collect.Lists; import mockit.Expectations; @@ -31,10 +32,11 @@ import org.junit.Test; import java.util.List; public class MVColumnOneChildPatternTest { + private static final String internalCtl = InternalDataSource.INTERNAL_DS_NAME; @Test public void testCorrectSum(@Injectable AggregateFunction aggregateFunction) { - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef = new SlotRef(tableName, "c1"); List<Expr> params = Lists.newArrayList(); params.add(slotRef); @@ -47,7 +49,7 @@ public class MVColumnOneChildPatternTest { @Test public void testCorrectMin(@Injectable CastExpr castExpr, @Injectable AggregateFunction aggregateFunction) { - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef = new SlotRef(tableName, "c1"); List<Expr> child0Params = Lists.newArrayList(); child0Params.add(slotRef); @@ -68,7 +70,7 @@ public class MVColumnOneChildPatternTest { @Test public void testCorrectCountField(@Injectable AggregateFunction aggregateFunction) { - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef = new SlotRef(tableName, "c1"); List<Expr> params = Lists.newArrayList(); params.add(slotRef); @@ -92,7 +94,7 @@ public class MVColumnOneChildPatternTest { @Test public void testIncorrectArithmeticExpr(@Injectable AggregateFunction aggregateFunction) { - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(internalCtl, "db", "table"); SlotRef slotRef1 = new SlotRef(tableName, "c1"); SlotRef slotRef2 = new SlotRef(tableName, "c2"); ArithmeticExpr arithmeticExpr = new ArithmeticExpr(ArithmeticExpr.Operator.ADD, slotRef1, slotRef2); diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowDataStmtTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowDataStmtTest.java index 39847b49a2..d1ab3aafe0 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowDataStmtTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowDataStmtTest.java @@ -149,7 +149,7 @@ public class ShowDataStmtTest { SlotRef slotRefTwo = new SlotRef(null, "Size"); OrderByElement orderByElementTwo = new OrderByElement(slotRefTwo, false, false); - stmt = new ShowDataStmt(new TableName("testDb", "test_tbl"), Arrays.asList(orderByElementOne, orderByElementTwo)); + stmt = new ShowDataStmt(new TableName(InternalDataSource.INTERNAL_DS_NAME, "testDb", "test_tbl"), Arrays.asList(orderByElementOne, orderByElementTwo)); stmt.analyze(analyzer); Assert.assertEquals("SHOW DATA FROM `default_cluster:testDb`.`test_tbl` ORDER BY `ReplicaCount` DESC, `Size` DESC", stmt.toString()); Assert.assertEquals(5, stmt.getMetaData().getColumnCount()); diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowIndexStmtTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowIndexStmtTest.java index 8b14a27130..c6de22c5f8 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowIndexStmtTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowIndexStmtTest.java @@ -19,6 +19,7 @@ package org.apache.doris.analysis; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.UserException; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.mysql.privilege.MockedAuth; import org.apache.doris.mysql.privilege.PaloAuth; import org.apache.doris.qe.ConnectContext; @@ -29,6 +30,7 @@ import org.junit.Before; import org.junit.Test; public class ShowIndexStmtTest { + private static final String internalCtl = InternalDataSource.INTERNAL_DS_NAME; private static Analyzer analyzer; @@ -46,23 +48,23 @@ public class ShowIndexStmtTest { @Test public void testNormal() throws UserException { - ShowIndexStmt stmt = new ShowIndexStmt("testDb", new TableName("", "testTbl")); + ShowIndexStmt stmt = new ShowIndexStmt("testDb", new TableName(internalCtl, "", "testTbl")); stmt.analyze(analyzer); Assert.assertEquals("SHOW INDEX FROM `testCluster:testDb`.`testTbl`", stmt.toSql()); - stmt = new ShowIndexStmt("", new TableName("", "testTbl")); + stmt = new ShowIndexStmt("", new TableName(internalCtl, "", "testTbl")); stmt.analyze(analyzer); Assert.assertEquals("SHOW INDEX FROM `testCluster:testDb`.`testTbl`", stmt.toSql()); - stmt = new ShowIndexStmt(null, new TableName("testDb", "testTbl")); + stmt = new ShowIndexStmt(null, new TableName(internalCtl, "testDb", "testTbl")); stmt.analyze(analyzer); Assert.assertEquals("SHOW INDEX FROM `testCluster:testDb`.`testTbl`", stmt.toSql()); - stmt = new ShowIndexStmt("testDb", new TableName("testDb2", "testTbl")); + stmt = new ShowIndexStmt("testDb", new TableName(internalCtl, "testDb2", "testTbl")); stmt.analyze(analyzer); Assert.assertEquals("SHOW INDEX FROM `testCluster:testDb`.`testTbl`", stmt.toSql()); } @Test(expected = AnalysisException.class) public void testNoTbl() throws UserException { - ShowIndexStmt stmt = new ShowIndexStmt("testDb", new TableName("", "")); + ShowIndexStmt stmt = new ShowIndexStmt("testDb", new TableName(internalCtl, "", "")); stmt.analyze(analyzer); } } diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowPartitionsStmtTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowPartitionsStmtTest.java index 6c40f6cc47..00da4264ea 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowPartitionsStmtTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowPartitionsStmtTest.java @@ -21,6 +21,7 @@ import org.apache.doris.catalog.Catalog; import org.apache.doris.catalog.FakeCatalog; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.UserException; +import org.apache.doris.datasource.InternalDataSource; import mockit.Expectations; import mockit.Mocked; @@ -34,6 +35,8 @@ import java.util.Arrays; public class ShowPartitionsStmtTest { + private static final String internalCtl = InternalDataSource.INTERNAL_DS_NAME; + @Mocked private Analyzer analyzer; private Catalog catalog; @@ -66,7 +69,7 @@ public class ShowPartitionsStmtTest { @Test public void testNormal() throws UserException { - ShowPartitionsStmt stmt = new ShowPartitionsStmt(new TableName("testDb", "testTable"), null, null, null, false); + ShowPartitionsStmt stmt = new ShowPartitionsStmt(new TableName(internalCtl, "testDb", "testTable"), null, null, null, false); stmt.analyzeImpl(analyzer); Assert.assertEquals("SHOW PARTITIONS FROM `testCluster:testDb`.`testTable`", stmt.toString()); } @@ -76,7 +79,7 @@ public class ShowPartitionsStmtTest { SlotRef slotRef = new SlotRef(null, "LastConsistencyCheckTime"); StringLiteral stringLiteral = new StringLiteral("2019-12-22 10:22:11"); BinaryPredicate binaryPredicate = new BinaryPredicate(BinaryPredicate.Operator.GT, slotRef, stringLiteral); - ShowPartitionsStmt stmt = new ShowPartitionsStmt(new TableName("testDb", "testTable"), binaryPredicate, null, null, false); + ShowPartitionsStmt stmt = new ShowPartitionsStmt(new TableName(internalCtl, "testDb", "testTable"), binaryPredicate, null, null, false); stmt.analyzeImpl(analyzer); Assert.assertEquals("SHOW PARTITIONS FROM `testCluster:testDb`.`testTable` WHERE `LastConsistencyCheckTime` > '2019-12-22 10:22:11'", stmt.toString()); } @@ -86,7 +89,7 @@ public class ShowPartitionsStmtTest { SlotRef slotRef = new SlotRef(null, "PartitionName"); StringLiteral stringLiteral = new StringLiteral("%p2019%"); LikePredicate likePredicate = new LikePredicate(LikePredicate.Operator.LIKE, slotRef, stringLiteral); - ShowPartitionsStmt stmt = new ShowPartitionsStmt(new TableName("testDb", "testTable"), likePredicate, null, null, false); + ShowPartitionsStmt stmt = new ShowPartitionsStmt(new TableName(internalCtl, "testDb", "testTable"), likePredicate, null, null, false); stmt.analyzeImpl(analyzer); Assert.assertEquals("SHOW PARTITIONS FROM `testCluster:testDb`.`testTable` WHERE `PartitionName` LIKE '%p2019%'", stmt.toString()); } @@ -96,7 +99,7 @@ public class ShowPartitionsStmtTest { SlotRef slotRef = new SlotRef(null, "PartitionId"); OrderByElement orderByElement = new OrderByElement(slotRef, true, false); LimitElement limitElement = new LimitElement(10); - ShowPartitionsStmt stmt = new ShowPartitionsStmt(new TableName("testDb", "testTable"), null, Arrays.asList(orderByElement), limitElement, false); + ShowPartitionsStmt stmt = new ShowPartitionsStmt(new TableName(internalCtl, "testDb", "testTable"), null, Arrays.asList(orderByElement), limitElement, false); stmt.analyzeImpl(analyzer); Assert.assertEquals("SHOW PARTITIONS FROM `testCluster:testDb`.`testTable` ORDER BY `PartitionId` ASC LIMIT 10", stmt.toString()); } @@ -106,7 +109,7 @@ public class ShowPartitionsStmtTest { SlotRef slotRef = new SlotRef(null, "DataSize"); StringLiteral stringLiteral = new StringLiteral("3.2 GB"); BinaryPredicate binaryPredicate = new BinaryPredicate(BinaryPredicate.Operator.EQ, slotRef, stringLiteral); - ShowPartitionsStmt stmt = new ShowPartitionsStmt(new TableName("testDb", "testTable"), binaryPredicate, null, null, false); + ShowPartitionsStmt stmt = new ShowPartitionsStmt(new TableName(internalCtl, "testDb", "testTable"), binaryPredicate, null, null, false); expectedEx.expect(AnalysisException.class); expectedEx.expectMessage("Only the columns of PartitionId/PartitionName/" + "State/Buckets/ReplicationNum/LastConsistencyCheckTime are supported."); diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowRollupStmtTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowRollupStmtTest.java index 9647ac54a5..d145c9bdb4 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowRollupStmtTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowRollupStmtTest.java @@ -18,12 +18,14 @@ package org.apache.doris.analysis; import org.apache.doris.common.AnalysisException; +import org.apache.doris.datasource.InternalDataSource; import org.junit.Assert; import org.junit.Before; import org.junit.Test; public class ShowRollupStmtTest { + private static final String internalCtl = InternalDataSource.INTERNAL_DS_NAME; private Analyzer analyzer; @Before @@ -34,21 +36,21 @@ public class ShowRollupStmtTest { @Test public void testNormal() throws AnalysisException { // use default database - ShowRollupStmt stmt = new ShowRollupStmt(new TableName("", "tbl"), ""); + ShowRollupStmt stmt = new ShowRollupStmt(new TableName(internalCtl, "", "tbl"), ""); stmt.analyze(analyzer); Assert.assertEquals("testCluster:testDb", stmt.getDb()); Assert.assertEquals("tbl", stmt.getTbl()); Assert.assertEquals("SHOW ROLLUP FROM `testCluster:testDb`.`tbl`", stmt.toString()); // use table database - stmt = new ShowRollupStmt(new TableName("testDb1", "tbl"), ""); + stmt = new ShowRollupStmt(new TableName(internalCtl, "testDb1", "tbl"), ""); stmt.analyze(analyzer); Assert.assertEquals("testCluster:testDb1", stmt.getDb()); Assert.assertEquals("tbl", stmt.getTbl()); Assert.assertEquals("SHOW ROLLUP FROM `testCluster:testDb1`.`tbl`", stmt.toString()); // use db database - stmt = new ShowRollupStmt(new TableName("testDb1", "tbl"), "testDb2"); + stmt = new ShowRollupStmt(new TableName(internalCtl, "testDb1", "tbl"), "testDb2"); stmt.analyze(analyzer); Assert.assertEquals("testCluster:testDb2", stmt.getDb()); Assert.assertEquals("tbl", stmt.getTbl()); @@ -58,7 +60,7 @@ public class ShowRollupStmtTest { @Test(expected = AnalysisException.class) public void testNoTbl() throws AnalysisException { // use default database - ShowRollupStmt stmt = new ShowRollupStmt(new TableName("testDb", ""), ""); + ShowRollupStmt stmt = new ShowRollupStmt(new TableName(internalCtl, "testDb", ""), ""); stmt.analyze(analyzer); Assert.fail("No exception throws."); } diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowViewStmtTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowViewStmtTest.java index 4c5181fad3..3516380d3b 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowViewStmtTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/ShowViewStmtTest.java @@ -19,6 +19,7 @@ package org.apache.doris.analysis; import org.apache.doris.common.UserException; import org.apache.doris.common.util.SqlParserUtils; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.qe.ConnectContext; import org.apache.doris.qe.ShowExecutor; import org.apache.doris.qe.ShowResultSet; @@ -38,6 +39,7 @@ import java.util.Set; import java.util.UUID; public class ShowViewStmtTest { + private static final String internalCtl = InternalDataSource.INTERNAL_DS_NAME; private static String runningDir = "fe/mocked/ShowViewTest/" + UUID.randomUUID().toString() + "/"; private static DorisAssert dorisAssert; @@ -96,7 +98,7 @@ public class ShowViewStmtTest { @Test public void testNormal() throws Exception { ConnectContext ctx = UtFrameUtils.createDefaultCtx(); - ShowViewStmt stmt = new ShowViewStmt("", new TableName("testDb", "test1")); + ShowViewStmt stmt = new ShowViewStmt("", new TableName(internalCtl, "testDb", "test1")); stmt.analyze(new Analyzer(ctx.getCatalog(), ctx)); Assert.assertEquals("SHOW VIEW FROM `default_cluster:testDb`.`test1`", stmt.toString()); Assert.assertEquals("default_cluster:testDb", stmt.getDb()); @@ -109,7 +111,7 @@ public class ShowViewStmtTest { @Test(expected = UserException.class) public void testNoDb() throws Exception { ConnectContext ctx = UtFrameUtils.createDefaultCtx(); - ShowViewStmt stmt = new ShowViewStmt("", new TableName("", "testTbl")); + ShowViewStmt stmt = new ShowViewStmt("", new TableName(internalCtl, "", "testTbl")); stmt.analyze(new Analyzer(ctx.getCatalog(), ctx)); Assert.fail(); } @@ -121,7 +123,7 @@ public class ShowViewStmtTest { + "SELECT a, b FROM test1;"; dorisAssert.withView(testView1); - ShowViewStmt stmt = new ShowViewStmt("", new TableName("testDb", "test1")); + ShowViewStmt stmt = new ShowViewStmt("", new TableName(internalCtl, "testDb", "test1")); stmt.analyze(new Analyzer(ctx.getCatalog(), ctx)); ShowExecutor executor = new ShowExecutor(ctx, stmt); ShowResultSet resultSet = executor.execute(); @@ -143,7 +145,7 @@ public class ShowViewStmtTest { + "ON test1.a = test2.c;"; dorisAssert.withView(testView2); - ShowViewStmt stmt = new ShowViewStmt("", new TableName("testDb", "test1")); + ShowViewStmt stmt = new ShowViewStmt("", new TableName(internalCtl, "testDb", "test1")); stmt.analyze(new Analyzer(ctx.getCatalog(), ctx)); ShowExecutor executor = new ShowExecutor(ctx, stmt); ShowResultSet resultSet = executor.execute(); @@ -153,7 +155,7 @@ public class ShowViewStmtTest { Assert.assertEquals("view2", resultSet.getString(0)); Assert.assertFalse(resultSet.next()); - stmt = new ShowViewStmt("", new TableName("testDb", "test2")); + stmt = new ShowViewStmt("", new TableName(internalCtl, "testDb", "test2")); stmt.analyze(new Analyzer(ctx.getCatalog(), ctx)); executor = new ShowExecutor(ctx, stmt); resultSet = executor.execute(); @@ -176,7 +178,7 @@ public class ShowViewStmtTest { + "ON test1.a = test4.e;"; dorisAssert.withView(testView3); - ShowViewStmt stmt = new ShowViewStmt("", new TableName("testDb", "test1")); + ShowViewStmt stmt = new ShowViewStmt("", new TableName(internalCtl, "testDb", "test1")); stmt.analyze(new Analyzer(ctx.getCatalog(), ctx)); ShowExecutor executor = new ShowExecutor(ctx, stmt); ShowResultSet resultSet = executor.execute(); @@ -186,7 +188,7 @@ public class ShowViewStmtTest { Assert.assertEquals("view3", resultSet.getString(0)); Assert.assertFalse(resultSet.next()); - stmt = new ShowViewStmt("", new TableName("testDb", "test2")); + stmt = new ShowViewStmt("", new TableName(internalCtl, "testDb", "test2")); stmt.analyze(new Analyzer(ctx.getCatalog(), ctx)); executor = new ShowExecutor(ctx, stmt); resultSet = executor.execute(); @@ -196,7 +198,7 @@ public class ShowViewStmtTest { Assert.assertEquals("view3", resultSet.getString(0)); Assert.assertFalse(resultSet.next()); - stmt = new ShowViewStmt("", new TableName("testDb", "test3")); + stmt = new ShowViewStmt("", new TableName(internalCtl, "testDb", "test3")); stmt.analyze(new Analyzer(ctx.getCatalog(), ctx)); executor = new ShowExecutor(ctx, stmt); resultSet = executor.execute(); @@ -221,7 +223,7 @@ public class ShowViewStmtTest { dorisAssert.withView(testView4); dorisAssert.withView(testView5); - ShowViewStmt stmt = new ShowViewStmt("", new TableName("testDb", "test1")); + ShowViewStmt stmt = new ShowViewStmt("", new TableName(internalCtl, "testDb", "test1")); stmt.analyze(new Analyzer(ctx.getCatalog(), ctx)); ShowExecutor executor = new ShowExecutor(ctx, stmt); ShowResultSet resultSet = executor.execute(); diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/UpdateStmtTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/UpdateStmtTest.java index 164ad7477a..84aa429688 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/UpdateStmtTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/UpdateStmtTest.java @@ -18,6 +18,7 @@ package org.apache.doris.analysis; import org.apache.doris.common.UserException; +import org.apache.doris.datasource.InternalDataSource; import com.google.common.collect.Lists; import mockit.Expectations; @@ -31,7 +32,7 @@ public class UpdateStmtTest { @Test public void testAnalyze(@Injectable Analyzer analyzer) { - TableName tableName = new TableName("db", "table"); + TableName tableName = new TableName(InternalDataSource.INTERNAL_DS_NAME, "db", "table"); IntLiteral intLiteral = new IntLiteral(1); SlotRef slotRef = new SlotRef(tableName, "c1"); BinaryPredicate binaryPredicate = new BinaryPredicate(BinaryPredicate.Operator.EQ, intLiteral, slotRef); diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/VirtualSlotRefTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/VirtualSlotRefTest.java index f7db83e944..88925f7cae 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/analysis/VirtualSlotRefTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/VirtualSlotRefTest.java @@ -20,6 +20,7 @@ package org.apache.doris.analysis; import org.apache.doris.catalog.Type; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.FeMetaVersion; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.meta.MetaContext; import com.google.common.collect.ArrayListMultimap; @@ -59,7 +60,7 @@ public class VirtualSlotRefTest { String[] cols = {"k1", "k2", "k3"}; slots = new ArrayList<>(); for (String col : cols) { - SlotRef expr = new SlotRef(new TableName("testdb", "t"), col); + SlotRef expr = new SlotRef(new TableName(InternalDataSource.INTERNAL_DS_NAME, "testdb", "t"), col); slots.add(expr); } try { @@ -67,7 +68,7 @@ public class VirtualSlotRefTest { f.setAccessible(true); Multimap<String, TupleDescriptor> tupleByAlias = ArrayListMultimap.create(); TupleDescriptor td = new TupleDescriptor(new TupleId(0)); - TableName tableName = new TableName("testdb", "t"); + TableName tableName = new TableName(InternalDataSource.INTERNAL_DS_NAME, "testdb", "t"); tableName.analyze(analyzerBase); td.setTable(analyzerBase.getTableOrAnalysisException(tableName)); tupleByAlias.put("testdb.t", td); diff --git a/fe/fe-core/src/test/java/org/apache/doris/backup/BackupHandlerTest.java b/fe/fe-core/src/test/java/org/apache/doris/backup/BackupHandlerTest.java index 4b7ead4069..e2998583e0 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/backup/BackupHandlerTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/backup/BackupHandlerTest.java @@ -251,7 +251,7 @@ public class BackupHandlerTest { // process backup List<TableRef> tblRefs = Lists.newArrayList(); - tblRefs.add(new TableRef(new TableName(CatalogMocker.TEST_DB_NAME, CatalogMocker.TEST_TBL_NAME), null)); + tblRefs.add(new TableRef(new TableName(InternalDataSource.INTERNAL_DS_NAME, CatalogMocker.TEST_DB_NAME, CatalogMocker.TEST_TBL_NAME), null)); AbstractBackupTableRefClause tableRefClause = new AbstractBackupTableRefClause(false, tblRefs); BackupStmt backupStmt = new BackupStmt(new LabelName(CatalogMocker.TEST_DB_NAME, "label1"), "repo", tableRefClause, null); @@ -297,7 +297,7 @@ public class BackupHandlerTest { // process restore List<TableRef> tblRefs2 = Lists.newArrayList(); - tblRefs2.add(new TableRef(new TableName(CatalogMocker.TEST_DB_NAME, CatalogMocker.TEST_TBL_NAME), null)); + tblRefs2.add(new TableRef(new TableName(InternalDataSource.INTERNAL_DS_NAME, CatalogMocker.TEST_DB_NAME, CatalogMocker.TEST_TBL_NAME), null)); Map<String, String> properties = Maps.newHashMap(); properties.put("backup_timestamp", "2018-08-08-08-08-08"); AbstractBackupTableRefClause abstractBackupTableRefClause = new AbstractBackupTableRefClause(false, tblRefs2); diff --git a/fe/fe-core/src/test/java/org/apache/doris/backup/BackupJobTest.java b/fe/fe-core/src/test/java/org/apache/doris/backup/BackupJobTest.java index 368d64a678..19e60076be 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/backup/BackupJobTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/backup/BackupJobTest.java @@ -207,7 +207,7 @@ public class BackupJobTest { }; List<TableRef> tableRefs = Lists.newArrayList(); - tableRefs.add(new TableRef(new TableName(UnitTestUtil.DB_NAME, UnitTestUtil.TABLE_NAME), null)); + tableRefs.add(new TableRef(new TableName(InternalDataSource.INTERNAL_DS_NAME, UnitTestUtil.DB_NAME, UnitTestUtil.TABLE_NAME), null)); job = new BackupJob("label", dbId, UnitTestUtil.DB_NAME, tableRefs, 13600 * 1000, BackupStmt.BackupContent.ALL, catalog, repo.getId()); } @@ -342,7 +342,7 @@ public class BackupJobTest { AgentTaskQueue.clearAllTasks(); List<TableRef> tableRefs = Lists.newArrayList(); - tableRefs.add(new TableRef(new TableName(UnitTestUtil.DB_NAME, "unknown_tbl"), null)); + tableRefs.add(new TableRef(new TableName(InternalDataSource.INTERNAL_DS_NAME, UnitTestUtil.DB_NAME, "unknown_tbl"), null)); job = new BackupJob("label", dbId, UnitTestUtil.DB_NAME, tableRefs, 13600 * 1000, BackupStmt.BackupContent.ALL, catalog, repo.getId()); job.run(); diff --git a/fe/fe-core/src/test/java/org/apache/doris/catalog/HiveMetaStoreClientHelperTest.java b/fe/fe-core/src/test/java/org/apache/doris/catalog/HiveMetaStoreClientHelperTest.java index e0aa1fdea7..0c0a18f0fa 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/catalog/HiveMetaStoreClientHelperTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/catalog/HiveMetaStoreClientHelperTest.java @@ -52,7 +52,7 @@ public class HiveMetaStoreClientHelperTest { @BeforeClass public static void beforeAll() { tableNameString = "test_table"; - tableName = new TableName("", tableNameString); + tableName = new TableName("hive", "", tableNameString); partitionKeys.add(p1); partitionKeys.add(p2); } diff --git a/fe/fe-core/src/test/java/org/apache/doris/catalog/MaterializedIndexMetaTest.java b/fe/fe-core/src/test/java/org/apache/doris/catalog/MaterializedIndexMetaTest.java index f95e573d02..1c0e1fd584 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/catalog/MaterializedIndexMetaTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/catalog/MaterializedIndexMetaTest.java @@ -24,6 +24,7 @@ import org.apache.doris.analysis.FunctionName; import org.apache.doris.analysis.SlotRef; import org.apache.doris.analysis.TableName; import org.apache.doris.common.AnalysisException; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.qe.OriginStatement; import org.apache.doris.thrift.TStorageType; @@ -90,7 +91,7 @@ public class MaterializedIndexMetaTest { out.close(); List<Expr> params = Lists.newArrayList(); - SlotRef param1 = new SlotRef(new TableName(null, "test"), "c1"); + SlotRef param1 = new SlotRef(new TableName(InternalDataSource.INTERNAL_DS_NAME, null, "test"), "c1"); params.add(param1); Map<String, Expr> columnNameToDefineExpr = Maps.newHashMap(); columnNameToDefineExpr.put(mvColumnName, new FunctionCallExpr(new FunctionName("to_bitmap"), params)); diff --git a/fe/fe-core/src/test/java/org/apache/doris/common/proc/IndexSchemaProcNodeTest.java b/fe/fe-core/src/test/java/org/apache/doris/common/proc/IndexSchemaProcNodeTest.java index 45cbac8388..03c39f86bf 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/common/proc/IndexSchemaProcNodeTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/common/proc/IndexSchemaProcNodeTest.java @@ -24,6 +24,7 @@ import org.apache.doris.catalog.AggregateType; import org.apache.doris.catalog.Column; import org.apache.doris.catalog.Type; import org.apache.doris.common.AnalysisException; +import org.apache.doris.datasource.InternalDataSource; import com.google.common.collect.Lists; import org.junit.Assert; @@ -38,7 +39,7 @@ public class IndexSchemaProcNodeTest { List<Column> columnList = Lists.newArrayList(); Column column1 = new Column("k1", Type.INT, true, null, true, "", ""); Column column2 = new Column("mv_bitmap_union_v1", Type.BITMAP, false, AggregateType.BITMAP_UNION, true, "", ""); - TableName tableName = new TableName("db1", "t1"); + TableName tableName = new TableName(InternalDataSource.INTERNAL_DS_NAME, "db1", "t1"); SlotRef slotRef = new SlotRef(tableName, "v1"); FunctionCallExpr functionCallExpr = new FunctionCallExpr("to_bitmap", Lists.newArrayList(slotRef)); column2.setDefineExpr(functionCallExpr); diff --git a/fe/fe-core/src/test/java/org/apache/doris/load/DeleteHandlerTest.java b/fe/fe-core/src/test/java/org/apache/doris/load/DeleteHandlerTest.java index 4d165cad02..6dad05a45b 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/load/DeleteHandlerTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/load/DeleteHandlerTest.java @@ -70,6 +70,7 @@ import java.util.Set; import java.util.concurrent.TimeUnit; public class DeleteHandlerTest { + private static final String internalCtl = InternalDataSource.INTERNAL_DS_NAME; private DeleteHandler deleteHandler; @@ -199,7 +200,7 @@ public class DeleteHandlerTest { BinaryPredicate binaryPredicate = new BinaryPredicate(BinaryPredicate.Operator.GT, new SlotRef(null, "k1"), new IntLiteral(3)); - DeleteStmt deleteStmt = new DeleteStmt(new TableName("test_db", "test_tbl"), + DeleteStmt deleteStmt = new DeleteStmt(new TableName(internalCtl, "test_db", "test_tbl"), new PartitionNames(false, Lists.newArrayList("test_tbl")), binaryPredicate); new Expectations(globalTransactionMgr) { @@ -226,7 +227,7 @@ public class DeleteHandlerTest { BinaryPredicate binaryPredicate = new BinaryPredicate(BinaryPredicate.Operator.GT, new SlotRef(null, "k1"), new IntLiteral(3)); - DeleteStmt deleteStmt = new DeleteStmt(new TableName("test_db", "test_tbl"), + DeleteStmt deleteStmt = new DeleteStmt(new TableName(internalCtl, "test_db", "test_tbl"), new PartitionNames(false, Lists.newArrayList("test_tbl")), binaryPredicate); Set<Replica> finishedReplica = Sets.newHashSet(); @@ -275,7 +276,7 @@ public class DeleteHandlerTest { BinaryPredicate binaryPredicate = new BinaryPredicate(BinaryPredicate.Operator.GT, new SlotRef(null, "k1"), new IntLiteral(3)); - DeleteStmt deleteStmt = new DeleteStmt(new TableName("test_db", "test_tbl"), + DeleteStmt deleteStmt = new DeleteStmt(new TableName(internalCtl, "test_db", "test_tbl"), new PartitionNames(false, Lists.newArrayList("test_tbl")), binaryPredicate); Set<Replica> finishedReplica = Sets.newHashSet(); @@ -326,7 +327,7 @@ public class DeleteHandlerTest { BinaryPredicate binaryPredicate = new BinaryPredicate(BinaryPredicate.Operator.GT, new SlotRef(null, "k1"), new IntLiteral(3)); - DeleteStmt deleteStmt = new DeleteStmt(new TableName("test_db", "test_tbl"), + DeleteStmt deleteStmt = new DeleteStmt(new TableName(internalCtl, "test_db", "test_tbl"), new PartitionNames(false, Lists.newArrayList("test_tbl")), binaryPredicate); Set<Replica> finishedReplica = Sets.newHashSet(); @@ -391,7 +392,7 @@ public class DeleteHandlerTest { BinaryPredicate binaryPredicate = new BinaryPredicate(BinaryPredicate.Operator.GT, new SlotRef(null, "k1"), new IntLiteral(3)); - DeleteStmt deleteStmt = new DeleteStmt(new TableName("test_db", "test_tbl"), + DeleteStmt deleteStmt = new DeleteStmt(new TableName(internalCtl, "test_db", "test_tbl"), new PartitionNames(false, Lists.newArrayList("test_tbl")), binaryPredicate); Set<Replica> finishedReplica = Sets.newHashSet(); @@ -450,7 +451,7 @@ public class DeleteHandlerTest { BinaryPredicate binaryPredicate = new BinaryPredicate(BinaryPredicate.Operator.GT, new SlotRef(null, "k1"), new IntLiteral(3)); - DeleteStmt deleteStmt = new DeleteStmt(new TableName("test_db", "test_tbl"), + DeleteStmt deleteStmt = new DeleteStmt(new TableName(internalCtl, "test_db", "test_tbl"), new PartitionNames(false, Lists.newArrayList("test_tbl")), binaryPredicate); Set<Replica> finishedReplica = Sets.newHashSet(); diff --git a/fe/fe-core/src/test/java/org/apache/doris/load/loadv2/ExportMgrTest.java b/fe/fe-core/src/test/java/org/apache/doris/load/loadv2/ExportMgrTest.java index ba479b75b7..547eed3a2e 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/load/loadv2/ExportMgrTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/load/loadv2/ExportMgrTest.java @@ -21,6 +21,7 @@ import org.apache.doris.analysis.BrokerDesc; import org.apache.doris.analysis.LoadStmt; import org.apache.doris.analysis.TableName; import org.apache.doris.common.jmockit.Deencapsulation; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.load.ExportJob; import org.apache.doris.load.ExportMgr; import org.apache.doris.mysql.privilege.MockedAuth; @@ -82,7 +83,7 @@ public class ExportMgrTest { ExportJob job1 = new ExportJob(id); Deencapsulation.setField(job1, "label", label); - TableName tbl1 = new TableName("testCluster", "testDb"); + TableName tbl1 = new TableName(InternalDataSource.INTERNAL_DS_NAME, "testCluster", "testDb"); Deencapsulation.setField(job1, "tableName", tbl1); BrokerDesc bd = new BrokerDesc("broker", new HashMap<>()); diff --git a/fe/fe-core/src/test/java/org/apache/doris/load/update/UpdateStmtExecutorTest.java b/fe/fe-core/src/test/java/org/apache/doris/load/update/UpdateStmtExecutorTest.java index f8a3a8b7ac..841f54d440 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/load/update/UpdateStmtExecutorTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/load/update/UpdateStmtExecutorTest.java @@ -30,6 +30,7 @@ import org.apache.doris.catalog.OlapTable; import org.apache.doris.cluster.Cluster; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.jmockit.Deencapsulation; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.qe.Coordinator; import org.apache.doris.thrift.TUniqueId; import org.apache.doris.transaction.GlobalTransactionMgr; @@ -67,7 +68,7 @@ public class UpdateStmtExecutorTest { @Mocked Catalog catalog, @Injectable Database db, @Injectable Analyzer analyzer) throws AnalysisException { - TableName tableName = new TableName("db", "test"); + TableName tableName = new TableName(InternalDataSource.INTERNAL_DS_NAME, "db", "test"); List<Expr> setExprs = Lists.newArrayList(); SlotRef slotRef = new SlotRef(tableName, "v1"); IntLiteral intLiteral = new IntLiteral(1); diff --git a/fe/fe-core/src/test/java/org/apache/doris/planner/MaterializedViewSelectorTest.java b/fe/fe-core/src/test/java/org/apache/doris/planner/MaterializedViewSelectorTest.java index 7a31808de5..6f8d711c0e 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/planner/MaterializedViewSelectorTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/planner/MaterializedViewSelectorTest.java @@ -34,6 +34,7 @@ import org.apache.doris.catalog.OlapTable; import org.apache.doris.catalog.Table; import org.apache.doris.catalog.Type; import org.apache.doris.common.jmockit.Deencapsulation; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.thrift.TStorageType; import com.google.common.collect.Lists; @@ -49,7 +50,7 @@ import java.util.Map; import java.util.Set; public class MaterializedViewSelectorTest { - + private static final String internalCtl = InternalDataSource.INTERNAL_DS_NAME; @Test public void initTest(@Injectable SelectStmt selectStmt, @@ -62,8 +63,8 @@ public class MaterializedViewSelectorTest { @Injectable TupleDescriptor tableBDesc, @Injectable Table tableB, @Injectable Analyzer analyzer) { - TableName tableAName = new TableName("test", "tableA"); - TableName tableBName = new TableName("test", "tableB"); + TableName tableAName = new TableName(internalCtl, "test", "tableA"); + TableName tableBName = new TableName(internalCtl, "test", "tableB"); SlotRef tableAColumn1 = new SlotRef(tableAName, "c1"); Deencapsulation.setField(tableAColumn1, "isAnalyzed", true); SlotRef tableAColumn2 = new SlotRef(tableAName, "c2"); @@ -292,7 +293,7 @@ public class MaterializedViewSelectorTest { }; MaterializedViewSelector selector = new MaterializedViewSelector(selectStmt, analyzer); - TableName tableName = new TableName("db1", "table1"); + TableName tableName = new TableName(internalCtl, "db1", "table1"); SlotRef slotRef = new SlotRef(tableName, "C1"); FunctionCallExpr functionCallExpr = new FunctionCallExpr("sum", Lists.newArrayList(slotRef)); Set<FunctionCallExpr> aggregatedColumnsInQueryOutput = Sets.newHashSet(); diff --git a/fe/fe-core/src/test/java/org/apache/doris/planner/OlapScanNodeTest.java b/fe/fe-core/src/test/java/org/apache/doris/planner/OlapScanNodeTest.java index 0fa0d0942d..54befb0da3 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/planner/OlapScanNodeTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/planner/OlapScanNodeTest.java @@ -26,6 +26,7 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.PartitionKey; import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.common.AnalysisException; +import org.apache.doris.datasource.InternalDataSource; import com.google.common.collect.Lists; import com.google.common.collect.Maps; @@ -54,7 +55,7 @@ public class OlapScanNodeTest { List<Expr> inList = Lists.newArrayList(); inList.add(new IntLiteral(1)); - Expr compareExpr = new SlotRef(new TableName("db", "tableName"), "columnA"); + Expr compareExpr = new SlotRef(new TableName(InternalDataSource.INTERNAL_DS_NAME, "db", "tableName"), "columnA"); InPredicate inPredicate = new InPredicate(compareExpr, inList, false); PartitionColumnFilter columnFilter = new PartitionColumnFilter(); @@ -96,7 +97,7 @@ public class OlapScanNodeTest { inList.add(new IntLiteral(5)); inList.add(new IntLiteral(6)); - Expr compareExpr = new SlotRef(new TableName("db", "tableName"), "columnA"); + Expr compareExpr = new SlotRef(new TableName(InternalDataSource.INTERNAL_DS_NAME, "db", "tableName"), "columnA"); InPredicate inPredicate = new InPredicate(compareExpr, inList, false); PartitionColumnFilter columnFilter = new PartitionColumnFilter(); diff --git a/fe/fe-core/src/test/java/org/apache/doris/planner/RepeatNodeTest.java b/fe/fe-core/src/test/java/org/apache/doris/planner/RepeatNodeTest.java index 841155d42e..815d30620c 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/planner/RepeatNodeTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/planner/RepeatNodeTest.java @@ -25,6 +25,7 @@ import org.apache.doris.analysis.SlotRef; import org.apache.doris.analysis.TableName; import org.apache.doris.analysis.TupleDescriptor; import org.apache.doris.analysis.TupleId; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.thrift.TExplainLevel; import org.apache.doris.thrift.TPlanNode; import org.apache.doris.thrift.TPlanNodeType; @@ -55,7 +56,7 @@ public class RepeatNodeTest { String[] cols = {"k1", "k2", "k3"}; List<SlotRef> slots = new ArrayList<>(); for (String col : cols) { - SlotRef expr = new SlotRef(new TableName("testdb", "t"), col); + SlotRef expr = new SlotRef(new TableName(InternalDataSource.INTERNAL_DS_NAME, "testdb", "t"), col); slots.add(expr); } try { @@ -63,7 +64,7 @@ public class RepeatNodeTest { f.setAccessible(true); Multimap<String, TupleDescriptor> tupleByAlias = ArrayListMultimap.create(); TupleDescriptor td = new TupleDescriptor(new TupleId(0)); - td.setTable(analyzerBase.getTableOrAnalysisException(new TableName("testdb", "t"))); + td.setTable(analyzerBase.getTableOrAnalysisException(new TableName(InternalDataSource.INTERNAL_DS_NAME, "testdb", "t"))); tupleByAlias.put("testdb.t", td); f.set(analyzer, tupleByAlias); } catch (NoSuchFieldException | IllegalAccessException e) { diff --git a/fe/fe-core/src/test/java/org/apache/doris/planner/RuntimeFilterGeneratorTest.java b/fe/fe-core/src/test/java/org/apache/doris/planner/RuntimeFilterGeneratorTest.java index 2924e820f9..8ad989c578 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/planner/RuntimeFilterGeneratorTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/planner/RuntimeFilterGeneratorTest.java @@ -35,6 +35,7 @@ import org.apache.doris.catalog.PrimitiveType; import org.apache.doris.catalog.Table; import org.apache.doris.common.UserException; import org.apache.doris.common.jmockit.Deencapsulation; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.qe.ConnectContext; import org.apache.doris.thrift.TPartitionType; @@ -72,7 +73,7 @@ public class RuntimeFilterGeneratorTest { TupleDescriptor lhsTupleDescriptor = new TupleDescriptor(new TupleId(0)); lhsScanNode = new OlapScanNode(new PlanNodeId(0), lhsTupleDescriptor, "LEFT SCAN"); - TableName lhsTableName = new TableName("default_cluster:test_db", "test_lhs_tbl"); + TableName lhsTableName = new TableName(InternalDataSource.INTERNAL_DS_NAME, "default_cluster:test_db", "test_lhs_tbl"); SlotRef lhsExpr = new SlotRef(lhsTableName, "test_lhs_col"); SlotDescriptor lhsSlotDescriptor = new SlotDescriptor(new SlotId(0), lhsTupleDescriptor); Column k1 = new Column("test_lhs_col", PrimitiveType.BIGINT); @@ -86,7 +87,7 @@ public class RuntimeFilterGeneratorTest { TupleDescriptor rhsTupleDescriptor = new TupleDescriptor(new TupleId(1)); rhsScanNode = new OlapScanNode(new PlanNodeId(1), rhsTupleDescriptor, "RIGHT SCAN"); - TableName rhsTableName = new TableName("default_cluster:test_db", "test_rhs_tbl"); + TableName rhsTableName = new TableName(InternalDataSource.INTERNAL_DS_NAME, "default_cluster:test_db", "test_rhs_tbl"); SlotRef rhsExpr = new SlotRef(rhsTableName, "test_rhs_col"); SlotDescriptor rhsSlotDescriptor = new SlotDescriptor(new SlotId(1), rhsTupleDescriptor); Column k2 = new Column("test_rhs_col", PrimitiveType.INT); diff --git a/fe/fe-core/src/test/java/org/apache/doris/planner/UpdatePlannerTest.java b/fe/fe-core/src/test/java/org/apache/doris/planner/UpdatePlannerTest.java index ee79d80c7c..925da2d4ce 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/planner/UpdatePlannerTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/planner/UpdatePlannerTest.java @@ -33,6 +33,7 @@ import org.apache.doris.catalog.OlapTable; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.IdGenerator; import org.apache.doris.common.jmockit.Deencapsulation; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.load.update.UpdatePlanner; import com.google.common.collect.Lists; @@ -62,7 +63,7 @@ public class UpdatePlannerTest { @Injectable Column shadowV1, @Injectable Analyzer analyzer) { List<Expr> setExprs = Lists.newArrayList(); - TableName tableName = new TableName(null, "test"); + TableName tableName = new TableName(InternalDataSource.INTERNAL_DS_NAME, null, "test"); SlotRef slotRef = new SlotRef(tableName, "V1"); IntLiteral intLiteral = new IntLiteral(1); BinaryPredicate binaryPredicate = new BinaryPredicate(BinaryPredicate.Operator.EQ, @@ -124,7 +125,7 @@ public class UpdatePlannerTest { @Injectable Column newV2, @Injectable Analyzer analyzer) throws AnalysisException { List<Expr> setExprs = Lists.newArrayList(); - TableName tableName = new TableName(null, "test"); + TableName tableName = new TableName(InternalDataSource.INTERNAL_DS_NAME, null, "test"); SlotRef slotRef = new SlotRef(tableName, "V1"); IntLiteral intLiteral = new IntLiteral(1); BinaryPredicate binaryPredicate = new BinaryPredicate(BinaryPredicate.Operator.EQ, diff --git a/fe/fe-core/src/test/java/org/apache/doris/qe/ShowExecutorTest.java b/fe/fe-core/src/test/java/org/apache/doris/qe/ShowExecutorTest.java index 00cc083a91..fb5181b96e 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/qe/ShowExecutorTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/qe/ShowExecutorTest.java @@ -74,6 +74,7 @@ import java.util.List; import java.util.function.Function; public class ShowExecutorTest { + private static final String internalCtl = InternalDataSource.INTERNAL_DS_NAME; private ConnectContext ctx; private Catalog catalog; private InternalDataSource ds; @@ -344,7 +345,7 @@ public class ShowExecutorTest { } }; - DescribeStmt stmt = new DescribeStmt(new TableName("testCluster:testDb", "testTbl"), false); + DescribeStmt stmt = new DescribeStmt(new TableName(internalCtl, "testCluster:testDb", "testTbl"), false); try { stmt.analyze(analyzer); } catch (Exception e) { @@ -444,7 +445,7 @@ public class ShowExecutorTest { @Test(expected = AnalysisException.class) public void testShowCreateTableEmptyDb() throws AnalysisException { - ShowCreateTableStmt stmt = new ShowCreateTableStmt(new TableName("testCluster:emptyDb", "testTable")); + ShowCreateTableStmt stmt = new ShowCreateTableStmt(new TableName(internalCtl, "testCluster:emptyDb", "testTable")); ShowExecutor executor = new ShowExecutor(ctx, stmt); executor.execute(); @@ -453,7 +454,7 @@ public class ShowExecutorTest { @Test(expected = AnalysisException.class) public void testShowCreateTableEmptyTbl() throws AnalysisException { - ShowCreateTableStmt stmt = new ShowCreateTableStmt(new TableName("testCluster:testDb", "emptyTable")); + ShowCreateTableStmt stmt = new ShowCreateTableStmt(new TableName(internalCtl, "testCluster:testDb", "emptyTable")); ShowExecutor executor = new ShowExecutor(ctx, stmt); ShowResultSet resultSet = executor.execute(); @@ -464,7 +465,7 @@ public class ShowExecutorTest { public void testShowColumn() throws AnalysisException { ctx.setCatalog(catalog); ctx.setQualifiedUser("testCluster:testUser"); - ShowColumnStmt stmt = new ShowColumnStmt(new TableName("testCluster:testDb", "testTbl"), null, null, false); + ShowColumnStmt stmt = new ShowColumnStmt(new TableName(internalCtl, "testCluster:testDb", "testTbl"), null, null, false); stmt.analyze(AccessTestUtil.fetchAdminAnalyzer(false)); ShowExecutor executor = new ShowExecutor(ctx, stmt); ShowResultSet resultSet = executor.execute(); @@ -477,7 +478,7 @@ public class ShowExecutorTest { Assert.assertFalse(resultSet.next()); // verbose - stmt = new ShowColumnStmt(new TableName("testCluster:testDb", "testTbl"), null, null, true); + stmt = new ShowColumnStmt(new TableName(internalCtl, "testCluster:testDb", "testTbl"), null, null, true); stmt.analyze(AccessTestUtil.fetchAdminAnalyzer(false)); executor = new ShowExecutor(ctx, stmt); resultSet = executor.execute(); @@ -491,7 +492,7 @@ public class ShowExecutorTest { Assert.assertFalse(resultSet.next()); // pattern - stmt = new ShowColumnStmt(new TableName("testCluster:testDb", "testTable"), null, "%1", true); + stmt = new ShowColumnStmt(new TableName(internalCtl, "testCluster:testDb", "testTable"), null, "%1", true); stmt.analyze(AccessTestUtil.fetchAdminAnalyzer(false)); executor = new ShowExecutor(ctx, stmt); resultSet = executor.execute(); @@ -506,7 +507,7 @@ public class ShowExecutorTest { public void testShowView() throws UserException { ctx.setCatalog(catalog); ctx.setQualifiedUser("testCluster:testUser"); - ShowViewStmt stmt = new ShowViewStmt("", new TableName("testDb", "testTbl")); + ShowViewStmt stmt = new ShowViewStmt("", new TableName(internalCtl, "testDb", "testTbl")); stmt.analyze(AccessTestUtil.fetchAdminAnalyzer(true)); ShowExecutor executor = new ShowExecutor(ctx, stmt); ShowResultSet resultSet = executor.execute(); @@ -516,7 +517,7 @@ public class ShowExecutorTest { @Test public void testShowColumnFromUnknownTable() throws AnalysisException { - ShowColumnStmt stmt = new ShowColumnStmt(new TableName("testCluster:emptyDb", "testTable"), null, null, false); + ShowColumnStmt stmt = new ShowColumnStmt(new TableName(internalCtl, "testCluster:emptyDb", "testTable"), null, null, false); stmt.analyze(AccessTestUtil.fetchAdminAnalyzer(false)); ShowExecutor executor = new ShowExecutor(ctx, stmt); @@ -525,7 +526,7 @@ public class ShowExecutorTest { executor.execute(); // empty table - stmt = new ShowColumnStmt(new TableName("testCluster:testDb", "emptyTable"), null, null, true); + stmt = new ShowColumnStmt(new TableName(internalCtl, "testCluster:testDb", "emptyTable"), null, null, true); stmt.analyze(AccessTestUtil.fetchAdminAnalyzer(false)); executor = new ShowExecutor(ctx, stmt); diff --git a/fe/fe-core/src/test/java/org/apache/doris/rewrite/ExtractCommonFactorsRuleTest.java b/fe/fe-core/src/test/java/org/apache/doris/rewrite/ExtractCommonFactorsRuleTest.java index 35a4cc12fa..aa2c7284fa 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/rewrite/ExtractCommonFactorsRuleTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/rewrite/ExtractCommonFactorsRuleTest.java @@ -25,6 +25,7 @@ import org.apache.doris.analysis.LiteralExpr; import org.apache.doris.analysis.SlotRef; import org.apache.doris.analysis.TableName; import org.apache.doris.common.jmockit.Deencapsulation; +import org.apache.doris.datasource.InternalDataSource; import com.google.common.collect.BoundType; import com.google.common.collect.Lists; @@ -40,13 +41,14 @@ import java.util.Map; import java.util.Set; public class ExtractCommonFactorsRuleTest { + private static final String internalCtl = InternalDataSource.INTERNAL_DS_NAME; // Input: k1 in (k2, 1) // Result: false @Test public void testSingleColumnPredicateInColumn() { - SlotRef child0 = new SlotRef(new TableName("db1", "tb1"), "k1"); - SlotRef inColumn = new SlotRef(new TableName("db1", "tb1"), "k2"); + SlotRef child0 = new SlotRef(new TableName(internalCtl, "db1", "tb1"), "k1"); + SlotRef inColumn = new SlotRef(new TableName(internalCtl, "db1", "tb1"), "k2"); IntLiteral intLiteral = new IntLiteral(1); List<Expr> inExprList = Lists.newArrayList(); inExprList.add(inColumn); @@ -63,8 +65,8 @@ public class ExtractCommonFactorsRuleTest { @Test public void testMergeTwoClauseRange() { // Clause1 - SlotRef k1SlotRef = new SlotRef(new TableName("db1", "tb1"), "k1"); - SlotRef k2SlotRef = new SlotRef(new TableName("db1", "tb1"), "k2"); + SlotRef k1SlotRef = new SlotRef(new TableName(internalCtl, "db1", "tb1"), "k1"); + SlotRef k2SlotRef = new SlotRef(new TableName(internalCtl, "db1", "tb1"), "k2"); Range k1Range1 = Range.range(new IntLiteral(1), BoundType.OPEN, new IntLiteral(3), BoundType.OPEN); Range k2Range = Range.greaterThan(new IntLiteral(3)); RangeSet<LiteralExpr> k1RangeSet1 = TreeRangeSet.create(); @@ -97,8 +99,8 @@ public class ExtractCommonFactorsRuleTest { @Test public void testMergeTwoClauseIn() { // Clause1 - SlotRef k1SlotRef = new SlotRef(new TableName("db1", "tb1"), "k1"); - SlotRef k2SlotRef = new SlotRef(new TableName("db1", "tb1"), "k2"); + SlotRef k1SlotRef = new SlotRef(new TableName(internalCtl, "db1", "tb1"), "k1"); + SlotRef k2SlotRef = new SlotRef(new TableName(internalCtl, "db1", "tb1"), "k2"); IntLiteral intLiteral1 = new IntLiteral(1); IntLiteral intLiteral2 = new IntLiteral(2); List<Expr> k1Values1 = Lists.newArrayList(); @@ -140,7 +142,7 @@ public class ExtractCommonFactorsRuleTest { RangeSet<LiteralExpr> rangeSet = TreeRangeSet.create(); rangeSet.add(range1); rangeSet.add(range2); - SlotRef slotRef = new SlotRef(new TableName("db1", "tb1"), "k1"); + SlotRef slotRef = new SlotRef(new TableName(internalCtl, "db1", "tb1"), "k1"); ExtractCommonFactorsRule extractCommonFactorsRule = new ExtractCommonFactorsRule(); Expr result = Deencapsulation.invoke(extractCommonFactorsRule, diff --git a/fe/fe-core/src/test/java/org/apache/doris/rewrite/mvrewrite/CountFieldToSumTest.java b/fe/fe-core/src/test/java/org/apache/doris/rewrite/mvrewrite/CountFieldToSumTest.java index 5eee61c290..5e46c87369 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/rewrite/mvrewrite/CountFieldToSumTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/rewrite/mvrewrite/CountFieldToSumTest.java @@ -24,6 +24,7 @@ import org.apache.doris.analysis.SlotRef; import org.apache.doris.analysis.TableName; import org.apache.doris.catalog.FunctionSet; import org.apache.doris.common.AnalysisException; +import org.apache.doris.datasource.InternalDataSource; import org.apache.doris.rewrite.ExprRewriter; import com.google.common.collect.Lists; @@ -39,7 +40,7 @@ public class CountFieldToSumTest { @Test public void testCountDistinct(@Injectable Analyzer analyzer, @Injectable FunctionCallExpr functionCallExpr) { - TableName tableName = new TableName("db1", "table1"); + TableName tableName = new TableName(InternalDataSource.INTERNAL_DS_NAME, "db1", "table1"); SlotRef slotRef = new SlotRef(tableName, "c1"); List<Expr> params = Lists.newArrayList(); params.add(slotRef); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org