This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-4.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-4.0 by this push:
new 642b5e5e0a1 branch-4.0: [opt](show-partitions) remove show partitions
support for iceberg #56985 (#57452)
642b5e5e0a1 is described below
commit 642b5e5e0a13e9baf88df7023ee48ff4e1e03f7e
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Oct 30 09:55:01 2025 +0800
branch-4.0: [opt](show-partitions) remove show partitions support for
iceberg #56985 (#57452)
Cherry-picked from #56985
Co-authored-by: Mingyu Chen (Rayner) <[email protected]>
---
.../datasource/iceberg/IcebergExternalTable.java | 14 +--
.../maxcompute/MaxComputeExternalTable.java | 6 +
.../datasource/paimon/PaimonExternalTable.java | 6 +
.../plans/commands/ShowPartitionsCommand.java | 121 ++++-----------------
regression-test/data/mtmv_p0/test_iceberg_mtmv.out | 65 ++++++++---
.../suites/mtmv_p0/test_iceberg_mtmv.groovy | 105 +++++++++---------
6 files changed, 146 insertions(+), 171 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergExternalTable.java
b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergExternalTable.java
index ab92752108b..c2bf0fded99 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergExternalTable.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergExternalTable.java
@@ -66,7 +66,6 @@ import java.util.stream.Collectors;
public class IcebergExternalTable extends ExternalTable implements
MTMVRelatedTableIf, MTMVBaseTableIf, MvccTable {
- private Table table;
private boolean isValidRelatedTableCached = false;
private boolean isValidRelatedTable = false;
private boolean isView;
@@ -89,11 +88,6 @@ public class IcebergExternalTable extends ExternalTable
implements MTMVRelatedTa
}
}
- @VisibleForTesting
- public void setTable(Table table) {
- this.table = table;
- }
-
@Override
public Optional<SchemaCacheValue> initSchema(SchemaCacheKey key) {
boolean isView = isView();
@@ -221,7 +215,7 @@ public class IcebergExternalTable extends ExternalTable
implements MTMVRelatedTa
}
isValidRelatedTable = false;
Set<String> allFields = Sets.newHashSet();
- table = getIcebergTable();
+ Table table = getIcebergTable();
for (PartitionSpec spec : table.specs().values()) {
if (spec == null) {
isValidRelatedTableCached = true;
@@ -376,4 +370,10 @@ public class IcebergExternalTable extends ExternalTable
implements MTMVRelatedTa
}
}
+ @Override
+ public boolean isPartitionedTable() {
+ makeSureInitialized();
+ Table table = getIcebergTable();
+ return table.spec().isPartitioned();
+ }
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalTable.java
b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalTable.java
index 7135ef96fdc..d9d167e786b 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalTable.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/datasource/maxcompute/MaxComputeExternalTable.java
@@ -345,4 +345,10 @@ public class MaxComputeExternalTable extends ExternalTable
{
return schemaCacheValue.map(value -> ((MaxComputeSchemaCacheValue)
value).getOdpsTable())
.orElse(null);
}
+
+ @Override
+ public boolean isPartitionedTable() {
+ makeSureInitialized();
+ return getOdpsTable().isPartitioned();
+ }
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonExternalTable.java
b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonExternalTable.java
index 3fba39810a2..98685129cde 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonExternalTable.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonExternalTable.java
@@ -364,4 +364,10 @@ public class PaimonExternalTable extends ExternalTable
implements MTMVRelatedTab
return Collections.emptyMap();
}
}
+
+ @Override
+ public boolean isPartitionedTable() {
+ makeSureInitialized();
+ return !paimonTable.partitionKeys().isEmpty();
+ }
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowPartitionsCommand.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowPartitionsCommand.java
index 9700ba56993..83257db6b67 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowPartitionsCommand.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowPartitionsCommand.java
@@ -22,8 +22,6 @@ import org.apache.doris.analysis.RedirectStatus;
import org.apache.doris.catalog.Column;
import org.apache.doris.catalog.DatabaseIf;
import org.apache.doris.catalog.Env;
-import org.apache.doris.catalog.PartitionItem;
-import org.apache.doris.catalog.PartitionKey;
import org.apache.doris.catalog.ScalarType;
import org.apache.doris.catalog.TableIf;
import org.apache.doris.catalog.TableIf.TableType;
@@ -41,11 +39,8 @@ import org.apache.doris.common.util.OrderByPair;
import org.apache.doris.datasource.CatalogIf;
import org.apache.doris.datasource.ExternalTable;
import org.apache.doris.datasource.hive.HMSExternalCatalog;
-import org.apache.doris.datasource.hive.HMSExternalTable;
import org.apache.doris.datasource.iceberg.IcebergExternalCatalog;
-import org.apache.doris.datasource.iceberg.IcebergExternalTable;
import org.apache.doris.datasource.maxcompute.MaxComputeExternalCatalog;
-import org.apache.doris.datasource.maxcompute.MaxComputeExternalTable;
import org.apache.doris.datasource.paimon.PaimonExternalCatalog;
import org.apache.doris.datasource.paimon.PaimonExternalDatabase;
import org.apache.doris.datasource.paimon.PaimonExternalTable;
@@ -72,9 +67,6 @@ import org.apache.doris.qe.StmtExecutor;
import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Range;
-import org.apache.commons.collections.CollectionUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.paimon.partition.Partition;
@@ -93,15 +85,6 @@ import java.util.stream.Collectors;
* show partitions command
*/
public class ShowPartitionsCommand extends ShowCommand {
- public static final ImmutableList<String> TITLE_NAMES = new
ImmutableList.Builder<String>()
- .add("PartitionId").add("PartitionName")
- .add("VisibleVersion").add("VisibleVersionTime")
-
.add("State").add("PartitionKey").add("Range").add("DistributionKey")
-
.add("Buckets").add("ReplicationNum").add("StorageMedium").add("CooldownTime").add("RemoteStoragePolicy")
-
.add("LastConsistencyCheckTime").add("DataSize").add("IsInMemory").add("ReplicaAllocation")
-
.add("IsMutable").add("SyncWithBaseTables").add("UnsyncTables").add("CommittedVersion")
- .add("RowCount")
- .build();
public static final String FILTER_PARTITION_NAME = "PartitionName";
private static final Logger LOG =
LogManager.getLogger(ShowPartitionsCommand.class);
private static final String FILTER_PARTITION_ID = "PartitionId";
@@ -244,9 +227,9 @@ public class ShowPartitionsCommand extends ShowCommand {
// analyze column
int index = -1;
- for (String title : TITLE_NAMES) {
+ for (String title : PartitionsProcDir.TITLE_NAMES) {
if (title.equalsIgnoreCase(colName)) {
- index = TITLE_NAMES.indexOf(title);
+ index = PartitionsProcDir.TITLE_NAMES.indexOf(title);
}
}
if (index == -1) {
@@ -270,60 +253,34 @@ public class ShowPartitionsCommand extends ShowCommand {
DatabaseIf db = catalog.getDbOrAnalysisException(dbName);
TableIf table = db.getTableOrMetaException(tblName, TableType.OLAP,
- TableType.HMS_EXTERNAL_TABLE,
TableType.MAX_COMPUTE_EXTERNAL_TABLE,
- TableType.ICEBERG_EXTERNAL_TABLE,
TableType.PAIMON_EXTERNAL_TABLE);
+ TableType.HMS_EXTERNAL_TABLE,
TableType.MAX_COMPUTE_EXTERNAL_TABLE, TableType.PAIMON_EXTERNAL_TABLE);
- if (table instanceof HMSExternalTable) {
- if (((HMSExternalTable) table).isView()) {
+ if (!catalog.isInternalCatalog()) {
+ if (!table.isPartitionedTable()) {
throw new AnalysisException("Table " + tblName + " is not a
partitioned table");
}
- if (CollectionUtils.isEmpty(((HMSExternalTable)
table).getPartitionColumns())) {
- throw new AnalysisException("Table " + tblName + " is not a
partitioned table");
- }
- return;
- }
-
- if (table instanceof MaxComputeExternalTable) {
- if (((MaxComputeExternalTable)
table).getOdpsTable().getPartitions().isEmpty()) {
- throw new AnalysisException("Table " + tblName + " is not a
partitioned table");
- }
- return;
- }
-
- if (table instanceof IcebergExternalTable) {
- if (!((IcebergExternalTable) table).isValidRelatedTable()) {
- throw new AnalysisException("Table " + tblName + " is not a
supported partition table");
- }
- return;
- }
-
- if (table instanceof PaimonExternalTable) {
- if (((PaimonExternalTable)
table).isPartitionInvalid(Optional.empty())) {
- throw new AnalysisException("Table " + tblName + " is not a
partitioned table");
- }
- return;
- }
+ } else {
+ table.readLock();
+ try {
+ // build proc path
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.append("/dbs/");
+ stringBuilder.append(db.getId());
+ stringBuilder.append("/").append(table.getId());
+ if (isTempPartition) {
+ stringBuilder.append("/temp_partitions");
+ } else {
+ stringBuilder.append("/partitions");
+ }
- table.readLock();
- try {
- // build proc path
- StringBuilder stringBuilder = new StringBuilder();
- stringBuilder.append("/dbs/");
- stringBuilder.append(db.getId());
- stringBuilder.append("/").append(table.getId());
- if (isTempPartition) {
- stringBuilder.append("/temp_partitions");
- } else {
- stringBuilder.append("/partitions");
- }
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("process SHOW PROC '{}';",
stringBuilder.toString());
+ }
- if (LOG.isDebugEnabled()) {
- LOG.debug("process SHOW PROC '{}';", stringBuilder.toString());
+ node =
ProcService.getInstance().open(stringBuilder.toString());
+ } finally {
+ table.readUnlock();
}
-
- node = ProcService.getInstance().open(stringBuilder.toString());
- } finally {
- table.readUnlock();
}
}
@@ -347,34 +304,6 @@ public class ShowPartitionsCommand extends ShowCommand {
return new ShowResultSet(getMetaData(), rows);
}
- private ShowResultSet handleShowIcebergTablePartitions() {
- IcebergExternalCatalog icebergCatalog = (IcebergExternalCatalog)
catalog;
- String db = ClusterNamespace.getNameFromFullName(tableName.getDb());
- String tbl = tableName.getTbl();
- IcebergExternalTable icebergTable = (IcebergExternalTable)
icebergCatalog.getDb(db).get().getTable(tbl).get();
-
- Map<String, PartitionItem> partitions =
icebergTable.getAndCopyPartitionItems(Optional.empty());
- List<List<String>> rows = new ArrayList<>();
- for (Map.Entry<String, PartitionItem> entry : partitions.entrySet()) {
- List<String> row = new ArrayList<>();
- Range<PartitionKey> items = entry.getValue().getItems();
- row.add(entry.getKey());
- row.add(items.lowerEndpoint().toString());
- row.add(items.upperEndpoint().toString());
- rows.add(row);
- }
- // sort by partition name
- if (orderByPairs != null && orderByPairs.get(0).isDesc()) {
- rows.sort(Comparator.comparing(x -> x.get(0),
Comparator.reverseOrder()));
- } else {
- rows.sort(Comparator.comparing(x -> x.get(0)));
- }
-
- rows = applyLimit(limit, offset, rows);
-
- return new ShowResultSet(getMetaData(), rows);
- }
-
private ShowResultSet handleShowPaimonTablePartitions() throws
AnalysisException {
PaimonExternalCatalog paimonCatalog = (PaimonExternalCatalog) catalog;
String db = ClusterNamespace.getNameFromFullName(tableName.getDb());
@@ -486,8 +415,6 @@ public class ShowPartitionsCommand extends ShowCommand {
return new ShowResultSet(getMetaData(), rows);
} else if (catalog instanceof MaxComputeExternalCatalog) {
return handleShowMaxComputeTablePartitions();
- } else if (catalog instanceof IcebergExternalCatalog) {
- return handleShowIcebergTablePartitions();
} else if (catalog instanceof PaimonExternalCatalog) {
return handleShowPaimonTablePartitions();
} else {
diff --git a/regression-test/data/mtmv_p0/test_iceberg_mtmv.out
b/regression-test/data/mtmv_p0/test_iceberg_mtmv.out
index 47d2d3a61a2..666a587c990 100644
--- a/regression-test/data/mtmv_p0/test_iceberg_mtmv.out
+++ b/regression-test/data/mtmv_p0/test_iceberg_mtmv.out
@@ -59,10 +59,10 @@
\N 8
-- !test_iceberg_table_partition_ts --
-ts_day=20022 types: [DATETIMEV2]; keys: [2024-10-26 00:00:00]; types:
[DATETIMEV2]; keys: [2024-10-27 00:00:00];
-ts_day=20023 types: [DATETIMEV2]; keys: [2024-10-27 00:00:00]; types:
[DATETIMEV2]; keys: [2024-10-28 00:00:00];
-ts_day=20024 types: [DATETIMEV2]; keys: [2024-10-28 00:00:00]; types:
[DATETIMEV2]; keys: [2024-10-29 00:00:00];
-ts_day=null types: [DATETIMEV2]; keys: [0000-01-01 00:00:00]; types:
[DATETIMEV2]; keys: [0000-01-01 00:00:01];
+{"ts_day":null}
+{"ts_day":"2024-10-26"}
+{"ts_day":"2024-10-27"}
+{"ts_day":"2024-10-28"}
-- !unpartition --
2024-10-26T01:02:03 1
@@ -110,9 +110,9 @@ ts_day=null types: [DATETIMEV2]; keys: [0000-01-01
00:00:00]; types: [DATETIMEV
2024-10-28 7
-- !test_iceberg_table_partition_d --
-d_month=655 types: [DATEV2]; keys: [2024-08-01]; types: [DATEV2]; keys:
[2024-09-01];
-d_month=656 types: [DATEV2]; keys: [2024-09-01]; types: [DATEV2]; keys:
[2024-10-01];
-d_month=657 types: [DATEV2]; keys: [2024-10-01]; types: [DATEV2]; keys:
[2024-11-01];
+{"d_month":655}
+{"d_month":656}
+{"d_month":657}
-- !refresh_one_partition --
2024-01-01T00:00 4
@@ -130,21 +130,50 @@ d_month=657 types: [DATEV2]; keys: [2024-10-01];
types: [DATEV2]; keys: [2024-1
2024-01-02T00:00 3
-- !evolution2 --
-ts_day=20060 types: [DATETIMEV2]; keys: [2024-12-03 00:00:00]; types:
[DATETIMEV2]; keys: [2024-12-04 00:00:00];
-ts_month=657 types: [DATETIMEV2]; keys: [2024-10-01 00:00:00]; types:
[DATETIMEV2]; keys: [2024-11-01 00:00:00];
-ts_month=658 types: [DATETIMEV2]; keys: [2024-11-01 00:00:00]; types:
[DATETIMEV2]; keys: [2024-12-01 00:00:00];
+{"ts_month":null, "ts_day":"2024-12-03"}
+{"ts_month":657, "ts_day":null}
+{"ts_month":658, "ts_day":null}
-- !evolution3 --
-ts_day=20059 types: [DATETIMEV2]; keys: [2024-12-02 00:00:00]; types:
[DATETIMEV2]; keys: [2024-12-03 00:00:00];
-ts_month=658 types: [DATETIMEV2]; keys: [2024-11-01 00:00:00]; types:
[DATETIMEV2]; keys: [2024-12-01 00:00:00];
+{"ts_month":null, "ts_day":"2024-11-02"}
+{"ts_month":null, "ts_day":"2024-11-03"}
+{"ts_month":null, "ts_day":"2024-12-02"}
+{"ts_month":658, "ts_day":null}
-- !evolution4 --
-ts_month=657 types: [DATETIMEV2]; keys: [2024-10-01 00:00:00]; types:
[DATETIMEV2]; keys: [2024-11-01 00:00:00];
-ts_month=658 types: [DATETIMEV2]; keys: [2024-11-01 00:00:00]; types:
[DATETIMEV2]; keys: [2024-12-01 00:00:00];
+{"ts_month":null, "ts_day":"2024-11-02"}
+{"ts_month":null, "ts_day":"2024-11-03"}
+{"ts_month":657, "ts_day":null}
+{"ts_month":658, "ts_day":null}
-- !evolution5 --
-ts_day=20078 types: [DATETIMEV2]; keys: [2024-12-21 00:00:00]; types:
[DATETIMEV2]; keys: [2024-12-22 00:00:00];
-ts_hour=482139 types: [DATETIMEV2]; keys: [2025-01-01 03:00:00]; types:
[DATETIMEV2]; keys: [2025-01-01 04:00:00];
-ts_month=657 types: [DATETIMEV2]; keys: [2024-10-01 00:00:00]; types:
[DATETIMEV2]; keys: [2024-11-01 00:00:00];
-ts_month=658 types: [DATETIMEV2]; keys: [2024-11-01 00:00:00]; types:
[DATETIMEV2]; keys: [2024-12-01 00:00:00];
+{"ts_month":null, "ts_day":null, "ts_hour":481875}
+{"ts_month":null, "ts_day":null, "ts_hour":482139}
+{"ts_month":null, "ts_day":"2024-10-12", "ts_hour":null}
+{"ts_month":null, "ts_day":"2024-12-21", "ts_hour":null}
+{"ts_month":657, "ts_day":null, "ts_hour":null}
+{"ts_month":658, "ts_day":null, "ts_hour":null}
+
+-- !test1 --
+{"create_date1_month":null, "create_date2_year":53}
+{"create_date1_month":647, "create_date2_year":null}
+
+-- !test2 --
+{"create_date_bucket":2}
+{"create_date_bucket":5}
+
+-- !test3 --
+{"create_date_month":647}
+
+-- !test4 --
+{"create_date1_month":647, "create_date2_year":null}
+{"create_date1_month":647, "create_date2_year":53}
+
+-- !test5 --
+{"create_date_month":null}
+{"create_date_month":647}
+
+-- !test6 --
+{"create_date1_month":647, "create_date2_year":null}
+{"create_date1_month":647, "create_date2_year":53}
diff --git a/regression-test/suites/mtmv_p0/test_iceberg_mtmv.groovy
b/regression-test/suites/mtmv_p0/test_iceberg_mtmv.groovy
index f0019f2cb8b..6bd694cab20 100644
--- a/regression-test/suites/mtmv_p0/test_iceberg_mtmv.groovy
+++ b/regression-test/suites/mtmv_p0/test_iceberg_mtmv.groovy
@@ -137,7 +137,7 @@ suite("test_iceberg_mtmv",
"p0,external,iceberg,external_docker,external_docker_
waitingMTMVTaskFinishedByMvName(mvName1, dbName)
qt_test_ts_refresh_null """select * from ${mvName1} order by value"""
- qt_test_iceberg_table_partition_ts """show partitions from
${catalog_name}.${icebergDb}.${icebergTable1};"""
+ qt_test_iceberg_table_partition_ts """select `partition` from
${catalog_name}.${icebergDb}.${icebergTable1}\$partitions order by
`partition`;"""
def showPartitionsResult = sql """show partitions from ${mvName1}"""
logger.info("showPartitionsResult: " + showPartitionsResult.toString())
@@ -198,7 +198,7 @@ suite("test_iceberg_mtmv",
"p0,external,iceberg,external_docker,external_docker_
waitingMTMVTaskFinishedByMvName(mvName2, dbName)
qt_test_d_refresh5 "select * from ${mvName2} order by value"
- qt_test_iceberg_table_partition_d """show partitions from
${catalog_name}.${icebergDb}.${icebergTable2};"""
+ qt_test_iceberg_table_partition_d """select `partition` from
${catalog_name}.${icebergDb}.${icebergTable2}\$partitions order by
`partition`;"""
showPartitionsResult = sql """show partitions from ${mvName2}"""
logger.info("showPartitionsResult: " + showPartitionsResult.toString())
@@ -241,7 +241,7 @@ suite("test_iceberg_mtmv",
"p0,external,iceberg,external_docker,external_docker_
assertTrue(showPartitions.toString().contains("p_20240101000000_20240102000000"))
assertTrue(showPartitions.toString().contains("p_20240102000000_20240103000000"))
- // refresh one partiton
+ // refresh one partition
sql """REFRESH MATERIALIZED VIEW ${mvName}
partitions(p_20240101000000_20240102000000);"""
waitingMTMVTaskFinishedByMvName(mvName, dbName)
order_qt_refresh_one_partition "SELECT * FROM ${mvName} "
@@ -265,52 +265,59 @@ suite("test_iceberg_mtmv",
"p0,external,iceberg,external_docker,external_docker_
sql """drop table if exists
${catalog_name}.${icebergDb}.${icebergTable3}"""
sql """use ${catalog_name}.test_db"""
- qt_evolution2 "show partitions from replace_partition2"
- qt_evolution3 "show partitions from replace_partition3"
- qt_evolution4 "show partitions from replace_partition4"
- qt_evolution5 "show partitions from replace_partition5"
-
- test {
- sql "show partitions from replace_partition1"
- // check exception message contains
- exception "is not a supported partition table"
- }
-
- test {
- sql "show partitions from no_partition"
- // check exception message contains
- exception "is not a supported partition table"
- }
-
- test {
- sql "show partitions from not_support_trans"
- // check exception message contains
- exception "is not a supported partition table"
- }
-
- test {
- sql "show partitions from drop_partition1"
- // check exception message contains
- exception "is not a supported partition table"
- }
-
- test {
- sql "show partitions from drop_partition2"
- // check exception message contains
- exception "is not a supported partition table"
- }
-
- test {
- sql "show partitions from add_partition1"
- // check exception message contains
- exception "is not a supported partition table"
- }
-
- test {
- sql "show partitions from add_partition2"
- // check exception message contains
- exception "is not a supported partition table"
- }
+ qt_evolution2 "select `partition` from replace_partition2\$partitions
order by `partition`"
+ qt_evolution3 "select `partition` from replace_partition3\$partitions
order by `partition`"
+ qt_evolution4 "select `partition` from replace_partition4\$partitions
order by `partition`"
+ qt_evolution5 "select `partition` from replace_partition5\$partitions
order by `partition`"
+
+ qt_test1 "select `partition` from replace_partition1\$partitions order
by `partition`";
+ qt_test2 "select `partition` from not_support_trans\$partitions order
by `partition`";
+ qt_test3 "select `partition` from drop_partition1\$partitions order by
`partition`";
+ qt_test4 "select `partition` from drop_partition2\$partitions order by
`partition`";
+ qt_test5 "select `partition` from add_partition1\$partitions order by
`partition`";
+ qt_test6 "select `partition` from add_partition2\$partitions order by
`partition`";
+
+ // test {
+ // sql "show partitions from replace_partition1"
+ // // check exception message contains
+ // exception "is not a supported partition table"
+ // }
+
+ // test {
+ // sql "show partitions from no_partition"
+ // // check exception message contains
+ // exception "Unknown column 'partition'"
+ // }
+
+ // test {
+ // sql "show partitions from not_support_trans"
+ // // check exception message contains
+ // exception "is not a supported partition table"
+ // }
+
+ // test {
+ // sql "show partitions from drop_partition1"
+ // // check exception message contains
+ // exception "is not a supported partition table"
+ // }
+
+ // test {
+ // sql "show partitions from drop_partition2"
+ // // check exception message contains
+ // exception "is not a supported partition table"
+ // }
+
+ // test {
+ // sql "show partitions from add_partition1"
+ // // check exception message contains
+ // exception "is not a supported partition table"
+ // }
+
+ // test {
+ // sql "show partitions from add_partition2"
+ // // check exception message contains
+ // exception "is not a supported partition table"
+ // }
sql """ drop catalog if exists ${catalog_name} """
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]