Skip to content

Commit 80c48d6

Browse files
authored
branch-3.0: [opt](explain) use full qualified name in scan node (#52342) (#52706)
bp #52342
1 parent ed8a4cf commit 80c48d6

File tree

5 files changed

+26
-47
lines changed

5 files changed

+26
-47
lines changed

fe/fe-core/src/main/java/org/apache/doris/catalog/TableIf.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -488,9 +488,15 @@ default List<String> getFullQualifiers() {
488488
}
489489

490490
default String getNameWithFullQualifiers() {
491-
return String.format("%s.%s.%s", getDatabase().getCatalog().getName(),
492-
ClusterNamespace.getNameFromFullName(getDatabase().getFullName()),
493-
getName());
491+
DatabaseIf db = getDatabase();
492+
// Some kind of table like FunctionGenTable does not belong to any database
493+
if (db == null) {
494+
return "null.null." + getName();
495+
} else {
496+
return db.getCatalog().getName()
497+
+ "." + ClusterNamespace.getNameFromFullName(db.getFullName())
498+
+ "." + getName();
499+
}
494500
}
495501

496502
default boolean isManagedTable() {
@@ -522,3 +528,4 @@ default boolean isPartitionedTable() {
522528

523529
TableIndexes getTableIndexes();
524530
}
531+

fe/fe-core/src/main/java/org/apache/doris/datasource/FileScanNode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ public long getPushDownCount() {
9292
@Override
9393
public String getNodeExplainString(String prefix, TExplainLevel detailLevel) {
9494
StringBuilder output = new StringBuilder();
95-
output.append(prefix).append("table: ").append(desc.getTable().getName()).append("\n");
95+
output.append(prefix).append("table: ").append(desc.getTable().getNameWithFullQualifiers()).append("\n");
9696
if (!conjuncts.isEmpty()) {
9797
output.append(prefix).append("predicates: ").append(getExplainString(conjuncts)).append("\n");
9898
}

regression-test/suites/external_table_p0/iceberg/test_iceberg_filter.groovy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ suite("test_iceberg_filter", "p0,external,doris,external_docker,external_docker_
6464
explain {
6565
sql("select * from ${tb_ts_filter} where ts < '2024-05-30 20:34:56'")
6666
contains "inputSplitNum=0"
67+
contains "table: test_iceberg_filter.multi_catalog.tb_ts_filter"
6768
}
6869
explain {
6970
sql("select * from ${tb_ts_filter} where ts < '2024-05-30 20:34:56.12'")

regression-test/suites/external_table_p0/tvf/test_tvf_view.groovy

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ suite("test_tvf_view", "p0,external,tvf,external_docker,hive") {
4444
contains("_table_valued_function_hdfs.p_container")
4545
contains("_table_valued_function_hdfs.p_retailprice")
4646
contains("_table_valued_function_hdfs.p_comment")
47+
contains("table: null.null.HDFSTableValuedFunction")
4748
}
4849
explain{
4950
sql("select * from hdfs (\n" +
@@ -61,7 +62,19 @@ suite("test_tvf_view", "p0,external,tvf,external_docker,hive") {
6162
contains("_table_valued_function_hdfs.p_comment")
6263
}
6364

64-
sql """drop database if exists test_tvf_view_p2"""
65+
sql """create view tvf_view_count as select * from hdfs (
66+
"uri"="hdfs://${nameNodeHost}:${hdfsPort}/user/doris/tpch1.db/tpch1_parquet/part/part-00000-cb9099f7-a053-4f9a-80af-c659cfa947cc-c000.snappy.parquet",
67+
"hadoop.username" = "hadoop",
68+
"format"="parquet");"""
69+
70+
explain {
71+
verbose true
72+
sql("select count(1) from tvf_view_count")
73+
contains "SlotDescriptor{id=0,"
74+
notContains "SlotDescriptor{id=1,"
75+
}
76+
77+
// sql """drop database if exists test_tvf_view_p2"""
6578
}
6679
}
6780

regression-test/suites/external_table_p0/tvf/test_tvf_view_count.groovy

Lines changed: 0 additions & 42 deletions
This file was deleted.

0 commit comments

Comments
 (0)