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 d9a878aa7ea branch-4.0: [fix](test) fix unstable test cases (#63548)
d9a878aa7ea is described below
commit d9a878aa7eaa343b6b420a0fc5477459d3cf5afb
Author: Mingyu Chen (Rayner) <[email protected]>
AuthorDate: Sun May 24 18:27:46 2026 -0700
branch-4.0: [fix](test) fix unstable test cases (#63548)
bp #51429 #56996 #60133 #62488 #62659 #62922 #61271 #63551
---------
Co-authored-by: meiyi <[email protected]>
Co-authored-by: zhangdong <[email protected]>
Co-authored-by: Sun Chenyang <[email protected]>
Co-authored-by: Mryange <[email protected]>
Co-authored-by: shuke <[email protected]>
Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
Co-authored-by: lihangyu <[email protected]>
---
.../apache/doris/alter/SchemaChangeHandler.java | 31 +-
.../org/apache/doris/load/loadv2/LoadManager.java | 20 +
.../org/apache/doris/qe/runtime/LoadProcessor.java | 6 +
.../one_level_nestedtypes_with_s3data.out | 582 ++++++++++-----------
.../test_show_create_table_and_views_nereids.out | 20 +-
.../test_p_seq_publish_read_from_old.out | 10 +-
regression-test/pipeline/p0/conf/fe.conf | 1 +
.../test_backup_restore_colocate.groovy | 25 +
.../check_hash_bucket_table.groovy | 14 +-
.../jdbc/test_doris_jdbc_catalog.groovy | 4 +
.../test_inverted_index_v3.groovy | 3 +
.../suites/manager/test_manager_interface_1.groovy | 14 +-
.../metrics_p0/test_delete_bitmap_metrics.groovy | 3 +
.../suites/query_profile/scanner_profile.groovy | 9 +-
...test_show_create_table_and_views_nereids.groovy | 28 +-
.../suites/temp_table_p0/test_temp_table.groovy | 12 +-
.../test_temp_table_with_conn_timeout.groovy | 45 --
.../test_p_seq_publish_read_from_old.groovy | 4 +-
regression-test/suites/variant_p0/nested.groovy | 184 -------
.../suites/variant_p0/nested/load.groovy | 200 -------
.../variant_p0/nested/nested_in_top_array.groovy | 131 -----
.../suites/variant_p0/nested/sql/q01.sql | 13 -
regression-test/suites/variant_p0/nested2.groovy | 160 ------
.../variant_p0/predefine/test_predefine_ddl.groovy | 6 +-
run-regression-test.sh | 14 +-
25 files changed, 476 insertions(+), 1063 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java
b/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java
index 94609e94ca0..2e5e603b45c 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/alter/SchemaChangeHandler.java
@@ -2500,10 +2500,33 @@ public class SchemaChangeHandler extends AlterHandler {
skip = Boolean.parseBoolean(skipWriteIndexOnLoad) ? 1 : 0;
}
- for (Partition partition : partitions) {
- updatePartitionProperties(db, olapTable.getName(),
partition.getName(), storagePolicyId, isInMemory,
- null, compactionPolicy,
timeSeriesCompactionConfig, enableSingleCompaction, skip,
- disableAutoCompaction);
+ // Only iterate partitions when there are properties that actually
need to be
+ // dispatched to each partition's tablets. Pure catalog-level metadata
properties
+ // such as partition.retention_count do not require per-partition
updates, and
+ // iterating over a stale partition snapshot can race with concurrent
partition
+ // drops (e.g., by DynamicPartitionScheduler when retention_count or
dynamic_partition
+ // is enabled) and fail with "Partition does not exist".
+ boolean needPerPartitionUpdate = isInMemory >= 0 || storagePolicyId >= 0
+ || compactionPolicy != null ||
!timeSeriesCompactionConfig.isEmpty()
+ || enableSingleCompaction >= 0 || skip >= 0 ||
disableAutoCompaction >= 0;
+ if (needPerPartitionUpdate) {
+ for (Partition partition : partitions) {
+ try {
+ updatePartitionProperties(db, olapTable.getName(),
partition.getName(),
+ storagePolicyId, isInMemory, null,
compactionPolicy, timeSeriesCompactionConfig,
+ enableSingleCompaction, skip,
disableAutoCompaction);
+ } catch (DdlException e) {
+ // The partition may have been dropped concurrently (e.g.,
by
+ // DynamicPartitionScheduler). It is safe to skip the meta
dispatch
+ // for a partition that no longer exists.
+ if (olapTable.getPartition(partition.getName()) == null) {
+ LOG.info("partition {} of table {} was dropped
concurrently, "
+ + "skip updating its properties",
partition.getName(), olapTable.getName());
+ continue;
+ }
+ throw e;
+ }
+ }
}
olapTable.writeLockOrDdlException();
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadManager.java
b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadManager.java
index 019e06893a0..9fc0ca13fdc 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadManager.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/LoadManager.java
@@ -216,11 +216,25 @@ public class LoadManager implements Writable {
LoadJob loadJob;
if (idToLoadJob.containsKey(jobId)) {
loadJob = idToLoadJob.get(jobId);
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("recordFinishedLoadJob: reuse existing load job,
jobId={}, label={}, dbId={}, jobType={}",
+ jobId, label, db.getId(), jobType);
+ }
if (loadJob instanceof InsertLoadJob) {
((InsertLoadJob) loadJob).setJobProperties(transactionId,
tableId, createTimestamp,
failMsg, trackingUrl, firstErrorMsg, userInfo);
}
} else {
+ // The jobId received here does not exist in idToLoadJob. This
means the InsertLoadJob
+ // that was registered during executor construction (and that
accumulated BE-reported
+ // load statistics via updateJobProgress) is NOT the one we are
about to snapshot here.
+ // A brand-new InsertLoadJob will be created below with an empty
LoadStatistic, so
+ // SHOW LOAD's JobDetails (ScannedRows / LoadBytes / All backends)
will be all zero.
+ // Logging this at WARN so CI failures of the form
+ // "test_insert_statistic: expected:<N> but was:<0>" can be
diagnosed directly.
+ LOG.warn("recordFinishedLoadJob: jobId={} not found in
idToLoadJob, creating a new "
+ + "{} load job for label={}, dbId={}. JobDetails
statistics will be empty.",
+ jobId, jobType, label, db.getId());
switch (jobType) {
case INSERT:
loadJob = new InsertLoadJob(label, transactionId,
db.getId(), tableId, createTimestamp, failMsg,
@@ -813,6 +827,12 @@ public class LoadManager implements Writable {
public void updateJobProgress(Long jobId, Long beId, TUniqueId loadId,
TUniqueId fragmentId, long scannedRows,
long scannedBytes, boolean isDone) {
LoadJob job = idToLoadJob.get(jobId);
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("updateJobProgress: jobId={}, beId={}, scannedRows={},
scannedBytes={}, isDone={}, "
+ + "found={}, jobIdMatched={}",
+ jobId, beId, scannedRows, scannedBytes, isDone,
+ idToLoadJob.containsKey(jobId), job == null ? -1L :
job.getId());
+ }
if (job != null) {
job.updateProgress(beId, loadId, fragmentId, scannedRows,
scannedBytes, isDone);
}
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/LoadProcessor.java
b/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/LoadProcessor.java
index 39442516dcc..61a760a22cc 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/LoadProcessor.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/LoadProcessor.java
@@ -169,6 +169,12 @@ public class LoadProcessor extends AbstractJobProcessor {
@Override
protected void doProcessReportExecStatus(TReportExecStatusParams params,
SingleFragmentPipelineTask fragmentTask) {
if (params.isSetLoadedRows() && jobId != -1) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("doProcessReportExecStatus: forwarding load progress
to LoadManager, "
+ + "jobId={}, beId={}, queryId={},
loadedRows={}, loadedBytes={}, isDone={}",
+ jobId, params.getBackendId(),
DebugUtil.printId(params.getQueryId()),
+ params.getLoadedRows(), params.getLoadedBytes(),
params.isDone());
+ }
if (params.isSetFragmentInstanceReports()) {
for (TFragmentInstanceReport report :
params.getFragmentInstanceReports()) {
Env.getCurrentEnv().getLoadManager().updateJobProgress(
diff --git
a/regression-test/data/datatype_p0/nested_types/base_cases/one_level_nestedtypes_with_s3data.out
b/regression-test/data/datatype_p0/nested_types/base_cases/one_level_nestedtypes_with_s3data.out
index f78c1805b1e..7648597adc2 100644
---
a/regression-test/data/datatype_p0/nested_types/base_cases/one_level_nestedtypes_with_s3data.out
+++
b/regression-test/data/datatype_p0/nested_types/base_cases/one_level_nestedtypes_with_s3data.out
@@ -1,14 +1,14 @@
-- This file is automatically generated. You should know what you did if you
want to edit this
-- !sql_s3 --
--8130762325653500066 [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1,
1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0,
0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1,
0, 0, 1, 0] [-40, -55, 2, 81, -105, 88, 42, 34, 54, 103, -73, 78, 26, 25,
96, -59, -9, 110, 123, -97, -85, 38, 7, -54, -109, 30, -71, 14, 84, -86, -48,
9, 64, -72, -5, -25, -66, 44, [...]
--8396837115675039201 [1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1,
0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1,
0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0,
1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0,
1, 1, 0, 0] [18, -105, 24, -8, -22, 81, -106, 3, 16, -21, 23, -95, 104, -50,
31, -28, -53, 84, 2, -23, 45, 66, 43, 112, -19, 72, -37, -79, 6, -124, -45,
-112, -65, 83, 108, 46, 72, - [...]
--8486390558035389955 [0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0,
0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1,
1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0,
1, 0, 1, 1] [-47, 77, 38, 93, -47, 10, -101, -21, -45, -49, -110, 101, -6,
-62, -46, -103, -14, 124, 95, 92, -85, -42, 118, -13, 17, 43, 18, 5, 33, 65,
103, -54, -61, 86, -13, -30, - [...]
--8515031650658489442 [0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1,
1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1,
1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1,
0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1,
1, 1, 0, 1] [-116, -4, 39, -110, -86, -10, -107, 10, -5, -114, -57, -116,
-52, 67, -51, 52, -41, 31, -19, 84, 24, -128, 113, -37, -33, 71, 15, 98, 122,
-3, 12, 13, 69, -103, 78, 25, [...]
+-8130762325653500066 [0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1,
1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1,
1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1,
0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1,
0, 1, 0, 1] [66, -29, -58, 18, -49, 99, -105, 126, -69, 59, 125, 32, -61,
104, 74, 32, -37, -93, -126, -80, -76, -24, 76, 21, 54, 35, 110, -66, 8, -104,
-91, 90, -110, 62, 122, 125, [...]
+-8396837115675039201 [1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0,
1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1,
1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1,
1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0,
1, 0, 1, 1] [26, -107, 30, -49, 48, -121, 57, -106, -83, -34, -86, 54, -35,
92, -121, -7, -8, -109, 36, -114, -78, -43, -65, 35, 114, 96, -96, 2, -113,
-85, 0, -112, -78, 27, -65, -1 [...]
+-8486390558035389955 [0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0,
0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1,
1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1,
1, 1, 0, 0] [84, 76, 37, 90, -5, 120, -79, 7, -92, -101, -93, 18, -110,
-105, 120, 57, 83, 29, 15, -53, 77, 67, -36, 98, 69, -27, -6, 12, 72, 21, -23,
61, 31, -62, 0, -97, -49, -21, [...]
+-8515031650658489442 [1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0,
1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0,
1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0,
1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0,
1, 0, 1, 0] [-61, -102, -64, -109, 5, -121, -29, -52, 77, -56, 121, 27, -4,
57, 127, 83, -121, -99, -30, -80, -100, -19, 103, -116, -24, -48, -92, -78,
-80, 121, -21, 103, 93, -17, - [...]
-8541785086945532478 [1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1,
0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1,
0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1,
1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,
1, 1, 0, 0] [-17, -120, -8, -66, -76, -24, -27, 73, 48, -102, 48, 45, 3,
123, 66, -12, -110, 7, -12, 125, 79, -39, 86, -121, -95, 81, 75, -100, -31, 75,
-12, -60, 71, 35, 3, 55, 107, [...]
--8595400109785252164 [0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0,
1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1,
0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1,
1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1,
1, 1, 0, 1] [-14, 84, 35, 10, -44, -40, 23, 91, -62, 24, 38, 96, 100, -44,
51, 96, 44, 105, -125, 50, -111, -95, -88, -111, -99, 117, 71, 18, -118, -107,
126, -2, -76, 77, 4, 88, 56, [...]
+-8595400109785252164 [1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1,
1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0,
0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0,
1, 1, 1, 1] [-22, 82, 90, 41, -5, -67, 102, 63, 20, -32, -86, -74, -86, -2,
32, 3, -84, 38, -3, 43, 23, -25, 18, 4, 57, 83, 50, -44, -103, 88, 74, -1, -33,
-78, -70, -111, -22, -32, [...]
-8704279886565651802 [1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1,
0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1,
1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1,
1, 1, 1, 0] [-91, -91, -62, 28, -78, -53, 120, -7, 117, -116, -94, 98, 14,
108, -53, -24, -80, 90, -31, -82, -93, 25, 62, 123, 54, 14, -45, -5, 90, -36,
125, -38, -51, -108, 114, 22, [...]
--8831405316887920021 [1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1,
0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0,
1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1,
0, 1, 0, 0] [120, -128, 20, -66, -41, 8, 115, -14, -22, 53, 17, 46, 30, 39,
98, -96, -4, 59, 20, 37, 123, 119, 8, -29, -92, -47, -85, 3, -56, -114, -51,
56, 121, 4, -96, 92, -24, -6, [...]
--8843401066421936451 [0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1,
0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1,
1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0,
1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1,
0, 0, 0, 0] [67, -47, 106, -126, -40, 52, 41, -109, -111, 45, 5, 41, 95, 99,
102, -110, -94, 99, -55, 79, 35, 24, 99, -16, 52, 83, -97, -41, -2, 111, -41,
-121, -27, -38, -29, 82, 9, [...]
+-8831405316887920021 [1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1,
1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1,
1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0,
1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0] [54, 102, 81, 69, 115, -83, 13, 64, -69, -8, 100, 18, 94, -65,
-5, 86, -36, -82, -103, -72, -85, 61, -53, 116, 40, -67, 72, 69, -35, 88, -104,
-28, 66, 84, -113, -46, 109 [...]
+-8843401066421936451 [1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1,
1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1,
0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0,
1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1,
0, 0, 1, 1] [35, -117, -86, -24, 12, 91, 57, -1, -17, 13, 74, 0, -100, 42,
-44, -2, 105, 25, 107, -29, -125, -124, 121, -15, -74, 23, 10, 115, -30, -66,
-37, 118, 31, -73, -58, -94, [...]
-9199935995880135372 [1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1,
0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0,
1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1,
0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1,
0, 0, 0, 1] [46, 55, -22, 98, 92, 64, -24, -122, 95, -83, -61, 75, 21, -109,
39, 63, 15, -59, 98, -102, -56, 13, -118, 20, 36, 86, 89, 20, -47, -111, 14,
-32, 26, 44, 1, -87, -45, -3 [...]
-- !sql_s3 --
@@ -372,28 +372,28 @@ true -9199935995880135372
\N
-- !select_arr --
--1.05898247831049E8 -8486390558035389955
--1.56959142076795E9 -8843401066421936451
--1.906554324481077E9 -8541785086945532478
--7.4956160631982E7 -8515031650658489442
--7.50864271988945E8 -8595400109785252164
-1.223931468425696E9 -8704279886565651802
-1.679729892130251E9 -8396837115675039201
-2.086048609782723E9 -8831405316887920021
-2.93704169907062E8 -8130762325653500066
-6.6910726734426E8 -9199935995880135372
+-105898247.831049 -8486390558035389955
+-1569591420.76795 -8843401066421936451
+-1906554324.481077 -8541785086945532478
+-74956160.631982 -8515031650658489442
+-750864271.988945 -8595400109785252164
+1223931468.425696 -8704279886565651802
+1679729892.130251 -8396837115675039201
+2086048609.782723 -8831405316887920021
+293704169.907062 -8130762325653500066
+669107267.34426 -9199935995880135372
-- !select_arr --
--4.70268405631243E8 -8130762325653500066
--5.70997144930699E8 -8831405316887920021
--8.95187115793498E8 -9199935995880135372
-1.464045023331255E9 -8843401066421936451
-2.96680669413185E8 -8595400109785252164
-5.39155738251913E8 -8486390558035389955
-5.46593171499773E8 -8541785086945532478
-6.84302065704346E8 -8704279886565651802
-8.34463531129353E8 -8515031650658489442
-8.49151182292817E8 -8396837115675039201
+-470268405.631243 -8130762325653500066
+-570997144.930699 -8831405316887920021
+-895187115.793498 -9199935995880135372
+1464045023.331255 -8843401066421936451
+296680669.413185 -8595400109785252164
+539155738.251913 -8486390558035389955
+546593171.499773 -8541785086945532478
+684302065.7043459 -8704279886565651802
+834463531.129353 -8515031650658489442
+849151182.292817 -8396837115675039201
-- !select_arr_null --
\N
@@ -936,16 +936,16 @@ false true -8130762325653500066
4009.615 27983.51 -8515031650658489442
-- !select_arr --
--1.05898247831049E8 5.39155738251913E8 -8486390558035389955
--1.073889678900371E9 -4.39918914177586E8 -6614511767379733802
--1.34411787253998E8 -9.7004635471591E7 -8074276707509606973
--1.56959142076795E9 1.464045023331255E9 -8843401066421936451
--1.619321181264003E9 -1.42725438609996E8 -7857556006370763693
--1.906554324481077E9 5.46593171499773E8 -8541785086945532478
--3.92422000827448E8 6.58385835114419E8 -6241888565302595587
--7.4956160631982E7 8.34463531129353E8 -8515031650658489442
--7.50864271988945E8 2.96680669413185E8 -8595400109785252164
-9.7816440578208E7 2.051735396272362E9 -7986890399880908420
+-105898247.831049 539155738.251913 -8486390558035389955
+-1073889678.900371 -439918914.177586 -6614511767379733802
+-134411787.253998 -97004635.471591 -8074276707509606973
+-1569591420.76795 1464045023.331255 -8843401066421936451
+-1619321181.264003 -142725438.609996 -7857556006370763693
+-1906554324.481077 546593171.499773 -8541785086945532478
+-392422000.827448 658385835.114419 -6241888565302595587
+-74956160.631982 834463531.129353 -8515031650658489442
+-750864271.988945 296680669.413185 -8595400109785252164
+97816440.578208 2051735396.272362 -7986890399880908420
-- !select_arr --
-17743828141091863.653 -3676691574790730.662 -9199935995880135372
@@ -1724,116 +1724,116 @@ false
-32185.68
-- !sql --
--1.008955648086233E9
--1.0460781073939E7
--1.057078441133073E9
--1.05898247831049E8
--1.073889678900371E9
--1.08040619962618E9
--1.087725041586022E9
--1.18887752660798E8
--1.21949238805248E8
--1.24987172918168E8
--1.264550386509917E9
--1.299511002946824E9
--1.329229594543437E9
--1.34411787253998E8
--1.346776111573559E9
--1.374691800587855E9
--1.41418804506617E9
--1.437212434541964E9
--1.515937310615748E9
--1.536153744465038E9
--1.56959142076795E9
--1.60067464344329E9
--1.616532185240441E9
--1.619321181264003E9
--1.694775165003196E9
--1.734029245985872E9
--1.778428918780278E9
--1.833886480283424E9
--1.863884943179626E9
--1.866595208946843E9
--1.898745640678611E9
--1.906554324481077E9
--1.915748888664421E9
--1.94106026181103E9
--2.72408485426839E8
--3.09479156089737E8
--3.92422000827448E8
--4.84302248708775E8
--5.05670325604609E8
--5.62170504678234E8
--6.66590460870065E8
--7.4956160631982E7
--7.50864271988945E8
--9.16770814181782E8
--9.25297719269081E8
--9.57174979603288E8
--9.93338119548895E8
-1.002422597518482E9
-1.012686163700353E9
-1.030497106749471E9
-1.10338848958752E9
-1.129280778559246E9
-1.186910667629637E9
-1.223163435321761E9
-1.223931468425696E9
-1.248679517883623E9
-1.251976728940441E9
-1.318878917537797E9
-1.335101558180533E9
-1.357587532105587E9
-1.38265566237559E8
-1.463310080232972E9
-1.4686580832089E8
-1.472989247626942E9
-1.483090963888219E9
-1.618054926989715E9
-1.651226082657594E9
-1.670102167841302E9
-1.679729892130251E9
-1.872772465390084E9
-1.8840172079672E9
-1.934180711919546E9
-1.998727086174406E9
-2.000848761610864E9
-2.060596742792628E9
-2.062860723736536E9
-2.086048609782723E9
-2.086302262593969E9
-2.098163123683557E9
-2.113880403193083E9
-2.116455482900782E9
-2.2823346031341E8
-2.31248637238004E8
-2.58044419369341E8
-2.93704169907062E8
-5.41393259482805E8
-6.34175807686061E8
-6.6910726734426E8
-7.08385489327681E8
-7.09395172734814E8
-7.13749494887253E8
-7.50949911113261E8
-8.0035857453594E8
-8.72968280416236E8
-8.7645248589078E7
-9.32689571017559E8
-9.33060609349919E8
-9.7816440578208E7
+-1008955648.086233
+-10460781.073939
+-1057078441.133073
+-105898247.831049
+-1073889678.900371
+-1080406199.62618
+-1087725041.586022
+-118887752.660798
+-121949238.805248
+-124987172.918168
+-1264550386.509917
+-1299511002.946824
+-1329229594.543437
+-134411787.253998
+-1346776111.573559
+-1374691800.587855
+-1414188045.06617
+-1437212434.541964
+-1515937310.615748
+-1536153744.465038
+-1569591420.76795
+-1600674643.44329
+-1616532185.240441
+-1619321181.264003
+-1694775165.003196
+-1734029245.985872
+-1778428918.780278
+-1833886480.283424
+-1863884943.179626
+-1866595208.946843
+-1898745640.678611
+-1906554324.481077
+-1915748888.664421
+-1941060261.81103
+-272408485.426839
+-309479156.089737
+-392422000.827448
+-484302248.708775
+-505670325.604609
+-562170504.678234
+-666590460.870065
+-74956160.631982
+-750864271.988945
+-916770814.181782
+-925297719.269081
+-957174979.6032881
+-993338119.548895
+1002422597.518482
+1012686163.700353
+1030497106.749471
+1103388489.58752
+1129280778.559246
+1186910667.629637
+1223163435.321761
+1223931468.425696
+1248679517.883623
+1251976728.940441
+1318878917.537797
+1335101558.180533
+1357587532.105587
+138265566.237559
+1463310080.232972
+146865808.32089
+1472989247.626942
+1483090963.888219
+1618054926.989715
+1651226082.657594
+1670102167.841302
+1679729892.130251
+1872772465.390084
+1884017207.9672
+1934180711.919546
+1998727086.174406
+2000848761.610864
+2060596742.792628
+2062860723.736536
+2086048609.782723
+2086302262.593969
+2098163123.683557
+2113880403.193083
+2116455482.900782
+228233460.31341
+231248637.238004
+258044419.369341
+293704169.907062
+541393259.482805
+634175807.686061
+669107267.34426
+708385489.3276809
+709395172.734814
+713749494.887253
+750949911.113261
+800358574.5359401
+872968280.416236
+87645248.58907799
+932689571.0175591
+933060609.349919
+97816440.578208
-- !sql --
--1.694775165003196E9
--1.734029245985872E9
--1.778428918780278E9
--1.833886480283424E9
--1.863884943179626E9
--1.866595208946843E9
--1.898745640678611E9
--1.906554324481077E9
--1.915748888664421E9
--1.94106026181103E9
+-1694775165.003196
+-1734029245.985872
+-1778428918.780278
+-1833886480.283424
+-1863884943.179626
+-1866595208.946843
+-1898745640.678611
+-1906554324.481077
+-1915748888.664421
+-1941060261.81103
-- !sql --
-11473056548324055.203
@@ -3129,28 +3129,28 @@ $Z~+\\/gje9gc=y=JtG^EMBX?Y7g;Mqy,DtDPP~GP
\N
-- !select_map --
--1.186817404338089E9
--1.482448512388104E9
--6.0544226272325E7
--6.85741639734414E8
--6.99883865465878E8
--9.39468818041316E8
-1.149545010863122E9
-1.577345148823166E9
-3.56308575721424E8
-5.32362218563512E8
+-1186817404.338089
+-1482448512.388104
+-60544226.272325
+-685741639.734414
+-699883865.465878
+-939468818.041316
+1149545010.863122
+1577345148.823166
+356308575.721424
+532362218.563512
-- !select_map --
--1.424626844496292E9
--1.446383601493182E9
--4.1941375880889E8
--4.6327837297084E8
--5.7648575744682E7
-1.052299230149817E9
-1.957114255204978E9
-4.4130650559097E8
-6.67430782137062E8
-7.6404188745919E7
+-1424626844.496292
+-1446383601.493182
+-419413758.80889
+-463278372.97084
+-57648575.744682
+1052299230.149817
+1957114255.204978
+441306505.59097
+667430782.137062
+76404188.745919
-- !select_map_null --
\N
@@ -3729,16 +3729,16 @@ true
7518.533 22014.88
-- !select_map --
--1.186817404338089E9 -4.1941375880889E8
--1.482448512388104E9 6.67430782137062E8
--6.0544226272325E7 -5.7648575744682E7
--6.85741639734414E8 4.4130650559097E8
--6.99883865465878E8 7.6404188745919E7
--9.39468818041316E8 1.052299230149817E9
--9.53476015077386E8 4.17950542206198E8
-1.149545010863122E9 1.957114255204978E9
-3.95582908676059E8 1.9613608869889E9
-9.8130155039284E8 1.262177658345936E9
+-1186817404.338089 -419413758.80889
+-1482448512.388104 667430782.137062
+-60544226.272325 -57648575.744682
+-685741639.734414 441306505.59097
+-699883865.465878 76404188.745919
+-939468818.041316 1052299230.149817
+-953476015.077386 417950542.206198
+1149545010.863122 1957114255.204978
+395582908.676059 1961360886.9889
+981301550.39284 1262177658.345936
-- !select_map --
-30625928171082921.204 51674028624769709.957
@@ -4509,114 +4509,114 @@ false true
-32684.11
-- !sql --
--1.001366870970179E9
--1.092055251185923E9
--1.106514912124356E9
--1.107477219689128E9
--1.115286140977356E9
--1.186817404338089E9
--1.217464396218907E9
--1.27960230309259E8
--1.3536577041896E8
--1.359188371649772E9
--1.366748774528069E9
--1.387671304451E8
--1.43692868110203E9
--1.440262450645221E9
--1.482448512388104E9
--1.706900645257863E9
--1.768204498828347E9
--1.772336808363845E9
--1.809650634119458E9
--1.835830440874135E9
--1.867116244626806E9
--1.908143778388303E9
--1.958608872147104E9
--1.970306469698699E9
--1.974605202930058E9
--1.996935935604413E9
--2.094165449882069E9
--2.29707833911911E8
--2.43959736960811E8
--2.47760171603702E8
--2.5661927186778E8
--2.92327936199961E8
--3.23977430037453E8
--5.45938390677895E8
--5.7257601533234E7
--6.0008475838809E7
--6.0544226272325E7
--6.22974589381186E8
--6.85741639734414E8
--6.92693870093531E8
--6.99883865465878E8
--7.74484083406053E8
--9.079405017457E8
--9.24554398871928E8
--9.39468818041316E8
--9.5002722802481E7
--9.53476015077386E8
--9.85157420243998E8
-1.08459497556991E9
-1.108771614097225E9
-1.1178499719307E8
-1.149545010863122E9
-1.188072694956234E9
-1.257744947605571E9
-1.265260928140811E9
-1.303006909570317E9
-1.311760565587053E9
-1.315048341903561E9
-1.326098153844573E9
-1.402989618941909E9
-1.50673782127467E9
-1.559261349239339E9
-1.577345148823166E9
-1.578942548786176E9
-1.6284748423912E9
-1.646173709284326E9
-1.658956626982985E9
-1.75714393489598E8
-1.790645927463312E9
-1.81442466337271E8
-1.843155234322051E9
-1.898238204972729E9
-2.080635130076873E9
-2.092110567906249E9
-2.105434710154076E9
-2.83158165533095E8
-3.13125337847281E8
-3.50547291785736E8
-3.56308575721424E8
-3.95582908676059E8
-4.06694313890081E8
-4.57334505409614E8
-4.95319782463168E8
-5.32362218563512E8
-6.33645053743357E8
-6.33972323416953E8
-6.73042900410769E8
-7.23893563716953E8
-7.60688066373514E8
-7.8170709219719E7
-9.07369303220769E8
-9.19291260798653E8
-9.28475905566741E8
-9.39867911642876E8
-9.8130155039284E8
-9.95695073696354E8
+-1001366870.970179
+-1092055251.185923
+-1106514912.124356
+-1107477219.689128
+-1115286140.977356
+-1186817404.338089
+-1217464396.218907
+-127960230.309259
+-135365770.41896
+-1359188371.649772
+-1366748774.528069
+-138767130.4451
+-1436928681.10203
+-1440262450.645221
+-1482448512.388104
+-1706900645.257863
+-1768204498.828347
+-1772336808.363845
+-1809650634.119458
+-1835830440.874135
+-1867116244.626806
+-1908143778.388303
+-1958608872.147104
+-1970306469.698699
+-1974605202.930058
+-1996935935.604413
+-2094165449.882069
+-229707833.911911
+-243959736.960811
+-247760171.603702
+-256619271.86778
+-292327936.199961
+-323977430.037453
+-545938390.6778949
+-57257601.533234
+-60008475.838809
+-60544226.272325
+-622974589.381186
+-685741639.734414
+-692693870.093531
+-699883865.465878
+-774484083.4060529
+-907940501.7457
+-924554398.871928
+-939468818.041316
+-95002722.802481
+-953476015.077386
+-985157420.2439981
+1084594975.56991
+1108771614.097225
+111784997.19307
+1149545010.863122
+1188072694.956234
+1257744947.605571
+1265260928.140811
+1303006909.570317
+1311760565.587053
+1315048341.903561
+1326098153.844573
+1402989618.941909
+1506737821.27467
+1559261349.239339
+1577345148.823166
+1578942548.786176
+1628474842.3912
+1646173709.284326
+1658956626.982985
+175714393.489598
+1790645927.463312
+181442466.337271
+1843155234.322051
+1898238204.972729
+2080635130.076873
+2092110567.906249
+2105434710.154076
+283158165.533095
+313125337.847281
+350547291.785736
+356308575.721424
+395582908.676059
+406694313.890081
+457334505.409614
+495319782.463168
+532362218.563512
+633645053.7433569
+633972323.416953
+673042900.410769
+723893563.716953
+760688066.3735141
+78170709.21971899
+907369303.220769
+919291260.798653
+928475905.566741
+939867911.642876
+981301550.39284
+995695073.696354
-- !sql --
--1.772336808363845E9
--1.809650634119458E9
--1.835830440874135E9
--1.867116244626806E9
--1.908143778388303E9
--1.958608872147104E9
--1.970306469698699E9
--1.974605202930058E9
--1.996935935604413E9
--2.094165449882069E9
+-1772336808.363845
+-1809650634.119458
+-1835830440.874135
+-1867116244.626806
+-1908143778.388303
+-1958608872.147104
+-1970306469.698699
+-1974605202.930058
+-1996935935.604413
+-2094165449.882069
-- !sql --
-12482503378009388.520
@@ -5598,16 +5598,16 @@ false
false
-- !sql_s3 --
--7955538097647954727 {"col1":1695274218, "col2":101, "col3":15953, "col4":0,
"col5":-5150784390481339815, "col6":"-6389738088965215918", "col7":-17296.14,
"col8":1398490581.001547, "col9":-74475061466573269.335,
"col10":38540140658562292.280, "col11":"2023-04-30", "col12":"2023-02-18
23:45:46", "col13":"2023-03-22", "col14":"2022-12-07 04:16:55",
"col15":".~tM5wZLnCG9=", "col16":"yplQ/*lZZebY3.Ki;P",
"col17":"vIzx(APMEA&K-lHtw$cseRUYa6O4j.b!m6<#3Tt$.wS*oNjsi7Tkg^sw)aDqM(mCQT;JR)UKK0.Wn`u
[...]
--8130752084420850754 {"col1":1885480987, "col2":-83, "col3":24819, "col4":0,
"col5":4792679397410077130, "col6":"-9063339591142097575", "col7":11254.73,
"col8":-1614259711.539379, "col9":-87082845212285474.644,
"col10":-69823627625343993.477, "col11":"2023-07-18", "col12":"2023-05-08
14:15:35", "col13":"2023-02-14", "col14":"2023-05-08 18:19:42", "col15":"gOd",
"col16":"S/i96(?i(oqUxLp,BgWE",
"col17":"EzVJT`5!zN.,@?zN7MF.Ketqu.+Y@qG~C~ED6wUuiXc+;/.Y7^Q;PT?(qOXrG@7FkMlBU-/ZisPHzA`Vd~y)Cm0
[...]
--8368163552280161902 {"col1":302827139, "col2":116, "col3":-25091, "col4":0,
"col5":-6505444258660443266, "col6":"-5464346526657905853", "col7":25860.09,
"col8":1891152040.419958, "col9":70904458251834667.619,
"col10":-15353104565601637.275, "col11":"2023-10-06", "col12":"2022-11-13
15:13:34", "col13":"2023-07-16", "col14":"2023-02-09 13:28:16",
"col15":"MKQnuo^U", "col16":"K)c.6UTTkw9)tqhR7$B.^N`-)_<L,RjL(L-Ek)Of)ooN#,GZ",
"col17":"ZXht_UvtkzUY`f%f-xbt8!S9KZc>QFJzO?#?BiBy$$~-jV(2Dl5GqCh [...]
--8505366084515032753 {"col1":1769209089, "col2":41, "col3":31160, "col4":1,
"col5":-2575336798099083185, "col6":"-883044937893669077", "col7":-19593.56,
"col8":732727904.190433, "col9":24471993109695208.242,
"col10":7027799225935328.300, "col11":"2023-03-14", "col12":"2023-06-17
01:00:36", "col13":"2022-12-16", "col14":"2023-06-01 03:23:44",
"col15":")ysk+f.Rb;<s", "col16":"a3fmed7.w;X!;b",
"col17":"G.i&rr9!ZNKq^I+J_uV4iM1oA4Gm1QH=&%(Z5lQsl$d&FHBwpsB=)(6Id3~xiJrAJ1)J7/;jy+2A@!9vO8W)Vi-&M
[...]
--8526590106902518025 {"col1":-39761956, "col2":-53, "col3":29673, "col4":0,
"col5":4664036718368152301, "col6":"8981646550787107008", "col7":-16240.36,
"col8":1822087068.35201, "col9":-22663662274757652.155,
"col10":66835063400839254.158, "col11":"2023-04-10", "col12":"2023-05-18
22:07:04", "col13":"2022-11-29", "col14":"2023-05-27 12:34:14",
"col15":"7nx#u^DQn",
"col16":"inVE1e&K0XC$o2`3Ktw?3zYpbgM?VGt8csaOih2Dx.P(/IEl8nQLKTQHwX)aE(3K@op6MuBi",
"col17":"@j8~xq-Ln2=%<`ev~)jG^7A#tpzG"} {" [...]
--8584330716254438722 {"col1":1269647212, "col2":-126, "col3":2366, "col4":1,
"col5":5155738023071309660, "col6":"-6705185643586227696", "col7":-31253.54,
"col8":-1433711562.809869, "col9":-31057317746155036.885,
"col10":60153796233675872.559, "col11":"2023-03-10", "col12":"2023-02-12
10:41:57", "col13":"2022-11-16", "col14":"2023-05-24 07:29:55",
"col15":"3L^wGX&e6Df", "col16":"07b`aGfBy_;4Dlvghk",
"col17":"z#M>#0<2+6`)mmB&Sg!B,Qzhv+tsK$UN@A!E*DihrRZEfPkgy-YKBsc*U8Pg!1N#Rq*s>&CKi,AFis1+5
[...]
--8696072892588497420 {"col1":-2106845699, "col2":-98, "col3":20992,
"col4":0, "col5":-5893945213289225284, "col6":"297638169604943793",
"col7":27653.74, "col8":744167116.358155, "col9":-46908007749129426.361,
"col10":11530471652911632.562, "col11":"2023-06-23", "col12":"2023-09-12
18:59:26", "col13":"2023-02-15", "col14":"2023-06-27 15:40:46", "col15":"F/qe",
"col16":"-&V!AQI>S/AE@%gS.rXonmMOtS*QYXjAb,vl^v-iRXFnZ34Ph6lO>%WrI2$XyNdvZ+WccMv",
"col17":"/JHyx0^(Q,ydQq~Tb^<Tk`d+V8v)!c>^`uM0oj [...]
--8903033418165608020 {"col1":882497926, "col2":-54, "col3":30431, "col4":0,
"col5":-7753174224749720660, "col6":"-4735847221511589646", "col7":27986.56,
"col8":661341195.9174809, "col9":98934864068622830.295,
"col10":31403944024586880.372, "col11":"2023-04-27", "col12":"2023-08-24
05:59:33", "col13":"2022-11-20", "col14":"2023-06-05 10:25:45", "col15":"`",
"col16":"wR91aYuz0,jlrR~@^3was;io5+%H>Q=jNDq&YLS10pCVH9-v*0Cg~VFWck.8adA23`6Grrs?Lp%wCHs=wK=ZLdz$=qw<*uN@irS",
"col17":"F;,1w7X/fuUW) [...]
--8948861895930096407 {"col1":-1894504751, "col2":18, "col3":-22509,
"col4":0, "col5":-4133149603816811261, "col6":"-4066204268553180487",
"col7":2780.222, "col8":182434947.029398, "col9":-23917563374271181.387,
"col10":35545104392124151.728, "col11":"2023-06-03", "col12":"2022-12-21
01:36:42", "col13":"2023-08-30", "col14":"2023-01-11 17:54:55", "col15":"5,",
"col16":"A>?xNnc%", "col17":"3<tie$N(SRP!tLrS6LHO,#a&y$o^)@KDo>qnnM=LO"}
{"col1":-1169885578, "col2":49, "col3":-24848, "col4":0, [...]
--9052855404401710281 {"col1":1651079308, "col2":58, "col3":4184, "col4":0,
"col5":7588786529168892863, "col6":"-1865924498860156209", "col7":31589.17,
"col8":1948473510.584127, "col9":-31115650532963233.530,
"col10":-45618242150515684.569, "col11":"2023-05-10", "col12":"2023-07-30
02:36:33", "col13":"2023-06-16", "col14":"2023-09-14 08:16:16",
"col15":"0H60.W,dn>~(",
"col16":"3u=-%J9qt=yo7^08wzS!$Ci_wLjjUC%0A+$ZsI~xHJWl9%7qy;dl9p4+Rs;CTYa).k=Jlb/27z5L#zRElq",
"col17":"(WWqGUcu#GiINn9+rB2 [...]
+-7955538097647954727 {"col1":1438134160, "col2":-13, "col3":25559, "col4":1,
"col5":5607581613934148142, "col6":"-4919209465525182709", "col7":-15043.66,
"col8":-385832723.653489, "col9":-27845876168572465.963,
"col10":-4649354184790065.270, "col11":"2023-09-17", "col12":"2023-11-08
21:27:41", "col13":"2023-04-07", "col14":"2023-09-30 08:36:56", "col15":",/.O",
"col16":"4i.gCuX)k?t;dvjd1HM=YcWWJqqVnfUEE#!copJb(Q1(.^.`iz#>",
"col17":"tq&IP/6U)Cxr%D20@z+kgOn>QZLNEL3rM4a`Yy^~sKbb-++RSmR$TZ& [...]
+-8130752084420850754 {"col1":-630784508, "col2":-107, "col3":-22332,
"col4":1, "col5":2526767180146544499, "col6":"3669637146075805854",
"col7":-2381.369, "col8":75875226.65025599, "col9":-16215099298195794.320,
"col10":-33531867113672142.943, "col11":"2023-10-15", "col12":"2022-12-26
23:51:13", "col13":"2023-10-01", "col14":"2023-07-14 10:34:13", "col15":"Y",
"col16":"3/j4pBCb;)0fp(F45MD7@FNT=R1kj93(_4_wA5)vOYD!W#6LWF8",
"col17":"&lOgTZ!dZ^,iG>4Ps!-)S+KQIOSClIaQYS$N@ei~(rVZwKb*7?Qzomi&K [...]
+-8368163552280161902 {"col1":1769209089, "col2":41, "col3":31160, "col4":1,
"col5":-2575336798099083185, "col6":"-883044937893669077", "col7":-19593.56,
"col8":732727904.190433, "col9":24471993109695208.242,
"col10":7027799225935328.300, "col11":"2023-03-14", "col12":"2023-06-17
01:00:36", "col13":"2022-12-16", "col14":"2023-06-01 03:23:44",
"col15":")ysk+f.Rb;<s", "col16":"a3fmed7.w;X!;b",
"col17":"G.i&rr9!ZNKq^I+J_uV4iM1oA4Gm1QH=&%(Z5lQsl$d&FHBwpsB=)(6Id3~xiJrAJ1)J7/;jy+2A@!9vO8W)Vi-&M
[...]
+-8505366084515032753 {"col1":382502710, "col2":-10, "col3":-1057, "col4":1,
"col5":-1053404092722092555, "col6":"-3224814438034550078", "col7":-303.3692,
"col8":1394068216.774496, "col9":35385157086902073.490,
"col10":28542472828538829.527, "col11":"2023-06-15", "col12":"2023-08-08
18:11:20", "col13":"2022-12-18", "col14":"2022-12-31 10:35:49", "col15":"aNDd",
"col16":"rf&g;llr0AcaHMvj==5.x^T6<5#,s9g6Ce+%%shkcvv==<-%32nk0UKGn/Xv0ze1BPHIuC5b/=LGg6Z3S8gm`F)#w",
"col17":")xh~)TJqjj.DjX1yU2R [...]
+-8526590106902518025 {"col1":-2135397004, "col2":94, "col3":-29670,
"col4":1, "col5":7090872835518711333, "col6":"-1916621235651057979",
"col7":23394.07, "col8":1655037893.333014, "col9":-36143234288746464.456,
"col10":-61754523073078713.138, "col11":"2023-10-09", "col12":"2023-01-10
08:53:04", "col13":"2023-04-07", "col14":"2023-05-09 07:46:38",
"col15":"1V97aoL?&c!o=", "col16":"GjA`VBdRgX",
"col17":"<yi9I.d7+!@l>KgFF&je5+,NvGEdAz_;dufCth_a&5,gSu~orh%)pUn1FyV+5,cyA(Yw"}
{"col1":76883481 [...]
+-8584330716254438722 {"col1":933995213, "col2":1, "col3":3267, "col4":0,
"col5":-5550829509029152855, "col6":"-8797152448685401671", "col7":-6807.821,
"col8":1881218185.650995, "col9":44837386411291788.739,
"col10":-77744549308538297.360, "col11":"2022-12-26", "col12":"2023-08-24
18:48:11", "col13":"2023-01-30", "col14":"2023-11-03 12:45:38", "col15":"4be",
"col16":"1=)tT^~uN(d<%FlwM;`JYpKWzB<+x.PFYfbh!X9EElGf1&bba6;;i2iMz/2<sYC//-48_jI)2d4OwI,Nn+hmwHERQo",
"col17":"k"} {"col1":202310730 [...]
+-8696072892588497420 {"col1":2039445442, "col2":-53, "col3":-26405,
"col4":0, "col5":6687518459785395543, "col6":"-1021792500766523300",
"col7":20019.04, "col8":1557400130.093494, "col9":-96882930588706562.618,
"col10":26086925481865334.897, "col11":"2023-04-11", "col12":"2023-09-13
02:47:42", "col13":"2023-07-08", "col14":"2023-03-17 13:33:54",
"col15":"~7KsA>,Qr",
"col16":"tuV0Ia95UN4WJ,d>U,gXIq+<d$f.zBZZ.2CqtU$^l_v>AB&FWl@+ZIZ7n1(t.!rozlH3)L$I",
"col17":";rwx#I@!I9>KNEo-e3~u2!Z7"} {"c [...]
+-8903033418165608020 {"col1":-1174247920, "col2":36, "col3":-22731,
"col4":0, "col5":7899564070391978274, "col6":"699172697713213350",
"col7":-4668.701, "col8":-615162117.884674, "col9":-68837064230431691.639,
"col10":70891119436876294.790, "col11":"2023-11-10", "col12":"2023-01-30
02:08:18", "col13":"2023-03-27", "col14":"2023-08-16 16:00:27",
"col15":"hCET~vllh5<D6v", "col16":"J5m=SC!jm0wUsO-&4?PJDHG$Z", "col17":"SVP-Y"}
{"col1":635062305, "col2":-102, "col3":28746, "col4":1, "col5":68 [...]
+-8948861895930096407 {"col1":-250173299, "col2":-86, "col3":-13225,
"col4":1, "col5":817734691193240537, "col6":"4951804024759359802",
"col7":-12745.41, "col8":-826033844.4509521, "col9":-34747184045688644.226,
"col10":25299183251320309.639, "col11":"2023-03-18", "col12":"2023-05-09
22:14:23", "col13":"2023-03-26", "col14":"2022-11-29 03:50:26",
"col15":"T~YG_T^.t/", "col16":"Rwakn#PbR,8!",
"col17":"<LD01W44K1*@?GemE&P!w<nZLFx;uuE`&48DSkpVCVR7>c+;_oW?-LRLh;FnQfLL?ieRtZ$WJm?blsQn32p6O@$J%
[...]
+-9052855404401710281 {"col1":261079681, "col2":93, "col3":20178, "col4":1,
"col5":2163705202391578899, "col6":"-2190600110707822922", "col7":-7382.004,
"col8":-1200294565.951719, "col9":-91960534868632856.281,
"col10":-89949948257620846.844, "col11":"2022-12-18", "col12":"2022-12-04
16:19:09", "col13":"2023-10-03", "col14":"2023-10-18 20:19:55",
"col15":"@i*~Y^&~Nw", "col16":"I&*/wB(4<JKd.SJ@6;_bnL#!Yt&3>Ke-",
"col17":"LTl)O&FsU0<4mq5_a!VkB(dy"} {"col1":293498095, "col2":-121,
"col3":-25 [...]
-- !sql_s3 --
-7955538097647954727 {"col1":1438134160, "col2":-13, "col3":25559, "col4":1,
"col5":5607581613934148142, "col6":"-4919209465525182709", "col7":-15043.66,
"col8":-385832723.653489, "col9":-27845876168572465.963,
"col10":-4649354184790065.270, "col11":"2023-09-17", "col12":"2023-11-08
21:27:41.000000", "col13":"2023-04-07", "col14":"2023-09-30 08:36:56.000000",
"col15":",/.O", "col16":"4i.gCuX)k?t;dvjd1HM=YcWWJqqVnfUEE#!copJb(Q1(.^.`iz#>",
"col17":"tq&IP/6U)Cxr%D20@z+kgOn>QZLNEL3rM4a`Yy^~s [...]
diff --git
a/regression-test/data/show_p0/test_show_create_table_and_views_nereids.out
b/regression-test/data/show_p0/test_show_create_table_and_views_nereids.out
index 7929b470514..c3ccac7d661 100644
--- a/regression-test/data/show_p0/test_show_create_table_and_views_nereids.out
+++ b/regression-test/data/show_p0/test_show_create_table_and_views_nereids.out
@@ -1,7 +1,11 @@
-- This file is automatically generated. You should know what you did if you
want to edit this
--- !show --
+
+-- !show_1be --
show_create_table_and_views_nereids_table CREATE TABLE
`show_create_table_and_views_nereids_table` (\n `user_id` largeint NOT NULL,\n
`good_id` largeint NOT NULL,\n `cost` bigint SUM NULL DEFAULT "0",\n INDEX
index_user_id (`user_id`) USING INVERTED COMMENT "test index comment",\n INDEX
index_good_id (`good_id`) USING INVERTED COMMENT "test index\\" comment"\n)
ENGINE=OLAP\nAGGREGATE KEY(`user_id`, `good_id`)\nPARTITION BY
RANGE(`good_id`)\n(PARTITION p1 VALUES [("-17014118346046923 [...]
+-- !show_multi_be --
+show_create_table_and_views_nereids_table CREATE TABLE
`show_create_table_and_views_nereids_table` (\n `user_id` largeint NOT NULL,\n
`good_id` largeint NOT NULL,\n `cost` bigint SUM NULL DEFAULT "0",\n INDEX
index_user_id (`user_id`) USING INVERTED COMMENT "test index comment",\n INDEX
index_good_id (`good_id`) USING INVERTED COMMENT "test index\\" comment"\n)
ENGINE=OLAP\nAGGREGATE KEY(`user_id`, `good_id`)\nPARTITION BY
RANGE(`good_id`)\n(PARTITION p1 VALUES [("-17014118346046923 [...]
+
-- !select --
1 1 30
1 2 5
@@ -35,12 +39,20 @@ show_create_table_and_views_nereids_view CREATE VIEW
`show_create_table_and_view
200 1
300 1
--- !show --
+-- !show_1be --
show_create_table_and_views_nereids_table CREATE TABLE
`show_create_table_and_views_nereids_table` (\n `user_id` largeint NOT NULL,\n
`good_id` largeint NOT NULL,\n `cost` bigint SUM NULL DEFAULT "0",\n INDEX
index_user_id (`user_id`) USING INVERTED COMMENT "test index comment",\n INDEX
index_good_id (`good_id`) USING INVERTED COMMENT "test index\\" comment"\n)
ENGINE=OLAP\nAGGREGATE KEY(`user_id`, `good_id`)\nPARTITION BY
RANGE(`good_id`)\n(PARTITION p1 VALUES [("-17014118346046923 [...]
--- !show --
+-- !show_multi_be --
+show_create_table_and_views_nereids_table CREATE TABLE
`show_create_table_and_views_nereids_table` (\n `user_id` largeint NOT NULL,\n
`good_id` largeint NOT NULL,\n `cost` bigint SUM NULL DEFAULT "0",\n INDEX
index_user_id (`user_id`) USING INVERTED COMMENT "test index comment",\n INDEX
index_good_id (`good_id`) USING INVERTED COMMENT "test index\\" comment"\n)
ENGINE=OLAP\nAGGREGATE KEY(`user_id`, `good_id`)\nPARTITION BY
RANGE(`good_id`)\n(PARTITION p1 VALUES [("-17014118346046923 [...]
+
+-- !show_1be --
show_create_table_and_views_nereids_like CREATE TABLE
`show_create_table_and_views_nereids_like` (\n `user_id` largeint NOT NULL,\n
`good_id` largeint NOT NULL,\n `cost` bigint SUM NULL DEFAULT "0",\n INDEX
index_user_id (`user_id`) USING INVERTED COMMENT "test index comment",\n INDEX
index_good_id (`good_id`) USING INVERTED COMMENT "test index\\" comment"\n)
ENGINE=OLAP\nAGGREGATE KEY(`user_id`, `good_id`)\nPARTITION BY
RANGE(`good_id`)\n(PARTITION p1 VALUES [("-1701411834604692317 [...]
--- !show --
+-- !show_multi_be --
+show_create_table_and_views_nereids_like CREATE TABLE
`show_create_table_and_views_nereids_like` (\n `user_id` largeint NOT NULL,\n
`good_id` largeint NOT NULL,\n `cost` bigint SUM NULL DEFAULT "0",\n INDEX
index_user_id (`user_id`) USING INVERTED COMMENT "test index comment",\n INDEX
index_good_id (`good_id`) USING INVERTED COMMENT "test index\\" comment"\n)
ENGINE=OLAP\nAGGREGATE KEY(`user_id`, `good_id`)\nPARTITION BY
RANGE(`good_id`)\n(PARTITION p1 VALUES [("-1701411834604692317 [...]
+
+-- !show_1be --
show_create_table_and_views_nereids_like_with_rollup CREATE TABLE
`show_create_table_and_views_nereids_like_with_rollup` (\n `user_id` largeint
NOT NULL,\n `good_id` largeint NOT NULL,\n `cost` bigint SUM NULL DEFAULT
"0",\n INDEX index_user_id (`user_id`) USING INVERTED COMMENT "test index
comment",\n INDEX index_good_id (`good_id`) USING INVERTED COMMENT "test
index\\" comment"\n) ENGINE=OLAP\nAGGREGATE KEY(`user_id`,
`good_id`)\nPARTITION BY RANGE(`good_id`)\n(PARTITION p1 VALUES [...]
+-- !show_multi_be --
+show_create_table_and_views_nereids_like_with_rollup CREATE TABLE
`show_create_table_and_views_nereids_like_with_rollup` (\n `user_id` largeint
NOT NULL,\n `good_id` largeint NOT NULL,\n `cost` bigint SUM NULL DEFAULT
"0",\n INDEX index_user_id (`user_id`) USING INVERTED COMMENT "test index
comment",\n INDEX index_good_id (`good_id`) USING INVERTED COMMENT "test
index\\" comment"\n) ENGINE=OLAP\nAGGREGATE KEY(`user_id`,
`good_id`)\nPARTITION BY RANGE(`good_id`)\n(PARTITION p1 VALUES [...]
diff --git
a/regression-test/data/unique_with_mow_p0/partial_update/test_p_seq_publish_read_from_old.out
b/regression-test/data/unique_with_mow_p0/partial_update/test_p_seq_publish_read_from_old.out
index 6dc2e7e3b3a..6d1db50dbdf 100644
---
a/regression-test/data/unique_with_mow_p0/partial_update/test_p_seq_publish_read_from_old.out
+++
b/regression-test/data/unique_with_mow_p0/partial_update/test_p_seq_publish_read_from_old.out
@@ -12,19 +12,19 @@
4 \N 987 77777 1234 \N 100
-- !inspect --
+1 \N 987 77777 1234 \N 100 5 0
1 100 1 1 1 1 100 2 0
1 100 1 1 1 1 100 3 1
1 100 987 77777 1 1 100 5 0
-1 \N 987 77777 1234 \N 100 5 0
+2 \N 987 77777 1234 \N 200 5 0
2 100 2 2 2 2 100 2 0
-2 200 2 2 2 2 200 3 1
2 100 987 77777 2 2 100 5 0
-2 \N 987 77777 1234 \N 200 5 0
-3 100 3 3 3 3 100 2 0
+2 200 2 2 2 2 200 3 1
3 50 \N 9876 1234 \N 50 3 1
+3 100 3 3 3 3 100 2 0
3 100 987 77777 3 3 100 5 0
+4 \N 987 77777 1234 \N 100 5 0
4 100 4 4 4 4 100 2 0
4 100 4 4 4 4 100 4 1
4 100 987 77777 4 4 100 5 0
-4 \N 987 77777 1234 \N 100 5 0
diff --git a/regression-test/pipeline/p0/conf/fe.conf
b/regression-test/pipeline/p0/conf/fe.conf
index 4da8687b60f..35124adc3f8 100644
--- a/regression-test/pipeline/p0/conf/fe.conf
+++ b/regression-test/pipeline/p0/conf/fe.conf
@@ -92,3 +92,4 @@ max_query_profile_num = 2000
max_spilled_profile_num = 2000
check_table_lock_leaky=true
+max_remote_file_system_cache_num=1000
diff --git
a/regression-test/suites/backup_restore/test_backup_restore_colocate.groovy
b/regression-test/suites/backup_restore/test_backup_restore_colocate.groovy
index 98262234edf..92e907fcb92 100644
--- a/regression-test/suites/backup_restore/test_backup_restore_colocate.groovy
+++ b/regression-test/suites/backup_restore/test_backup_restore_colocate.groovy
@@ -376,6 +376,26 @@ suite("test_backup_restore_colocate_with_partition",
"backup_restore") {
assertTrue(result.ColocateMismatchNum as int == 0)
}
+ // Wait until the colocate group of `db_name`.`group_name` becomes stable.
+ // After RESTORE creates a brand-new colocate group in a new db, the group
+ // is unstable until ColocateTableCheckerAndBalancer scans it (default
every
+ // tablet_checker_interval_ms = 20s). Nereids skips colocate join while the
+ // group is unstable, so EXPLAIN right after RESTORE FINISHED can miss
COLOCATE.
+ def waitColocateGroupStable = { db_name, group_name ->
+ def fullName = "${db_name}.${group_name}".toString()
+ def deadline = System.currentTimeMillis() + 60_000
+ while (System.currentTimeMillis() < deadline) {
+ def groups = sql_return_maparray("SHOW PROC '/colocation_group'")
+ def g = groups.find { it.GroupName == fullName }
+ if (g != null && g.IsStable == "true") {
+ log.info("colocate group ${fullName} is stable")
+ return
+ }
+ sleep(1000)
+ }
+ log.warn("colocate group ${fullName} did not become stable within 60s")
+ }
+
def syncer = getSyncer()
syncer.createS3Repository(repoName)
@@ -624,6 +644,11 @@ suite("test_backup_restore_colocate_with_partition",
"backup_restore") {
query = "select * from ${newDbName}.${tableName1} as t1,
${newDbName}.${tableName2} as t2 where t1.id=t2.id;"
+ // RESTORE to a brand-new db creates a new colocate group that is initially
+ // unstable; wait for ColocateTableCheckerAndBalancer to mark it stable,
otherwise
+ // EXPLAIN below may fall back to BROADCAST/SHUFFLE.
+ waitColocateGroupStable(newDbName, groupName)
+
explain {
sql("${query}")
contains("COLOCATE")
diff --git
a/regression-test/suites/check_hash_bucket_table/check_hash_bucket_table.groovy
b/regression-test/suites/check_hash_bucket_table/check_hash_bucket_table.groovy
index e1b38057da3..3fe6713f66b 100644
---
a/regression-test/suites/check_hash_bucket_table/check_hash_bucket_table.groovy
+++
b/regression-test/suites/check_hash_bucket_table/check_hash_bucket_table.groovy
@@ -36,12 +36,12 @@ suite("check_hash_bucket_table") {
def bucketColumns = info["DistributionKey"]
if (bucketColumns == "RANDOM") {return false}
- def columnsDetail = sql_return_maparray "desc ${tblName} all;"
+ def columnsDetail = sql_return_maparray "desc `${tblName}` all;"
def bucketCols = bucketColumns.split(",").collect { it.trim() }
def bucketColsStr = bucketCols.collect { "`${it}`" }.join(",")
def partitionName = info["PartitionName"]
try {
- def tabletIdList = sql_return_maparray(""" show replica status
from ${tblName} partition(${partitionName}); """).collect { it.TabletId
}.toList()
+ def tabletIdList = sql_return_maparray(""" show replica status
from `${tblName}` partition(`${partitionName}`); """).collect { it.TabletId
}.toList()
def tabletIds = tabletIdList.toSet()
int replicaNum = tabletIdList.stream().filter { it ==
tabletIdList[0] }.count()
logger.info("""===== [check] Begin to check partition:
${db}.${tblName}, partition name: ${partitionName}, bucket num: ${bucketNum},
replica num: ${replicaNum}, bucket columns: ${bucketColsStr}""")
@@ -50,7 +50,7 @@ suite("check_hash_bucket_table") {
tabletIds.each { it2 ->
def tabletId = it2
try {
- def res = sql "select crc32_internal(${bucketColsStr})
% ${bucketNum} from ${db}.${tblName} tablet(${tabletId}) group by
crc32_internal(${bucketColsStr}) % ${bucketNum};"
+ def res = sql "select crc32_internal(${bucketColsStr})
% ${bucketNum} from `${db}`.`${tblName}` tablet(${tabletId}) group by
crc32_internal(${bucketColsStr}) % ${bucketNum};"
if (res.size() > 1) {
logger.info("""===== [check] check failed:
${db}.${tblName}, partition name: ${partitionName}, tabletId: ${tabletId},
bucket columns: ${bucketColsStr}, res.size()=${res.size()}, res=${res}""")
assert res.size() == 1
@@ -73,9 +73,9 @@ suite("check_hash_bucket_table") {
}
def checkTable = { String db, String tblName ->
- sql "use ${db};"
- def showStmt = sql_return_maparray("show create table
${tblName}")[0]["Create Table"]
- def partitionInfo = sql_return_maparray """ show partitions from
${tblName}; """
+ sql "use `${db}`;"
+ def showStmt = sql_return_maparray("show create table
`${tblName}`")[0]["Create Table"]
+ def partitionInfo = sql_return_maparray """ show partitions from
`${tblName}`; """
int checkedPartition = 0
partitionInfo.each {
if (checkPartition(db, tblName, it)) {
@@ -88,7 +88,7 @@ suite("check_hash_bucket_table") {
}
def checkDb = { String db ->
- sql "use ${db};"
+ sql "use `${db}`;"
dbNum.incrementAndGet()
def tables = sql("show full tables").stream().filter{ it[1] == "BASE
TABLE" }.collect{ it[0] }.toList()
def asyncMVs = sql_return_maparray("""select * from
mv_infos("database"="${db}");""").collect{ it.Name }.toSet()
diff --git
a/regression-test/suites/external_table_p0/jdbc/test_doris_jdbc_catalog.groovy
b/regression-test/suites/external_table_p0/jdbc/test_doris_jdbc_catalog.groovy
index 0057c58956a..743cc79d5de 100644
---
a/regression-test/suites/external_table_p0/jdbc/test_doris_jdbc_catalog.groovy
+++
b/regression-test/suites/external_table_p0/jdbc/test_doris_jdbc_catalog.groovy
@@ -262,6 +262,10 @@ suite("test_doris_jdbc_catalog",
"p0,external,doris,external_docker,external_doc
order_qt_keywork_table_name """ select * from `order` order by test_col;
"""
+ // cleanup reserved-keyword table so downstream infra suites (e.g.
check_hash_bucket_table)
+ // do not trip over an unquoted `order` table name
+ sql """ drop table if exists
internal.regression_test_jdbc_catalog_p0.`order` """
+
// //clean
// qt_sql """select current_catalog()"""
// sql "switch internal"
diff --git
a/regression-test/suites/inverted_index_p0/test_inverted_index_v3.groovy
b/regression-test/suites/inverted_index_p0/test_inverted_index_v3.groovy
index 6ee92c4083b..891e56d1e07 100644
--- a/regression-test/suites/inverted_index_p0/test_inverted_index_v3.groovy
+++ b/regression-test/suites/inverted_index_p0/test_inverted_index_v3.groovy
@@ -141,6 +141,9 @@ suite("test_inverted_index_v3", "p0"){
} finally {
}
+ sql "DROP TABLE IF EXISTS `t1`"
+ sql "DROP TABLE IF EXISTS `t2`"
+
sql """
CREATE TABLE `t1` (
`id` int NOT NULL,
diff --git a/regression-test/suites/manager/test_manager_interface_1.groovy
b/regression-test/suites/manager/test_manager_interface_1.groovy
index 1c9aa226200..5467c830866 100644
--- a/regression-test/suites/manager/test_manager_interface_1.groovy
+++ b/regression-test/suites/manager/test_manager_interface_1.groovy
@@ -594,13 +594,13 @@ suite('test_manager_interface_1',"p0") {
assertTrue(x == 1);
- sql """ admin set frontend config("query_metadata_name_ids_timeout"=
"${val}")"""
- result = sql """
- admin show frontend config
+ sql """ admin set all frontends
config("query_metadata_name_ids_timeout"= "${val}")"""
+ result = sql """
+ admin show frontend config
"""
logger.info("result = ${result}" )
- x = 0
+ x = 0
for(int i = 0 ;i<result.size();i++) {
if (result[i][0] == "query_metadata_name_ids_timeout"){
x = 1
@@ -611,9 +611,9 @@ suite('test_manager_interface_1',"p0") {
}
}
assertTrue(x == 1);
-
- val -= 2
- sql """ admin set frontend config("query_metadata_name_ids_timeout"=
"${val}")"""
+
+ val -= 2
+ sql """ admin set all frontends
config("query_metadata_name_ids_timeout"= "${val}")"""
logger.info("result = ${result}" )
diff --git
a/regression-test/suites/metrics_p0/test_delete_bitmap_metrics.groovy
b/regression-test/suites/metrics_p0/test_delete_bitmap_metrics.groovy
index 80f7da957ef..180ce6de68e 100644
--- a/regression-test/suites/metrics_p0/test_delete_bitmap_metrics.groovy
+++ b/regression-test/suites/metrics_p0/test_delete_bitmap_metrics.groovy
@@ -18,6 +18,9 @@
import org.codehaus.groovy.runtime.IOGroovyMethods
suite("test_delete_bitmap_metrics", "p0") {
+ if (!isCloudMode()) {
+ return
+ }
def backendId_to_backendIP = [:]
def backendId_to_backendHttpPort = [:]
def backendId_to_params = [string: [:]]
diff --git a/regression-test/suites/query_profile/scanner_profile.groovy
b/regression-test/suites/query_profile/scanner_profile.groovy
index 200599315a2..72587ee923d 100644
--- a/regression-test/suites/query_profile/scanner_profile.groovy
+++ b/regression-test/suites/query_profile/scanner_profile.groovy
@@ -86,5 +86,12 @@ suite('scanner_profile') {
String profileWithFilter = getProfileByToken(token)
logger.info("${token} Profile Data: ${profileWithFilter}")
- assertTrue(profileWithFilter.toString().contains("actualRows=9"))
+ // Verify actualRows is backfilled onto the scan node. The exact value is
+ // unstable because 9 INT keys hash-distribute into 10 buckets and a few
+ // tablets may be pruned at runtime, so only assert it is in [1, 9].
+ def matcher = (profileWithFilter.toString() =~
/PhysicalOlapScan\[scanner_profile\][^\n]*actualRows=(\d+)/)
+ assertTrue(matcher.find(), "actualRows not found on
PhysicalOlapScan[scanner_profile] in profile")
+ int actualRows = matcher.group(1) as int
+ assertTrue(actualRows >= 1 && actualRows <= 9,
+ "expect actualRows in [1, 9], got ${actualRows}")
}
\ No newline at end of file
diff --git
a/regression-test/suites/show_p0/test_show_create_table_and_views_nereids.groovy
b/regression-test/suites/show_p0/test_show_create_table_and_views_nereids.groovy
index 8f5297bfa29..ff63217549e 100644
---
a/regression-test/suites/show_p0/test_show_create_table_and_views_nereids.groovy
+++
b/regression-test/suites/show_p0/test_show_create_table_and_views_nereids.groovy
@@ -43,6 +43,10 @@ suite("test_show_create_table_and_views_nereids", "show") {
return
}
+ def backends = sql "SHOW BACKENDS"
+ int beNum = backends.size()
+ logger.info("backend num: ${beNum}")
+
String suiteName = "show_create_table_and_views_nereids"
String dbName = "${suiteName}_db"
String tableName = "${suiteName}_table"
@@ -99,7 +103,11 @@ suite("test_show_create_table_and_views_nereids", "show") {
(2, 200, 1111),
(23, 900, 1)"""
- qt_show "SHOW CREATE TABLE ${dbName}.${tableName}"
+ if (beNum == 1) {
+ qt_show_1be "SHOW CREATE TABLE ${dbName}.${tableName}"
+ } else {
+ qt_show_multi_be "SHOW CREATE TABLE ${dbName}.${tableName}"
+ }
qt_select "SELECT * FROM ${dbName}.${tableName} ORDER BY user_id, good_id"
sql "drop view if exists ${dbName}.${viewName};"
@@ -132,15 +140,27 @@ suite("test_show_create_table_and_views_nereids", "show")
{
}
qt_select "SELECT user_id, SUM(cost) FROM ${dbName}.${tableName} GROUP BY
user_id ORDER BY user_id"
- qt_show "SHOW CREATE TABLE ${dbName}.${tableName}"
+ if (beNum == 1) {
+ qt_show_1be "SHOW CREATE TABLE ${dbName}.${tableName}"
+ } else {
+ qt_show_multi_be "SHOW CREATE TABLE ${dbName}.${tableName}"
+ }
// create like
sql "CREATE TABLE ${dbName}.${likeName} LIKE ${dbName}.${tableName}"
- qt_show "SHOW CREATE TABLE ${dbName}.${likeName}"
+ if (beNum == 1) {
+ qt_show_1be "SHOW CREATE TABLE ${dbName}.${likeName}"
+ } else {
+ qt_show_multi_be "SHOW CREATE TABLE ${dbName}.${likeName}"
+ }
// create like with rollup
sql "CREATE TABLE ${dbName}.${likeName}_with_rollup LIKE
${dbName}.${tableName} WITH ROLLUP"
- qt_show "SHOW CREATE TABLE ${dbName}.${likeName}_with_rollup"
+ if (beNum == 1) {
+ qt_show_1be "SHOW CREATE TABLE ${dbName}.${likeName}_with_rollup"
+ } else {
+ qt_show_multi_be "SHOW CREATE TABLE ${dbName}.${likeName}_with_rollup"
+ }
sql "DROP TABLE IF EXISTS ${dbName}.${likeName}_with_rollup FORCE"
sql "DROP TABLE ${dbName}.${likeName} FORCE"
diff --git a/regression-test/suites/temp_table_p0/test_temp_table.groovy
b/regression-test/suites/temp_table_p0/test_temp_table.groovy
index 86989c17dc4..4f9f55151ad 100644
--- a/regression-test/suites/temp_table_p0/test_temp_table.groovy
+++ b/regression-test/suites/temp_table_p0/test_temp_table.groovy
@@ -273,7 +273,17 @@ suite('test_temp_table', 'p0') {
assertEquals(show_column_result.size(), 3)
def show_tablets_result = sql "show tablets from t_test_temp_table1"
- assertEquals(show_tablets_result.size(), 3)
+ // t_test_temp_table1 has 3 partitions x 1 bucket = 3 tablets. SHOW
TABLETS returns one row
+ // per replica, so the row count depends on the cluster's
force_olap_table_replication_allocation.
+ def forceReplicaAlloc =
getFeConfig('force_olap_table_replication_allocation')
+ def replicaNum = 1
+ if (forceReplicaAlloc != null && !forceReplicaAlloc.isEmpty()) {
+ def m = (forceReplicaAlloc =~ /:(\d+)/)
+ if (m.find()) {
+ replicaNum = m.group(1).toInteger()
+ }
+ }
+ assertEquals(3 * replicaNum, show_tablets_result.size())
def tablet_id = show_tablets_result[0][0]
// admin user will see temporary table's internal name
show_tablets_result = sql "show tablet ${tablet_id}"
diff --git
a/regression-test/suites/temp_table_p0/test_temp_table_with_conn_timeout.groovy
b/regression-test/suites/temp_table_p0/test_temp_table_with_conn_timeout.groovy
deleted file mode 100644
index d78774160a0..00000000000
---
a/regression-test/suites/temp_table_p0/test_temp_table_with_conn_timeout.groovy
+++ /dev/null
@@ -1,45 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-suite("test_temp_table_with_conn_timeout", "p0") {
- String db = context.config.getDbNameByFile(context.file)
- def tableName = "t_test_temp_table_with_conn_timeout"
- String tempTableFullName
- sql "select 1" // ensure db is created
- connect(context.config.jdbcUser, context.config.jdbcPassword,
context.config.jdbcUrl) {
- sql"use ${db}"
- sql """create temporary table ${tableName}(id int)
properties("replication_num" = "1") """
- def show_result = sql_return_maparray("show data")
-
- show_result.each { row ->
- if (row.TableName.contains(tableName)) {
- tempTableFullName = row.TableName
- }
- }
- assert tempTableFullName != null
-
- // set session variable for a short connection timeout
- sql "set interactive_timeout=5"
- sql "set wait_timeout=5"
-
- sleep(10*1000)
- }
-
- // temp table should not exist after session exit
- def tables = sql_return_maparray("show data")
- assert tables.find { it.TableName == tempTableFullName } == null
-}
diff --git
a/regression-test/suites/unique_with_mow_p0/partial_update/test_p_seq_publish_read_from_old.groovy
b/regression-test/suites/unique_with_mow_p0/partial_update/test_p_seq_publish_read_from_old.groovy
index 81423436c06..f1a6ea813e8 100644
---
a/regression-test/suites/unique_with_mow_p0/partial_update/test_p_seq_publish_read_from_old.groovy
+++
b/regression-test/suites/unique_with_mow_p0/partial_update/test_p_seq_publish_read_from_old.groovy
@@ -162,6 +162,6 @@ suite("test_p_seq_publish_read_from_old") {
wait_for_publish(txnId2, 60)
sql "sync;"
- qt_sql "select k,v1,v2,v3,v4,v5,__DORIS_SEQUENCE_COL__ from ${tableName}
order by k;"
- inspectRows "select
k,v1,v2,v3,v4,v5,__DORIS_SEQUENCE_COL__,__DORIS_VERSION_COL__,__DORIS_DELETE_SIGN__
from ${tableName} order by k,__DORIS_VERSION_COL__,__DORIS_SEQUENCE_COL__;"
+ qt_sql "select k,v1,v2,v3,v4,v5,__DORIS_SEQUENCE_COL__ from ${tableName}
order by k,v1,v2,v3,v4,v5,__DORIS_SEQUENCE_COL__;"
+ inspectRows "select
k,v1,v2,v3,v4,v5,__DORIS_SEQUENCE_COL__,__DORIS_VERSION_COL__,__DORIS_DELETE_SIGN__
from ${tableName} order by
k,v1,v2,v3,v4,v5,__DORIS_VERSION_COL__,__DORIS_SEQUENCE_COL__;"
}
diff --git a/regression-test/suites/variant_p0/nested.groovy
b/regression-test/suites/variant_p0/nested.groovy
deleted file mode 100644
index 320e5800f18..00000000000
--- a/regression-test/suites/variant_p0/nested.groovy
+++ /dev/null
@@ -1,184 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-suite("regression_test_variant_nested", "p0"){
- def backendId_to_backendIP = [:]
- def backendId_to_backendHttpPort = [:]
- getBackendIpHttpPort(backendId_to_backendIP, backendId_to_backendHttpPort);
-
- try {
-
- def table_name = "var_nested"
- sql "DROP TABLE IF EXISTS ${table_name}"
- sql "set enable_variant_flatten_nested = true"
- sql """
- CREATE TABLE IF NOT EXISTS ${table_name} (
- k bigint,
- v variant <properties("variant_max_subcolumns_count" =
"3")>
- )
- DUPLICATE KEY(`k`)
- DISTRIBUTED BY HASH(k) BUCKETS 4
- properties("replication_num" = "1", "disable_auto_compaction"
= "false", "variant_enable_flatten_nested" = "true");
- """
- sql """
- insert into var_nested values (1, '{"xx" : 10}');
- insert into var_nested values (2, '{"nested": [{"ba" :
"11111"},{"a" : "1111"},{"axxxb": 100, "xxxy111": 111}, {"ddsss":1024, "aaa" :
"11"}, {"xx" : 10}]}');
- insert into var_nested values (3, '{"xx" : 10}');
- insert into var_nested values (4, '{"nested": [{"baaa" :
"11111"},{"ax1111" : "1111"},{"axxxb": 100, "xxxy111": 111}, {"ddsss":1024,
"aaa" : "11"}, {"xx" : 10}]}');
- insert into var_nested values (5, '{"nested": [{"ba" :
"11111"},{"a" : "1111"},{"axxxb": 100, "xxxy111": 111}, {"ddsss":1024, "aaa" :
"11"}, {"xx" : 10}]}');
- insert into var_nested values (6, '{"nested": [{"mmm" :
"11111"},{"ax1111" : "1111"},{"axxxb": 100, "xxxy111": 111}, {"ddsss":1024,
"aaa" : "11"}, {"xx" : 10}]}');
- insert into var_nested values (7, '{"nested": [{"ba" :
"11111"},{"a" : "1111"},{"axxxb": 100, "xxxy111": 111}, {"ddsss":1024, "aaa" :
"11"}, {"xx" : 10}]}');
- insert into var_nested values (8, '{"nested": [{"yyy" :
"11111"},{"ax1111" : "1111"},{"axxxb": 100, "xxxy111": 111}, {"ddsss":1024,
"aaa" : "11"}, {"xx" : 10}]}');
- insert into var_nested values (9, '{"nested": [{"yyy" :
"11111"},{"ax1111" : "1111"},{"axxxb": 100, "xxxy111": 111}, {"ddsss":1024,
"aaa" : "11"}, {"xx" : 10}]}');
- insert into var_nested values (10, '{"xx" : 10}');
- insert into var_nested values (11, '{"nested": [{"yyy" :
"11111"},{"ax1111" : "1111"},{"axxxb": 100, "xxxy111": 111}, {"ddsss":1024,
"aaa" : "11"}, {"xx" : 10}]}');
- insert into var_nested values (12, '{"nested": [{"yyy" :
"11111"},{"ax1111" : "1111"},{"axxxb": 100, "xxxy111": 111}, {"ddsss":1024,
"aaa" : "11"}, {"xx" : 10}]}');
- insert into var_nested values (13, '{"nested": [{"yyy" :
"11111"},{"ax1111" : "1111"},{"axxxb": 100, "xxxy111": 111}, {"ddsss":1024,
"aaa" : "11"}, {"xx" : 10}]}');
- insert into var_nested values (14, '{"nested": [{"yyy" :
"11111"},{"ax1111" : "1111"},{"axxxb": 100, "xxxy111": 111}, {"ddsss":1024,
"aaa" : "11"}, {"xx" : 10}]}');
- insert into var_nested values (15, '{"nested": [{"yyy" :
"11111"},{"ax1111" : "1111"},{"axxxb": 100, "xxxy111": 111}, {"ddsss":1024,
"aaa" : "11"}, {"xx" : 10}]}');
- insert into var_nested values (16, '{"nested": [{"yyy" :
"11111"},{"ax1111" : "1111"},{"axxxb": 100, "xxxy111": 111}, {"ddsss":1024,
"aaa" : "11"}, {"xx" : 10}]}');
- insert into var_nested values (17, '{"nested": [{"yyy" :
"11111"},{"ax1111" : "1111"},{"axxxb": 100, "xxxy111": 111}, {"ddsss":1024,
"aaa" : "11"}, {"xx" : 10}]}');
- insert into var_nested values (18, '{"xx" : 10}');
- insert into var_nested values (19, '{"nested": [{"yyy" :
"11111"},{"ax1111" : "1111"},{"axxxb": 100, "xxxy111": 111}, {"ddsss":1024,
"aaa" : "11"}, {"xx" : 10}]}');
- insert into var_nested values (20, '{"nested": [{"yyy" :
"11111"},{"ax1111" : "1111"},{"axxxb": 100, "xxxy111": 111}, {"ddsss":1024,
"aaa" : "11"}, {"xx" : 10}]}');
- insert into var_nested values (21, '{"nested": [{"ax1111" :
"1111"},{"axxxb": 100, "xxxy111": 111}, {"ddsss":1024, "aaa" : "11"}, {"xx" :
10}]}');
- insert into var_nested values (22, '{"nested": [{"axxxb": 100,
"xxxy111": 111}, {"ddsss":1024, "aaa" : "11"}, {"xx" : 10}, {"zzz11" :
"123333"}]}');
- insert into var_nested values (23, '{"nested": [{"yyyxxxx" :
"11111"},{"ax1111" : "1111"},{"axxxb": 100, "xxxy111": 111}, {"ddsss":1024,
"aaa" : "11"}, {"xx" : 10}]}');
- """
-
- sql """
- insert into var_nested values (24, '{"xx" : 10}');
- insert into var_nested values (25, '{"nested":{"nested": [{"ba" :
"11111"},{"a" : "1111"},{"axxxb": 100, "xxxy111": 111}, {"ddsss":1024, "aaa" :
"11"}, {"xx" : 10}]}}');
- insert into var_nested values (26, '{"xx" : 10}');
- insert into var_nested values (27, '{"nested" : {"nested":
[{"yyyxxxx" : "11111"},{"ax1111" : "1111"},{"axxxb": 100, "xxxy111": 111},
{"ddsss":1024, "aaa" : "11"}, {"xx" : 10}]}}');
- insert into var_nested values (28, '{"nested" : {"nested":
[{"yyyxxxx" : "11111"},{"ax1111" : "1111"},{"axxxb": 100, "xxxy111": 111},
{"ddsss":1024, "aaa" : "11"}, {"xx" : 10}]}, "not nested" : 1024, "not nested2"
: {"llll" : 123}}');
- """
- sql """select * from var_nested limit 1"""
- sql """set describe_extend_variant_column = true"""
- qt_sql """DESC var_nested"""
- qt_sql """
- select * from var_nested order by k limit 101
- """
- for (int i = 101; i < 121; ++i) {
- sql """insert into var_nested values (${i}, '{"nested${i}" :
{"nested": [{"yyyxxxx" : "11111"},{"ax1111" : "1111"},{"axxxb": 100, "xxxy111":
111}, {"ddsss":1024, "aaa" : "11"}, {"xx" : 10}]}, "not nested" : 1024, "not
nested2" : {"llll" : 123}}');"""
- }
-
- trigger_and_wait_compaction("var_nested", "full", 1800)
-
- qt_sql """
- select * from var_nested order by k limit 101
- """
- sql """INSERT INTO var_nested SELECT *, '{"k1":1, "k2": "some", "k3" :
[1234], "k4" : 1.10000, "k5" : [[123]], "nested1" : {"nested2" : [{"a" : 10,
"b" : 1.1, "c" : "1111"}]}}' FROM numbers("number" = "1000") where number > 200
limit 100;"""
- sql """INSERT INTO var_nested SELECT *, '{"k2":1, "k3": "nice", "k4" :
[1234], "k5" : 1.10000, "k6" : [[123]], "nested2" : {"nested1" : [{"a" : 10,
"b" : 1.1, "c" : "1111"}]}}' FROM numbers("number" = "5013") where number >=
400 limit 1024;"""
- trigger_and_wait_compaction("var_nested", "full", 1800)
-
- qt_sql """select
/*+SET_VAR(batch_size=1024,broker_load_batch_size=16352,disable_streaming_preaggregations=true,enable_distinct_streaming_aggregation=true,parallel_fragment_exec_
-parallel_pipeline_task_num=7,profile_level=1,enable_pipeline_engine=true,enable_parallel_scan=false,parallel_scan_max_scanners_count=16
-,parallel_scan_min_rows_per_scanner=128,enable_fold_constant_by_be=false,enable_rewrite_element_at_to_slot=true,runtime_filter_type=2,enable_parallel_result_sink=true,sort_phase_num=0,enable_nereids_planner=true,rewrite_or_to_in_predicate_threshold=2,enable_function_pushdown=true,enable_common_expr_pushdown=false,enable_local_exchange=true,partition_pruning_expand_threshold=10,enable_share_hash_table_for_broadcast_join=false,enable_two_phase_read_opt=true,enable_common_expr_pushdown_for_
[...]
- qt_sql """select * from var_nested where v['k2'] = 'some' and
array_contains(cast(v['nested1']['nested2']['a'] as array<tinyint>), 10) order
by k limit 1;"""
-
- sql """INSERT INTO var_nested SELECT *, '{"k1":1, "k2": "some", "k3" :
[1234], "k4" : 1.10000, "k5" : [[123]], "nested1" : {"nested2" : [{"a" : 10,
"b" : 1.1, "c" : "1111"}]}}' FROM numbers("number" = "4096") where number >
1024 limit 1024;"""
- sql """INSERT INTO var_nested SELECT *, '{"k1":1, "k2": "what", "k3" :
[1234], "k4" : 1.10000, "k5" : [[123]], "nested1" : {"nested2" : [{"a" : 10,
"b" : 1.1, "c" : "1111"}]}}' FROM numbers("number" = "4096") where number >
2048 limit 1024;"""
- sql """INSERT INTO var_nested SELECT *, '{"k1":1, "k2": "about", "k3"
: [1234], "k4" : 1.10000, "k5" : [[123]], "nested1" : {"nested2" : [{"a" : 10,
"b" : 1.1, "c" : "1111"}]}}' FROM numbers("number" = "4096") where number >
3072 limit 1024;"""
- sql """INSERT INTO var_nested SELECT *, '{"k1":1, "k2": "nested", "k3"
: [1234], "k4" : 1.10000, "k5" : [[123]], "nested1" : {"nested2" : [{"a" : 10,
"b" : 1.1, "c" : "1111"}]}}' FROM numbers("number" = "6000") where number >
4096 limit 1024;"""
- qt_sql """select * from var_nested where v['k2'] = 'what' order by k
limit 10"""
- qt_sql """select * from var_nested where v['k2'] = 'some' and
array_contains(cast(v['nested1']['nested2']['a'] as array<tinyint>), 10) order
by k limit 1;"""
-
- // type change case
- sql """INSERT INTO var_nested SELECT *, '{"k1":"1", "k2": 1.1, "k3" :
[1234.0], "k4" : 1.10000, "k5" : [["123"]], "nested1" : {"nested2" : [{"a" :
"10", "b" : "1.1", "c" : 1111.111}]}}' FROM numbers("number" = "8000") where
number > 7000 limit 100;"""
- qt_sql """select * from var_nested where v['k2'] = 'what' and
array_contains(cast(v['nested1']['nested2']['a'] as array<tinyint>), 10) order
by k limit 1;"""
- trigger_and_wait_compaction("var_nested", "full", 1800)
- qt_sql """select * from var_nested where v['k2'] = 'nested' and
array_contains(cast(v['nested1']['nested2']['a'] as array<tinyint>), 10) order
by k limit 1;"""
- sql """select * from var_nested where v['k2'] = 'some' or v['k3'] =
'nice' limit 100;"""
-
- // insert into select
- sql "DROP TABLE IF EXISTS var_nested2"
- sql """
- CREATE TABLE IF NOT EXISTS var_nested2 (
- k bigint,
- v variant <properties("variant_max_subcolumns_count" =
"3")>
- )
- UNIQUE KEY(`k`)
- DISTRIBUTED BY HASH(k) BUCKETS 1
- properties("replication_num" = "1", "disable_auto_compaction"
= "false", "enable_unique_key_merge_on_write" = "true",
"variant_enable_flatten_nested" = "true");
- """
- sql """insert into var_nested2 select * from var_nested order by k
limit 1024"""
- qt_sql """select
/*+SET_VAR(batch_size=4064,broker_load_batch_size=16352,disable_streaming_preaggregations=true,enable_distinct_streaming_aggregation=true,parallel_pipeline_task_num=1,profile_level=1,enable_parallel_scan=true,parallel_scan_max_scanners_count=48,parallel_scan_min_rows_per_scanner=16384,enable_fold_constant_by_be=true,enable_rewrite_element_at_to_slot=true,runtime_filter_type=12,enable_parallel_result_sink=false,enable_nereids_planner=true,rewrite_or_to_in_predica
[...]
- qt_sql """select v['nested'] from var_nested2 where k < 10 order by k
limit 10;"""
- // 0. nomal explode variant array
- order_qt_explode_sql """select count(),cast(vv['xx'] as int) from
var_nested lateral view explode_variant_array(v['nested']) tmp as vv where
vv['xx'] = 10 group by cast(vv['xx'] as int)"""
- sql """truncate table var_nested2"""
- sql """insert into var_nested2 values(1119111,
'{"eventId":1,"firstName":"Name1","lastName":"Surname1","body":{"phoneNumbers":[{"number":"5550219210","type":"GSM","callLimit":5},{"number":"02124713252","type":"HOME","callLimit":3},{"number":"05550219211","callLimit":2,"type":"WORK"}]}}
-')"""
- order_qt_explode_sql """select v['eventId'], phone_numbers from
var_nested2 lateral view explode_variant_array(v['body']['phoneNumbers']) tmp1
as phone_numbers
-where phone_numbers['type'] = 'GSM' OR phone_numbers['type'] = 'HOME' and
phone_numbers['callLimit'] > 2;"""
-
- // test array_function
- sql "DROP TABLE IF EXISTS var_nested_array_agg"
- sql """
- CREATE TABLE IF NOT EXISTS var_nested_array_agg(
- k bigint,
- v variant <properties("variant_max_subcolumns_count" =
"3")>
- )
- UNIQUE KEY(`k`)
- DISTRIBUTED BY HASH(k) BUCKETS 1
- properties("replication_num" = "1", "disable_auto_compaction"
= "false", "enable_unique_key_merge_on_write" = "true",
"variant_enable_flatten_nested" = "true");
- """
- sql "insert into var_nested_array_agg select * from var_nested"
- // 1. array_contains
- qt_sql "select * from var_nested_array_agg where
array_contains(cast(v['nested']['xx'] as array<int>), 10) order by k limit 10"
- // 2. array_agg scalar
- sql "select k, array_agg(cast(v['nested'] as text)) from
var_nested_array_agg group by k limit 10"
-
- // test explode_variant_array with abonomal case
- sql "DROP TABLE IF EXISTS var_nested_explode_variant_with_abnomal"
- sql """
- CREATE TABLE IF NOT EXISTS
var_nested_explode_variant_with_abnomal(
- k bigint,
- v variant <properties("variant_max_subcolumns_count" =
"3")>
- )
- UNIQUE KEY(`k`)
- DISTRIBUTED BY HASH(k) BUCKETS 1
- properties("replication_num" = "1", "disable_auto_compaction"
= "false", "enable_unique_key_merge_on_write" = "true",
"variant_enable_flatten_nested" = "true");
- """
- sql "insert into var_nested_explode_variant_with_abnomal select * from
var_nested"
- // 1. v['nested']['x'] is null root
- order_qt_explode_sql """select count(),cast(vv as int) from
var_nested_explode_variant_with_abnomal lateral view
explode_variant_array(v['nested']['x']) tmp as vv where vv = 10 group by
cast(vv as int)"""
- // 2. v['nested']['xx'] is normal array
- order_qt_explode_sql """select count(),cast(vv as int) from
var_nested_explode_variant_with_abnomal lateral view
explode_variant_array(v['nested']['xx']) tmp as vv where vv = 10 group by
cast(vv as int)"""
- // 3. v['xx'] is none array scalar type
- test {
- sql """select count(),cast(vv as int) from
var_nested_explode_variant_with_abnomal lateral view
explode_variant_array(v['xx']) tmp as vv where vv = 10 group by cast(vv as
int)"""
- exception("explode not support none array type")
- }
- // 4. v['k1'] is json scalar type
- test {
- sql """select count(),cast(vv as int) from
var_nested_explode_variant_with_abnomal lateral view
explode_variant_array(v['k1']) tmp as vv where vv = 10 group by cast(vv as
int)"""
- exception("explode not support none array type")
- }
- // 5. toplevel nested array
- sql "truncate table var_nested_explode_variant_with_abnomal"
- sql """insert into var_nested_explode_variant_with_abnomal values(1,
'[{"a" : 10}, {"b" : "20", "c" :1024, "a" : 11}]')"""
- sql """insert into var_nested_explode_variant_with_abnomal values(2,
'[{"a" : 10}, {"b" : "20", "a" : 150}]')"""
- order_qt_explode_sql """select count(),cast(vv as int) from
var_nested_explode_variant_with_abnomal lateral view
explode_variant_array(v['a']) tmp as vv where vv = 10 group by cast(vv as
int)"""
- // FIXME after refator
- // order_qt_explode_sql """select count(),cast(vv as int) from
var_nested_explode_variant_with_abnomal lateral view explode_variant_array(v)
tmp as vv where vv['a'] = 10 group by cast(vv as int)"""
- } finally {
- // reset flags
- }
-
-}
diff --git a/regression-test/suites/variant_p0/nested/load.groovy
b/regression-test/suites/variant_p0/nested/load.groovy
deleted file mode 100644
index f1c5b6121d0..00000000000
--- a/regression-test/suites/variant_p0/nested/load.groovy
+++ /dev/null
@@ -1,200 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-// // this test is used to test the load of nested array
-// TODO(lihangyu): need to be fixed
-// suite("variant_nested_type_load", "p0"){
-//
-// try {
-//
-// // create a table with conflict variant which insert same nested
subcolumn and scalar subcolumn data
-// def table_name = "var_nested_load_conflict"
-// sql "DROP TABLE IF EXISTS ${table_name}"
-// sql """set describe_extend_variant_column = true"""
-//
-// // set disable_variant_flatten_nested = true to disable variant
flatten nested which is default behavior
-// sql """ set disable_variant_flatten_nested = true """
-// test {
-// sql """
-// CREATE TABLE IF NOT EXISTS ${table_name} (
-// k bigint,
-// v variant
-// )
-// DUPLICATE KEY(`k`)
-// DISTRIBUTED BY HASH(k) BUCKETS 1 -- 1 bucket make
really compaction in conflict case
-// properties("replication_num" = "1",
"disable_auto_compaction" = "true", "variant_enable_flatten_nested" = "true");
-// """
-// exception "If you want to enable variant flatten nested, please
set session variable"
-// }
-//
-//
-// // set disable_variant_flatten_nested = false to enable variant
flatten nested
-// sql """ set disable_variant_flatten_nested = false """
-// sql """
-// CREATE TABLE IF NOT EXISTS ${table_name} (
-// k bigint,
-// v variant
-// )
-// DUPLICATE KEY(`k`)
-// DISTRIBUTED BY HASH(k) BUCKETS 1 -- 1 bucket make
really compaction in conflict case
-// properties("replication_num" = "1",
"disable_auto_compaction" = "true", "variant_enable_flatten_nested" = "true");
-// """
-// sql """ insert into ${table_name} values (1, '{"nested": [{"a": 1,
"c": 1.1}, {"b": "1"}]}'); """
-//
-// def desc_table = { tn ->
-// sql """ set describe_extend_variant_column = true """
-// sql """ select * from ${tn} order by k """
-// qt_sql_desc """ desc ${tn} """
-// }
-//
-// def sql_select_batch = { tn ->
-// qt_sql_0 """select * from ${tn} order by k"""
-//
-// qt_sql_1 """select v['nested']['a'] from ${tn} order by k"""
-// qt_sql_2 """select v['nested']['b'] from ${tn} order by k"""
-// qt_sql_3 """select v['nested']['c'] from ${tn} order by k"""
-//
-// qt_sql_4 """select v['nested'] from ${tn} order by k"""
-// }
-//
-// def sql_test_cast_to_array = { tn ->
-// // test cast to array<int>
-// qt_sql_8 """select cast(v['nested']['a'] as array<int>),
size(cast(v['nested']['a'] as array<int>)) from ${tn} order by k"""
-// qt_sql_9 """select cast(v['nested']['b'] as array<int>),
size(cast(v['nested']['b'] as array<int>)) from ${tn} order by k"""
-// qt_sql_10 """select cast(v['nested']['c'] as array<int>),
size(cast(v['nested']['c'] as array<int>)) from ${tn} order by k"""
-//
-// // test cast to array<string>
-// qt_sql_11 """select cast(v['nested']['a'] as array<string>),
size(cast(v['nested']['a'] as array<string>)) from ${tn} order by k"""
-// qt_sql_12 """select cast(v['nested']['b'] as array<string>),
size(cast(v['nested']['b'] as array<string>)) from ${tn} order by k"""
-// qt_sql_13 """select cast(v['nested']['c'] as array<string>),
size(cast(v['nested']['c'] as array<string>)) from ${tn} order by k"""
-//
-// // test cast to array<double>
-// qt_sql_14 """select cast(v['nested']['a'] as array<double>),
size(cast(v['nested']['a'] as array<double>)) from ${tn} order by k"""
-// qt_sql_15 """select cast(v['nested']['b'] as array<double>),
size(cast(v['nested']['b'] as array<double>)) from ${tn} order by k"""
-// qt_sql_16 """select cast(v['nested']['c'] as array<double>),
size(cast(v['nested']['c'] as array<double>)) from ${tn} order by k"""
-//
-// }
-//
-// def sql_test_cast_to_scalar = { tn ->
-// qt_sql_17 """select cast(v['nested']['a'] as int),
cast(v['nested']['b'] as int), cast(v['nested']['c'] as int) from ${tn} order
by k"""
-// qt_sql_18 """select cast(v['nested']['a'] as string),
cast(v['nested']['b'] as string), cast(v['nested']['c'] as string) from ${tn}
order by k"""
-// qt_sql_19 """select cast(v['nested']['a'] as double),
cast(v['nested']['b'] as double), cast(v['nested']['c'] as double) from ${tn}
order by k"""
-// }
-//
-// /// insert a array of object for a, b, c
-// // insert structure conflict in one row
-// // a , b, c is Nested array,
-// def table_name_1 = "var_nested_load_no_conflict"
-// sql "DROP TABLE IF EXISTS ${table_name_1}"
-// sql """set describe_extend_variant_column = true"""
-// sql """
-// CREATE TABLE IF NOT EXISTS ${table_name_1} (
-// k bigint,
-// v variant
-// )
-// DUPLICATE KEY(`k`)
-// DISTRIBUTED BY HASH(k) BUCKETS 1 -- 1 bucket make really
compaction in conflict case
-// properties("replication_num" = "1",
"disable_auto_compaction" = "true", "variant_enable_flatten_nested" = "true");
-// """
-// // insert a array of object for a, b, c first then insert structure
conflict in one row
-// // insert structure conflict in one row
-// // a , b, c is Nested array,
-// sql """
-// insert into ${table_name_1} values (1, '{"nested": [{"a": 1,
"c": 1.1}, {"b": "1"}]}');
-// """
-// sql_select_batch(table_name_1)
-// sql_test_cast_to_array(table_name_1)
-// sql_test_cast_to_scalar(table_name_1)
-// // insert structure conflict in one row
-// test {
-// sql """
-// insert into ${table_name_1} values (2, '{"nested": {"a":
2.5, "b": "123.1"}}');
-// """
-// exception "Ambiguous paths"
-// }
-// // insert more different combination data for a, b, c
-// sql """
-// insert into ${table_name_1} values (3, '{"nested": [{"a": 2.5,
"b": "123.1"}]}');
-// """
-// sql """
-// insert into ${table_name_1} values (4, '{"nested": [{"a": 2.5,
"b": 123.1}]}');
-// """
-// sql """
-// insert into ${table_name_1} values (5, '{"nested": [{"a": 2.5,
"c": "123.1"}, {"b": "123.1"}]}');
-// """
-// sql """
-// insert into ${table_name_1} values (6, '{"nested": [{"a": 2.5},
{"b": 123.1}]}');
-// """
-// sql """
-// insert into ${table_name_1} values (7, '{"nested": [{"a": 2.5},
{"c": 123.1}, {"b": "123.1"}]}');
-// """
-// sql_select_batch(table_name_1)
-// sql_test_cast_to_array(table_name_1)
-// sql_test_cast_to_scalar(table_name_1)
-// // trigger and wait compaction
-// trigger_and_wait_compaction("${table_name_1}", "full", 1800)
-// sql_select_batch(table_name_1)
-// sql_test_cast_to_array(table_name_1)
-// sql_test_cast_to_scalar(table_name_1)
-//
-// // drop table
-// sql """ drop table ${table_name_1} """
-// sql """ create table ${table_name_1} (k bigint, v variant)
duplicate key(k) distributed by hash(k) buckets 1 properties("replication_num"
= "1", "disable_auto_compaction" = "true", "variant_enable_flatten_nested" =
"true") """
-// // insert scalar data first then insert structure conflict in one
row
-// sql """
-// insert into ${table_name_1} values (1, '{"nested": {"a": 2.5,
"b": "123.1"}}');
-// """
-// sql_select_batch(table_name_1)
-// sql_test_cast_to_array(table_name_1)
-// sql_test_cast_to_scalar(table_name_1)
-// // insert structure conflict in one row: a array of object for a,
b, c
-// test {
-// sql """
-// insert into ${table_name_1} values (2, '{"nested": [{"a":
2.5, "b": "123.1"}]}');
-// """
-// exception "Ambiguous paths"
-// }
-// // insert more different combination data for a, b, c in scalar
-// sql """
-// insert into ${table_name_1} values (3, '{"nested": {"a": 2.5,
"b": 123.1}}');
-// """
-// sql """
-// insert into ${table_name_1} values (4, '{"nested": {"a": 2.5,
"c": "123.1"}}');
-// """
-// sql """
-// insert into ${table_name_1} values (5, '{"nested": {"a": 2.5,
"c": 123.1}}');
-// """
-// sql """
-// insert into ${table_name_1} values (6, '{"nested": {"a": 2.5,
"c": "123.1"}}');
-// """
-// sql """
-// insert into ${table_name_1} values (7, '{"nested": {"a": 2.5,
"b": "123.1", "c": 123.1}}');
-// """
-// sql_select_batch(table_name_1)
-// sql_test_cast_to_array(table_name_1)
-// sql_test_cast_to_scalar(table_name_1)
-// // trigger and wait compaction
-// trigger_and_wait_compaction("${table_name_1}", "full", 1800)
-// sql_select_batch(table_name_1)
-// sql_test_cast_to_array(table_name_1)
-// sql_test_cast_to_scalar(table_name_1)
-//
-// } finally {
-// }
-//
-// }
-//
\ No newline at end of file
diff --git
a/regression-test/suites/variant_p0/nested/nested_in_top_array.groovy
b/regression-test/suites/variant_p0/nested/nested_in_top_array.groovy
deleted file mode 100644
index d640cdc6bbe..00000000000
--- a/regression-test/suites/variant_p0/nested/nested_in_top_array.groovy
+++ /dev/null
@@ -1,131 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-// this test is used to test the nested in top array
-suite("nested_in_top_array", "p0"){
-
- try {
-
- // create a table with nested in top array
- def table_name = "var_nested_in_top_array"
- sql "DROP TABLE IF EXISTS ${table_name}"
- sql """set describe_extend_variant_column = true"""
-
- sql """ set default_variant_max_subcolumns_count = 0"""
- // set disable_variant_flatten_nested = false to enable variant
flatten nested
- sql """ set enable_variant_flatten_nested = true """
- sql """
- CREATE TABLE IF NOT EXISTS ${table_name} (
- k bigint,
- v variant
- )
- DUPLICATE KEY(`k`)
- DISTRIBUTED BY HASH(k) BUCKETS 1 -- 1 bucket make really
compaction in conflict case
- properties("replication_num" = "1",
"disable_auto_compaction" = "false", "variant_enable_flatten_nested" = "true");
- """
- sql """ insert into ${table_name} values (1, '[{"a": 1, "c": 1.1},
{"b": "1"}]'); """
-
- def sql_select_batch = { tn ->
- qt_sql_0 """select * from ${tn} order by k"""
-
- qt_sql_1 """select v['a'] from ${tn} order by k"""
- qt_sql_2 """select v['b'] from ${tn} order by k"""
- qt_sql_3 """select v['c'] from ${tn} order by k"""
-
- qt_sql_4 """select v from ${tn} order by k"""
- }
-
- def sql_test_cast_to_array = { tn ->
- // test cast to array<int>
- qt_sql_8 """select cast(v['a'] as array<int>), size(cast(v['a'] as
array<int>)) from ${tn} order by k"""
- qt_sql_9 """select cast(v['b'] as array<int>), size(cast(v['b'] as
array<int>)) from ${tn} order by k"""
- qt_sql_10 """select cast(v['c'] as array<int>), size(cast(v['c']
as array<int>)) from ${tn} order by k"""
-
- // test cast to array<string>
- qt_sql_11 """select cast(v['a'] as array<string>),
size(cast(v['a'] as array<string>)) from ${tn} order by k"""
- qt_sql_12 """select cast(v['b'] as array<string>),
size(cast(v['b'] as array<string>)) from ${tn} order by k"""
- qt_sql_13 """select cast(v['c'] as array<string>),
size(cast(v['c'] as array<string>)) from ${tn} order by k"""
-
- // test cast to array<double>
- qt_sql_14 """select cast(v['a'] as array<double>),
size(cast(v['a'] as array<double>)) from ${tn} order by k"""
- qt_sql_15 """select cast(v['b'] as array<double>),
size(cast(v['b'] as array<double>)) from ${tn} order by k"""
- qt_sql_16 """select cast(v['c'] as array<double>),
size(cast(v['c'] as array<double>)) from ${tn} order by k"""
-
- }
-
- def sql_test_cast_to_scalar = { tn ->
- qt_sql_17 """select cast(v['a'] as int), cast(v['b'] as int),
cast(v['c'] as int) from ${tn} order by k"""
- qt_sql_18 """select cast(v['a'] as string), cast(v['b'] as
string), cast(v['c'] as string) from ${tn} order by k"""
- qt_sql_19 """select cast(v['a'] as double), cast(v['b'] as
double), cast(v['c'] as double) from ${tn} order by k"""
- }
-
-
- sql_select_batch(table_name)
- sql_test_cast_to_array(table_name)
- sql_test_cast_to_scalar(table_name)
-
- // insert with type conflict for a, b
- sql """
- insert into ${table_name} values (2, '[{"a": "2.5", "b": 123.1}]');
- """
- sql_select_batch(table_name)
- sql_test_cast_to_array(table_name)
- sql_test_cast_to_scalar(table_name)
-
- // insert with structure conflict for a
- sql """
- insert into ${table_name} values (3, '[{"a": {"c": 1}}, {"a":
{"b": 2}}]');
- """
- sql_select_batch(table_name)
- sql_test_cast_to_array(table_name)
- sql_test_cast_to_scalar(table_name)
-
- // insert ambiguous structure for a which should throw exception
- test {
- sql """
- insert into ${table_name} values (4, '[{"a": {"c": 1}}, {"a":
2}]');
- """
- exception "Ambiguous structure of top_array nested subcolumns:"
- }
-
-
- // insert multi object in array
- sql """
- insert into ${table_name} values (5, '[{"a": {"c": 1}}, {"c":
{"a": 2}}, {"b": "1"}]');
- """
- sql_select_batch(table_name)
- sql_test_cast_to_array(table_name)
- sql_test_cast_to_scalar(table_name)
-
- // insert multi b in array
- sql """
- insert into ${table_name} values (6, '[{"a": 1, "b": 1}, {"b": 2},
{"b": 3}]');
- """
- sql_select_batch(table_name)
- sql_test_cast_to_array(table_name)
- sql_test_cast_to_scalar(table_name)
-
- // trigger and wait compaction
- trigger_and_wait_compaction("${table_name}", "full", 1800)
- sql_select_batch(table_name)
- sql_test_cast_to_array(table_name)
- sql_test_cast_to_scalar(table_name)
-
- } finally {
- }
-
-}
diff --git a/regression-test/suites/variant_p0/nested/sql/q01.sql
b/regression-test/suites/variant_p0/nested/sql/q01.sql
deleted file mode 100644
index 71ee81428ed..00000000000
--- a/regression-test/suites/variant_p0/nested/sql/q01.sql
+++ /dev/null
@@ -1,13 +0,0 @@
--- TABLES: var_nested_load_conflict
-select v['nested']['a'] from var_nested_load_conflict order by k;
-select v['nested']['b'] from var_nested_load_conflict order by k;
-select v['nested']['c'] from var_nested_load_conflict order by k;
-select v['nested'] from var_nested_load_conflict order by k;
-
-select cast(v['nested']['a'] as array<int>), size(cast(v['nested']['a'] as
array<int>)) from var_nested_load_conflict order by k;
-select cast(v['nested']['b'] as array<int>), size(cast(v['nested']['b'] as
array<int>)) from var_nested_load_conflict order by k;
-select cast(v['nested']['c'] as array<int>), size(cast(v['nested']['c'] as
array<int>)) from var_nested_load_conflict order by k;
-
-select cast(v['nested']['a'] as array<string>), size(cast(v['nested']['a'] as
array<string>)) from var_nested_load_conflict order by k;
-select cast(v['nested']['b'] as array<string>), size(cast(v['nested']['b'] as
array<string>)) from var_nested_load_conflict order by k;
-select cast(v['nested']['c'] as array<string>), size(cast(v['nested']['c'] as
array<string>)) from var_nested_load_conflict order by k;
\ No newline at end of file
diff --git a/regression-test/suites/variant_p0/nested2.groovy
b/regression-test/suites/variant_p0/nested2.groovy
deleted file mode 100644
index bf2a29709c8..00000000000
--- a/regression-test/suites/variant_p0/nested2.groovy
+++ /dev/null
@@ -1,160 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements. See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership. The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License. You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied. See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-// this test is used to test the type conflict of nested array
-suite("variant_nested_type_conflict", "p0"){
-
- try {
-
- def table_name = "var_nested_type_conflict"
- sql "DROP TABLE IF EXISTS ${table_name}"
- sql """set describe_extend_variant_column = true"""
-
- sql """ set enable_variant_flatten_nested = true """
- sql "set default_variant_max_subcolumns_count = 0"
- sql """
- CREATE TABLE IF NOT EXISTS ${table_name} (
- k bigint,
- v variant
- )
- DUPLICATE KEY(`k`)
- DISTRIBUTED BY HASH(k) BUCKETS 1 -- 1 bucket make really
compaction in conflict case
- properties("replication_num" = "1", "disable_auto_compaction"
= "false", "variant_enable_flatten_nested" = "true");
- """
- def sql_select_batch = {
- qt_sql_0 """select * from ${table_name} order by k"""
-
- qt_sql_1 """select v['nested']['a'] from ${table_name} order by
k"""
- qt_sql_2 """select v['nested']['b'] from ${table_name} order by
k"""
- qt_sql_3 """select v['nested']['c'] from ${table_name} order by
k"""
-
- qt_sql_4 """select v['nested'] from ${table_name} order by k"""
- }
-
- def sql_test_cast_to_array = {
- // test cast to array<int>
- qt_sql_8 """select cast(v['nested']['a'] as array<int>),
size(cast(v['nested']['a'] as array<int>)) from ${table_name} order by k"""
- qt_sql_9 """select cast(v['nested']['b'] as array<int>),
size(cast(v['nested']['b'] as array<int>)) from ${table_name} order by k"""
- qt_sql_10 """select cast(v['nested']['c'] as array<int>),
size(cast(v['nested']['c'] as array<int>)) from ${table_name} order by k"""
-
- // test cast to array<string>
- qt_sql_11 """select cast(v['nested']['a'] as array<string>),
size(cast(v['nested']['a'] as array<string>)) from ${table_name} order by k"""
- qt_sql_12 """select cast(v['nested']['b'] as array<string>),
size(cast(v['nested']['b'] as array<string>)) from ${table_name} order by k"""
- qt_sql_13 """select cast(v['nested']['c'] as array<string>),
size(cast(v['nested']['c'] as array<string>)) from ${table_name} order by k"""
-
- // test cast to array<double>
- qt_sql_14 """select cast(v['nested']['a'] as array<double>),
size(cast(v['nested']['a'] as array<double>)) from ${table_name} order by k"""
- qt_sql_15 """select cast(v['nested']['b'] as array<double>),
size(cast(v['nested']['b'] as array<double>)) from ${table_name} order by k"""
- qt_sql_16 """select cast(v['nested']['c'] as array<double>),
size(cast(v['nested']['c'] as array<double>)) from ${table_name} order by k"""
-
- }
- // insert Nested array in Nested array which is not supported
- test {
- sql """
- insert into ${table_name} values (1, '{"nested": [{"a":
[1,2,3]}]}');
- """
- exception "Nesting of array in Nested array within variant
subcolumns is currently not supported."
- }
- // insert batch different structure in same path
- test {
- sql """
- insert into ${table_name} values (3, '{"nested": [{"a": 2.5,
"b": "123.1"}]}'), (4, '{"nested": {"a": 2.5, "b": "123.1"}}');
- """
- exception "Ambiguous paths"
- }
- /// insert a array of object for a, b, c
- // insert type conflict in multiple rows
- sql """
- insert into ${table_name} values (1, '{"nested": [{"a": 1, "c":
1.1}, {"b": "1"}]}');
- """
-
- // for cloud we should select first and then desc for syncing rowset
to get latest schema
- sql """
- select * from ${table_name} order by k limit 1;
- """
- qt_sql_desc_1 """
- desc ${table_name};
- """
- // now select for a, b, c
- sql_select_batch()
- sql_test_cast_to_array()
- /// insert a, b type changed to double
- sql """
- insert into ${table_name} values (2, '{"nested": [{"a": 2.5, "b":
123.1}]}');
- """
- // for cloud we should select first and then desc for syncing rowset
to get latest schema
- sql """
- select * from ${table_name} order by k limit 1;
- """
- qt_sql_desc_2 """
- desc ${table_name};
- """
- // now select for a, b, c
- sql_select_batch()
- sql_test_cast_to_array()
-
- // trigger and wait compaction
- trigger_and_wait_compaction("${table_name}", "full", 1800)
-
- // now select for a, b, c
- sql_select_batch()
- sql_test_cast_to_array()
-
- sql """ truncate table ${table_name} """
-
-
- // insert type conflict in one row
- sql """
- insert into ${table_name} values (1, '{"nested": [{"a": 1, "b":
1.1}, {"a": "1", "b": "1", "c": "1"}]}');
- """
- // for cloud we should select first and then desc for syncing rowset
to get latest schema
- sql """
- select * from ${table_name} order by k limit 1;
- """
- qt_sql_desc_4 """
- desc ${table_name};
- """
- // now select for a, b, c
- sql_select_batch()
- sql_test_cast_to_array()
-
- // insert c type changed to double
- sql """
- insert into ${table_name} values (2, '{"nested": [{"a": 1, "c":
1.1}]}');
- """
- // for cloud we should select first and then desc for syncing rowset
to get latest schema
- sql """
- select * from ${table_name} order by k limit 1;
- """
- qt_sql_desc_5 """
- desc ${table_name};
- """
- // now select for a, b, c
- sql_select_batch()
- sql_test_cast_to_array()
-
- // trigger and wait compaction
- trigger_and_wait_compaction("${table_name}", "full", 1800)
-
- // now select for a, b, c
- sql_select_batch()
- sql_test_cast_to_array()
-
- } finally {
- }
-
-}
diff --git
a/regression-test/suites/variant_p0/predefine/test_predefine_ddl.groovy
b/regression-test/suites/variant_p0/predefine/test_predefine_ddl.groovy
index 7f8a00b5dd3..4d467f3a3e4 100644
--- a/regression-test/suites/variant_p0/predefine/test_predefine_ddl.groovy
+++ b/regression-test/suites/variant_p0/predefine/test_predefine_ddl.groovy
@@ -206,7 +206,7 @@ suite("test_predefine_ddl", "p0") {
INDEX idx_ab (var) USING INVERTED PROPERTIES("field_pattern"="ab",
"parser"="unicode", "support_phrase" = "true") COMMENT ''
) ENGINE=OLAP DUPLICATE KEY(`id`) DISTRIBUTED BY HASH(`id`)
BUCKETS 1 PROPERTIES ( "replication_allocation" =
"tag.location.default: 1", "disable_auto_compaction" = "true")"""
- exception("")
+ exception("invalid INVERTED index")
}
test {
@@ -220,7 +220,7 @@ suite("test_predefine_ddl", "p0") {
INDEX idx_ab_2 (var) USING INVERTED
PROPERTIES("field_pattern"="ab") COMMENT ''
) ENGINE=OLAP DUPLICATE KEY(`id`) DISTRIBUTED BY HASH(`id`)
BUCKETS 1 PROPERTIES ( "replication_allocation" =
"tag.location.default: 1", "disable_auto_compaction" = "true")"""
- exception("column: var cannot have multiple inverted indexes of the
same type with field pattern: ab")
+ exception("invalid INVERTED index")
}
sql "DROP TABLE IF EXISTS ${tableName}"
@@ -273,7 +273,7 @@ suite("test_predefine_ddl", "p0") {
INDEX idx_ab_2 (var) USING INVERTED
PROPERTIES("field_pattern"="ab") COMMENT ''
) ENGINE=OLAP DUPLICATE KEY(`id`) DISTRIBUTED BY HASH(`id`)
BUCKETS 1 PROPERTIES ( "replication_allocation" =
"tag.location.default: 1", "disable_auto_compaction" = "true")"""
- exception("column: var cannot have multiple inverted indexes of the
same type with field pattern: ab")
+ exception("invalid INVERTED index")
}
test {
diff --git a/run-regression-test.sh b/run-regression-test.sh
index a026822ca18..5e6bd561414 100755
--- a/run-regression-test.sh
+++ b/run-regression-test.sh
@@ -203,6 +203,19 @@ fi
# check java version
export JAVA="${JAVA_HOME}/bin/java"
+JAVA_SPEC_VERSION="$("${JAVA}" -XshowSettings:properties -version 2>&1 \
+ | awk -F'= ' '/java.specification.version =/ {print $2; exit}')"
+JAVA_MAJOR_VERSION="${JAVA_SPEC_VERSION%%.*}"
+if [[ "${JAVA_SPEC_VERSION}" == 1.* ]]; then
+ JAVA_MAJOR_VERSION="${JAVA_SPEC_VERSION#1.}"
+ JAVA_MAJOR_VERSION="${JAVA_MAJOR_VERSION%%.*}"
+fi
+
+# Arrow Flight SQL JDBC needs java.nio opened when the regression framework
runs on JDK 17+.
+if [[ -n "${JAVA_MAJOR_VERSION}" ]] && [[ "${JAVA_MAJOR_VERSION}" -ge 17 ]] \
+ && [[ " ${JAVA_OPTS:-} " != *"--add-opens=java.base/java.nio="* ]]; then
+ JAVA_OPTS="${JAVA_OPTS:+${JAVA_OPTS}
}--add-opens=java.base/java.nio=ALL-UNNAMED"
+fi
REGRESSION_OPTIONS_PREFIX=''
@@ -215,7 +228,6 @@ fi
echo "===== Run Regression Test ====="
-# if use jdk17, add java option "--add-opens=java.base/java.nio=ALL-UNNAMED"
if [[ "${TEAMCITY}" -eq 1 ]]; then
JAVA_OPTS="${JAVA_OPTS} -DstdoutAppenderType=teamcity -Xmx2048m"
fi
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]