You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by mo...@apache.org on 2022/04/26 02:15:24 UTC
[incubator-doris] branch master updated: [fix](hierarchical-storage) Fix bug that storage medium property change back to SSD (#9158)
This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-doris.git
The following commit(s) were added to refs/heads/master by this push:
new 7cfebd05fd [fix](hierarchical-storage) Fix bug that storage medium property change back to SSD (#9158)
7cfebd05fd is described below
commit 7cfebd05fd656aec3cb2b7f0835ff9052ad84d93
Author: Mingyu Chen <mo...@gmail.com>
AuthorDate: Tue Apr 26 10:15:19 2022 +0800
[fix](hierarchical-storage) Fix bug that storage medium property change back to SSD (#9158)
1. fix bug described in #9159
2. fix a `fill_tuple` bug introduced from #9173
---
be/src/exec/broker_scanner.cpp | 1 +
be/test/olap/test_data/header_without_inc_rs.txt | 4 +-
.../java/org/apache/doris/catalog/Catalog.java | 6 +-
.../doris/httpv2/rest/TableQueryPlanAction.java | 6 +-
.../apache/doris/analysis/AlterViewStmtTest.java | 182 ---------------------
.../org/apache/doris/analysis/ExplainTest.java | 17 +-
.../org/apache/doris/catalog/CreateViewTest.java | 19 +++
.../doris/http/TableQueryPlanActionTest.java | 4 +-
.../org/apache/doris/planner/QueryPlanTest.java | 5 +-
regression-test/conf/regression-conf.groovy | 4 +-
.../test_create_table_with_bloom_filter.out | 2 +-
.../data/datatype/string/test_string_basic.out | 7 +
.../data/query/lateral_view/test_issue_8850.out | 6 +
.../table_function/explode_json_array.out | 24 ++-
.../test_create_table_with_bloom_filter.groovy | 3 +-
.../aggregate/test_aggregate_table.groovy | 6 +-
.../duplicate/test_duplicate_table.groovy | 4 +-
.../data_model/unique/test_unique_table.groovy | 2 +-
.../suites/datatype/bitmap/test_bitmap_int.groovy | 2 +-
.../suites/datatype/hll/test_hll_int.groovy | 2 +-
.../datatype/string/test_string_basic.groovy | 9 +-
.../list_partition/test_list_partition.groovy | 2 +-
.../suites/query/lateral_view/test_issue_8850.sql | 2 +-
regression-test/suites/query/load.groovy | 4 +-
.../table_function/explode_json_array.groovy | 20 +--
25 files changed, 96 insertions(+), 247 deletions(-)
diff --git a/be/src/exec/broker_scanner.cpp b/be/src/exec/broker_scanner.cpp
index 372cb1f0d4..646bcbc1f4 100644
--- a/be/src/exec/broker_scanner.cpp
+++ b/be/src/exec/broker_scanner.cpp
@@ -467,6 +467,7 @@ Status BrokerScanner::_convert_one_row(const Slice& line, Tuple* tuple, MemPool*
RETURN_IF_ERROR(_line_to_src_tuple(line));
if (!_success) {
// If not success, which means we met an invalid row, return.
+ *fill_tuple = false;
return Status::OK();
}
diff --git a/be/test/olap/test_data/header_without_inc_rs.txt b/be/test/olap/test_data/header_without_inc_rs.txt
index 997abdba5c..a55f1f8afa 100644
--- a/be/test/olap/test_data/header_without_inc_rs.txt
+++ b/be/test/olap/test_data/header_without_inc_rs.txt
@@ -141,5 +141,7 @@
"lo": 10
},
"preferred_rowset_type": "BETA_ROWSET",
- "tablet_type": "TABLET_TYPE_DISK"
+ "tablet_type": "TABLET_TYPE_DISK",
+ "storage_medium": "HDD",
+ "remote_storage_name": ""
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Catalog.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/Catalog.java
index e5e2914857..dd89a77a94 100755
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Catalog.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Catalog.java
@@ -295,7 +295,6 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;
import java.util.stream.Collectors;
-
import javax.annotation.Nullable;
public class Catalog {
@@ -4997,7 +4996,8 @@ public class Catalog {
if (dataProperty.getStorageMedium() == TStorageMedium.SSD
&& dataProperty.getCooldownTimeMs() < currentTimeMs) {
// expire. change to HDD.
- partitionInfo.setDataProperty(partition.getId(), new DataProperty(TStorageMedium.HDD));
+ DataProperty hddProperty = new DataProperty(TStorageMedium.HDD);
+ partitionInfo.setDataProperty(partition.getId(), hddProperty);
storageMediumMap.put(partitionId, TStorageMedium.HDD);
LOG.debug("partition[{}-{}-{}] storage medium changed from SSD to HDD",
dbId, tableId, partitionId);
@@ -5006,7 +5006,7 @@ public class Catalog {
ModifyPartitionInfo info =
new ModifyPartitionInfo(db.getId(), olapTable.getId(),
partition.getId(),
- DataProperty.DEFAULT_DATA_PROPERTY,
+ hddProperty,
ReplicaAllocation.NOT_SET,
partitionInfo.getIsInMemory(partition.getId()));
editLog.logModifyPartition(info);
diff --git a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableQueryPlanAction.java b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableQueryPlanAction.java
index 30b036e139..90f6019b01 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableQueryPlanAction.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/httpv2/rest/TableQueryPlanAction.java
@@ -67,7 +67,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
-
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -129,6 +128,9 @@ public class TableQueryPlanAction extends RestBaseController {
// status code should conforms to HTTP semantic
resultMap.put("status", e.getCode().code());
resultMap.put("exception", e.getMessage());
+ } catch (Exception e) {
+ resultMap.put("status", "1");
+ resultMap.put("exception", e.getMessage());
}
return ResponseEntityBuilder.ok(resultMap);
}
@@ -252,7 +254,7 @@ public class TableQueryPlanAction extends RestBaseController {
for (TScanRangeLocations scanRangeLocations : scanRangeLocationsList) {
// only process palo(doris) scan range
TPaloScanRange scanRange = scanRangeLocations.scan_range.palo_scan_range;
- Node tabletRouting = new Node(Long.parseLong(scanRange.version), Integer.parseInt(scanRange.schema_hash));
+ Node tabletRouting = new Node(Long.parseLong(scanRange.version), 0 /* schema hash is not used */);
for (TNetworkAddress address : scanRange.hosts) {
tabletRouting.addRouting(address.hostname + ":" + address.port);
}
diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/AlterViewStmtTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/AlterViewStmtTest.java
deleted file mode 100644
index 64661209e3..0000000000
--- a/fe/fe-core/src/test/java/org/apache/doris/analysis/AlterViewStmtTest.java
+++ /dev/null
@@ -1,182 +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.
-
-package org.apache.doris.analysis;
-
-import org.apache.doris.catalog.Catalog;
-import org.apache.doris.catalog.Column;
-import org.apache.doris.catalog.Database;
-import org.apache.doris.catalog.KeysType;
-import org.apache.doris.catalog.OlapTable;
-import org.apache.doris.catalog.PrimitiveType;
-import org.apache.doris.catalog.SinglePartitionInfo;
-import org.apache.doris.catalog.View;
-import org.apache.doris.common.jmockit.Deencapsulation;
-import org.apache.doris.common.util.SqlParserUtils;
-import org.apache.doris.mysql.privilege.PaloAuth;
-import org.apache.doris.mysql.privilege.PrivPredicate;
-import org.apache.doris.persist.AlterViewInfo;
-import org.apache.doris.persist.CreateTableInfo;
-import org.apache.doris.persist.EditLog;
-import org.apache.doris.qe.ConnectContext;
-
-import com.google.common.collect.Lists;
-
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-import java.io.StringReader;
-import java.util.LinkedList;
-import java.util.List;
-
-import mockit.Expectations;
-import mockit.Mock;
-import mockit.MockUp;
-import mockit.Mocked;
-
-public class AlterViewStmtTest {
- private Analyzer analyzer;
-
- private Catalog catalog;
-
- @Mocked
- EditLog editLog;
-
- @Mocked
- private ConnectContext connectContext;
-
- @Mocked
- private PaloAuth auth;
-
- @Before
- public void setUp() {
- catalog = Deencapsulation.newInstance(Catalog.class);
- analyzer = new Analyzer(catalog, connectContext);
-
-
- Database db = new Database(50000L, "testCluster:testDb");
-
- Column column1 = new Column("col1", PrimitiveType.BIGINT);
- Column column2 = new Column("col2", PrimitiveType.DOUBLE);
-
- List<Column> baseSchema = new LinkedList<Column>();
- baseSchema.add(column1);
- baseSchema.add(column2);
-
- OlapTable table = new OlapTable(30000, "testTbl",
- baseSchema, KeysType.AGG_KEYS, new SinglePartitionInfo(), null);
- db.createTable(table);
-
-
- new Expectations(auth) {
- {
- auth.checkGlobalPriv((ConnectContext) any, (PrivPredicate) any);
- minTimes = 0;
- result = true;
-
- auth.checkDbPriv((ConnectContext) any, anyString, (PrivPredicate) any);
- minTimes = 0;
- result = true;
-
- auth.checkTblPriv((ConnectContext) any, anyString, anyString, (PrivPredicate) any);
- minTimes = 0;
- result = true;
- }
- };
-
- new Expectations(editLog) {
- {
- editLog.logCreateTable((CreateTableInfo) any);
- minTimes = 0;
-
- editLog.logModifyViewDef((AlterViewInfo) any);
- minTimes = 0;
- }
- };
-
- Deencapsulation.setField(catalog, "editLog", editLog);
-
- new MockUp<Catalog>() {
- @Mock
- Catalog getCurrentCatalog() {
- return catalog;
- }
- @Mock
- PaloAuth getAuth() {
- return auth;
- }
- @Mock
- Database getDbOrDdlException(long dbId) {
- return db;
- }
- @Mock
- Database getDbOrDdlException(String dbName) {
- return db;
- }
- @Mock
- Database getDbOrAnalysisException(long dbId) {
- return db;
- }
- @Mock
- Database getDbOrAnalysisException(String dbName) {
- return db;
- }
- };
-
- new MockUp<Analyzer>() {
- @Mock
- String getClusterName() {
- return "testCluster";
- }
- };
- }
-
- @Test
- public void testNormal() throws Exception {
- String originStmt = "select col1 as c1, sum(col2) as c2 from testDb.testTbl group by col1";
- View view = new View(30000L, "testView", null);
- view.setInlineViewDefWithSqlMode("select col1 as c1, sum(col2) as c2 from testDb.testTbl group by col1", 0L);
- view.init();
-
- Database db = analyzer.getCatalog().getDbOrAnalysisException("testDb");
- db.createTable(view);
-
- Assert.assertEquals(originStmt, view.getInlineViewDef());
-
- String alterStmt = "with testTbl_cte (w1, w2) as (select col1, col2 from testDb.testTbl) select w1 as c1, sum(w2) as c2 from testTbl_cte where w1 > 10 group by w1 order by w1";
- SqlParser parser = new SqlParser(new SqlScanner(new StringReader(alterStmt)));
- QueryStmt alterQueryStmt = (QueryStmt) SqlParserUtils.getFirstStmt(parser);
-
- ColWithComment col1 = new ColWithComment("h1", null);
- ColWithComment col2 = new ColWithComment("h2", null);
-
- AlterViewStmt alterViewStmt = new AlterViewStmt(new TableName("testDb", "testView"), Lists.newArrayList(col1, col2), alterQueryStmt);
- alterViewStmt.analyze(analyzer);
- Catalog catalog1 = analyzer.getCatalog();
- if (catalog1 == null) {
- System.out.println("cmy get null");
- return;
- }
- catalog1.alterView(alterViewStmt);
-
- View newView = (View) db.getTableOrAnalysisException("testView");
- Assert.assertEquals("WITH testTbl_cte(w1, w2) AS (SELECT `col1` AS `col1`, `col2` AS `col2` FROM `testCluster:testDb`.`testTbl`)" +
- " SELECT `w1` AS `h1`, sum(`w2`) AS `h2` FROM `testTbl_cte` WHERE `w1` > 10 GROUP BY `w1` ORDER BY `w1`",
- newView.getInlineViewDef());
- }
-}
diff --git a/fe/fe-core/src/test/java/org/apache/doris/analysis/ExplainTest.java b/fe/fe-core/src/test/java/org/apache/doris/analysis/ExplainTest.java
index 51f5370951..3fca5643a5 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/analysis/ExplainTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/ExplainTest.java
@@ -22,9 +22,6 @@ import org.apache.doris.qe.ConnectContext;
import org.apache.doris.utframe.UtFrameUtils;
import org.junit.Assert;
-import org.junit.Test;
-
-import java.util.UUID;
public class ExplainTest {
@@ -75,13 +72,6 @@ public class ExplainTest {
Assert.assertEquals(dropDbStmt.toSql(), dropSchemaStmt.toSql());
}
- public void testExplainInsertInto() throws Exception {
- String sql = "explain insert into test_explain.explain_t1 select * from test_explain.explain_t2";
- String explainString = UtFrameUtils.getSQLPlanOrErrorMsg(ctx, sql, true);
- System.out.println(explainString);
- Assert.assertTrue(explainString.contains("CAST"));
- }
-
public void testExplainSelect() throws Exception {
String sql = "explain select * from test_explain.explain_t1 where dt = '1001';";
String explainString = UtFrameUtils.getSQLPlanOrErrorMsg(ctx, sql, false);
@@ -89,6 +79,13 @@ public class ExplainTest {
Assert.assertFalse(explainString.contains("CAST"));
}
+ public void testExplainInsertInto() throws Exception {
+ String sql = "explain verbose insert into test_explain.explain_t1 select * from test_explain.explain_t2";
+ String explainString = UtFrameUtils.getSQLPlanOrErrorMsg(ctx, sql, true);
+ System.out.println(explainString);
+ Assert.assertTrue(explainString.contains("CAST"));
+ }
+
public void testExplainVerboseSelect() throws Exception {
String queryStr = "explain verbose select * from test_explain.explain_t1 where dt = '1001';";
String explainString = UtFrameUtils.getSQLPlanOrErrorMsg(ctx, queryStr, true);
diff --git a/fe/fe-core/src/test/java/org/apache/doris/catalog/CreateViewTest.java b/fe/fe-core/src/test/java/org/apache/doris/catalog/CreateViewTest.java
index c0602a7b95..364cf13f31 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/catalog/CreateViewTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/catalog/CreateViewTest.java
@@ -17,6 +17,7 @@
package org.apache.doris.catalog;
+import org.apache.doris.analysis.AlterViewStmt;
import org.apache.doris.analysis.CreateDbStmt;
import org.apache.doris.analysis.CreateTableStmt;
import org.apache.doris.analysis.CreateViewStmt;
@@ -129,4 +130,22 @@ public class CreateViewTest {
System.out.println(explainString);
Assert.assertTrue(explainString.contains("OlapScanNode"));
}
+
+ @Test
+ public void testAlterView() throws Exception {
+ String originStmt = "select k1 as kc1, sum(k2) as kc2 from test.tbl1 group by kc1";
+ ExceptionChecker.expectThrowsNoException(
+ () -> createView("create view test.alter1 as " + originStmt));
+ Database db = Catalog.getCurrentCatalog().getDbOrDdlException("default_cluster:test");
+ View alter1 = (View) db.getTableOrDdlException("alter1");
+ Assert.assertEquals("SELECT `k1` AS `kc1`, sum(`k2`) AS `kc2` FROM `default_cluster:test`.`tbl1` GROUP BY `kc1`", alter1.getInlineViewDef());
+
+ String alterStmt = "alter view test.alter1 as with test1_cte (w1, w2) as (select k1, k2 from test.tbl1) select w1 as c1, sum(w2) as c2 from test1_cte where w1 > 10 group by w1 order by w1";
+ AlterViewStmt alterViewStmt = (AlterViewStmt) UtFrameUtils.parseAndAnalyzeStmt(alterStmt, connectContext);
+ Catalog.getCurrentCatalog().alterView(alterViewStmt);
+
+ alter1 = (View) db.getTableOrDdlException("alter1");
+ System.out.println(alter1.getInlineViewDef());
+ Assert.assertEquals("WITH test1_cte(w1, w2) AS (SELECT `k1` AS `k1`, `k2` AS `k2` FROM `default_cluster:test`.`tbl1`) SELECT `w1` AS `c1`, sum(`w2`) AS `c2` FROM `test1_cte` WHERE `w1` > 10 GROUP BY `w1` ORDER BY `w1` ASC", alter1.getInlineViewDef());
+ }
}
diff --git a/fe/fe-core/src/test/java/org/apache/doris/http/TableQueryPlanActionTest.java b/fe/fe-core/src/test/java/org/apache/doris/http/TableQueryPlanActionTest.java
index 395a7d2957..397b3c92ca 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/http/TableQueryPlanActionTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/http/TableQueryPlanActionTest.java
@@ -48,7 +48,7 @@ public class TableQueryPlanActionTest extends DorisHttpTestCase {
}
@Test
public void testQueryPlanAction() throws IOException, TException {
- RequestBody body = RequestBody.create(JSON, "{ \"sql\" : \" select k1,k2 from " + DB_NAME + "." + TABLE_NAME + " \" }");
+ RequestBody body = RequestBody.create("{ \"sql\" : \" select k1,k2 from " + DB_NAME + "." + TABLE_NAME + " \" }", JSON);
Request request = new Request.Builder()
.post(body)
.addHeader("Authorization", rootAuth)
@@ -67,8 +67,6 @@ public class TableQueryPlanActionTest extends DorisHttpTestCase {
Assert.assertNotNull(tabletObject.get("routings"));
Assert.assertEquals(3, ((JSONArray) tabletObject.get("routings")).size());
Assert.assertEquals(testStartVersion, (long) tabletObject.get("version"));
- Assert.assertEquals(testSchemaHash, (long) tabletObject.get("schemaHash"));
-
}
String queryPlan = (String) ((JSONObject) jsonObject.get("data")).get("opaqued_query_plan");
Assert.assertNotNull(queryPlan);
diff --git a/fe/fe-core/src/test/java/org/apache/doris/planner/QueryPlanTest.java b/fe/fe-core/src/test/java/org/apache/doris/planner/QueryPlanTest.java
index 20a5c7c704..40d1541dda 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/planner/QueryPlanTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/planner/QueryPlanTest.java
@@ -1991,8 +1991,8 @@ public class QueryPlanTest {
public void testExplainInsertInto() throws Exception {
ExplainTest explainTest = new ExplainTest();
explainTest.before(connectContext);
- explainTest.testExplainInsertInto();
explainTest.testExplainSelect();
+ explainTest.testExplainInsertInto();
explainTest.testExplainVerboseSelect();
explainTest.testExplainConcatSelect();
explainTest.testExplainVerboseConcatSelect();
@@ -2097,7 +2097,8 @@ public class QueryPlanTest {
" (SELECT 4 AS bid)b ON (a.aid=b.bid)\n";
String explainString = UtFrameUtils.getSQLPlanOrErrorMsg(connectContext, queryStr);
Assert.assertFalse(explainString.contains("OUTPUT EXPRS:3 | 4"));
- Assert.assertTrue(explainString.contains("OUTPUT EXPRS:CAST(`a`.`aid` AS INT) | 4"));
+ System.out.println(explainString);
+ Assert.assertTrue(explainString.contains("OUTPUT EXPRS:`a`.`aid` | 4"));
}
@Test
diff --git a/regression-test/conf/regression-conf.groovy b/regression-test/conf/regression-conf.groovy
index 8839331d3b..ebb24a9b10 100644
--- a/regression-test/conf/regression-conf.groovy
+++ b/regression-test/conf/regression-conf.groovy
@@ -20,11 +20,11 @@
// **Note**: default db will be create if not exist
defaultDb = "regression_test"
-jdbcUrl = "jdbc:mysql://127.0.0.1:9030/?"
+jdbcUrl = "jdbc:mysql://127.0.0.1:9232/?"
jdbcUser = "root"
jdbcPassword = ""
-feHttpAddress = "127.0.0.1:8030"
+feHttpAddress = "127.0.0.1:8232"
feHttpUser = "root"
feHttpPassword = ""
diff --git a/regression-test/data/bloom_filter/test_create_table_with_bloom_filter.out b/regression-test/data/bloom_filter/test_create_table_with_bloom_filter.out
index be2d93bcd8..62ef7d38d9 100644
--- a/regression-test/data/bloom_filter/test_create_table_with_bloom_filter.out
+++ b/regression-test/data/bloom_filter/test_create_table_with_bloom_filter.out
@@ -1,6 +1,6 @@
-- This file is automatically generated. You should know what you did if you want to edit this
-- !select_tb --
-1 2 4 8 50string 500varchar c 65535varchar 0.000000 123456789012345678.123456789 2013-12-01 1900-01-01T00:00 1 2 4 8 50string 500varchar_replace c 65535varchar 12345678901234.123456 123456789012345678.123456789 1900-01-01 1900-01-01 1900-01-01 1900-01-01T00:00 1900-01-01T00:00 1900-01-01T00:00 0.4 0.8
+1 2 4 8 50string 500varchar c 65535varchar 0 123456789012345678.123456789 2013-12-01 1900-01-01T00:00 1 2 4 8 50string 500varchar_replace c 65535varchar 12345678901234.123456 123456789012345678.123456789 1900-01-01 1900-01-01 1900-01-01 1900-01-01T00:00 1900-01-01T00:00 1900-01-01T00:00 0.4 0.8
-- !desc_tb --
tinyint_key TINYINT No true \N
diff --git a/regression-test/data/datatype/string/test_string_basic.out b/regression-test/data/datatype/string/test_string_basic.out
new file mode 100644
index 0000000000..475cf22f27
--- /dev/null
+++ b/regression-test/data/datatype/string/test_string_basic.out
@@ -0,0 +1,7 @@
+-- This file is automatically generated. You should know what you did if you want to edit this
+-- !select_str_tb --
+\N \N \N
+ d41d8cd98f00b204e9800998ecf8427e 0
+1 1f44fb91f47cab16f711973af06294a0 65536
+2 3c514d3b89e26e2f983b7bd4cbb82055 1048576
+
diff --git a/regression-test/data/query/lateral_view/test_issue_8850.out b/regression-test/data/query/lateral_view/test_issue_8850.out
index ccf419113a..17983887f2 100644
--- a/regression-test/data/query/lateral_view/test_issue_8850.out
+++ b/regression-test/data/query/lateral_view/test_issue_8850.out
@@ -6,4 +6,10 @@
0
-- !test_issue_8850_3 --
+0
+
+-- !test_issue_8850_4 --
+
+-- !test_issue_8850_5 --
+0
diff --git a/regression-test/data/query/sql_functions/table_function/explode_json_array.out b/regression-test/data/query/sql_functions/table_function/explode_json_array.out
index 120c4e0297..52e504bdfb 100644
--- a/regression-test/data/query/sql_functions/table_function/explode_json_array.out
+++ b/regression-test/data/query/sql_functions/table_function/explode_json_array.out
@@ -1,5 +1,5 @@
-- This file is automatically generated. You should know what you did if you want to edit this
--- !explode_json_array --
+-- !explode_json_array1 --
100 John 30 1 Street 1 40 30
100 John 30 1 Street 1 80 30
100 John 30 1 Street 1 40 60
@@ -17,17 +17,17 @@
400 Dan 50 4 Street 4 40 60
400 Dan 50 4 Street 4 80 60
--- !explode_json_array --
+-- !explode_json_array2 --
30 8
60 8
--- !explode_json_array --
+-- !explode_json_array3 --
100 John 30 1 Street 1 \N
200 Mary \N 1 Street 2 \N
300 Mike 80 3 Street 3 \N
400 Dan 50 4 Street 4 \N
--- !explode_json_array --
+-- !explode_json_array4 --
100 John 30 1 Street 1 1.23 1
100 John 30 1 Street 1 22.214 1
100 John 30 1 Street 1 214.1 1
@@ -65,7 +65,7 @@
400 Dan 50 4 Street 4 22.214 b
400 Dan 50 4 Street 4 214.1 b
--- !outer_join_explode_json_array --
+-- !outer_join_explode_json_array5 --
\N \N 1
\N \N 3
\N \N b
@@ -79,10 +79,10 @@
\N 80 3
\N 80 b
--- !explode_json_array --
+-- !explode_json_array6 --
true
--- !explode_json_array --
+-- !explode_json_array7 --
100 John 30 1 Street 1 40 30
100 John 30 1 Street 1 80 30
100 John 30 1 Street 1 40 60
@@ -100,17 +100,13 @@ true
400 Dan 50 4 Street 4 40 60
400 Dan 50 4 Street 4 80 60
--- !explode_json_array --
+-- !explode_json_array8 --
30 8
60 8
--- !explode_json_array --
-100 John 30 1 Street 1 \N
-200 Mary \N 1 Street 2 \N
-300 Mike 80 3 Street 3 \N
-400 Dan 50 4 Street 4 \N
+-- !explode_json_array9 --
--- !explode_json_array --
+-- !explode_json_array10 --
100 John 30 1 Street 1 1.23 1
100 John 30 1 Street 1 22.214 1
100 John 30 1 Street 1 214.1 1
diff --git a/regression-test/suites/bloom_filter/test_create_table_with_bloom_filter.groovy b/regression-test/suites/bloom_filter/test_create_table_with_bloom_filter.groovy
index 2c982bea68..a67ce237a4 100644
--- a/regression-test/suites/bloom_filter/test_create_table_with_bloom_filter.groovy
+++ b/regression-test/suites/bloom_filter/test_create_table_with_bloom_filter.groovy
@@ -66,7 +66,8 @@ suite("test_create_table_with_bloom_filter", "bloom_filter") {
PROPERTIES (
"bloom_filter_columns"="smallint_key,int_key,bigint_key,char_50_key,character_key,
char_key,character_most_key,decimal_key,decimal_most_key,
- date_key,datetime_key"
+ date_key,datetime_key",
+ "replication_num" = "1"
)
"""
sql """
diff --git a/regression-test/suites/data_model/aggregate/test_aggregate_table.groovy b/regression-test/suites/data_model/aggregate/test_aggregate_table.groovy
index 695f6c8374..d1567810ff 100644
--- a/regression-test/suites/data_model/aggregate/test_aggregate_table.groovy
+++ b/regression-test/suites/data_model/aggregate/test_aggregate_table.groovy
@@ -35,7 +35,7 @@ suite("test_aggregate_table", "data_model") {
int_value_replace_if_not_null int replace_if_not_null
)
AGGREGATE KEY(k)
- DISTRIBUTED BY HASH(k) BUCKETS 5
+ DISTRIBUTED BY HASH(k) BUCKETS 5 properties("replication_num" = "1");
"""
sql """insert into int_agg values(0, 1, 1, 1, 1, 1)"""
sql """insert into int_agg values(0, 2, 2, 2, 2, 2)"""
@@ -54,7 +54,7 @@ suite("test_aggregate_table", "data_model") {
char_value_replace_if_not_null char(10) replace_if_not_null
)
AGGREGATE KEY(k)
- DISTRIBUTED BY HASH(k) BUCKETS 5
+ DISTRIBUTED BY HASH(k) BUCKETS 5 properties("replication_num" = "1");
"""
sql """insert into string_agg values(0, '1', '1', '1', '1')"""
sql """insert into string_agg values(0, '2', '2', '2', '2')"""
@@ -74,7 +74,7 @@ suite("test_aggregate_table", "data_model") {
date_value_replace_if_not_null date replace_if_not_null
)
AGGREGATE KEY(k)
- DISTRIBUTED BY HASH(k) BUCKETS 5
+ DISTRIBUTED BY HASH(k) BUCKETS 5 properties("replication_num" = "1");
"""
sql """insert into date_agg values(0, '2000-01-01', '2000-01-01', '2000-01-01', '2000-01-01')"""
sql """insert into date_agg values(0, '2000-12-31', '2000-12-31', '2000-12-31', '2000-12-31')"""
diff --git a/regression-test/suites/data_model/duplicate/test_duplicate_table.groovy b/regression-test/suites/data_model/duplicate/test_duplicate_table.groovy
index 2cded9954c..f0b7138929 100644
--- a/regression-test/suites/data_model/duplicate/test_duplicate_table.groovy
+++ b/regression-test/suites/data_model/duplicate/test_duplicate_table.groovy
@@ -34,7 +34,7 @@ suite("test_duplicate_table", "data_model") {
date_value date
)
DUPLICATE KEY(k)
- DISTRIBUTED BY HASH(k) BUCKETS 5
+ DISTRIBUTED BY HASH(k) BUCKETS 5 properties("replication_num" = "1")
"""
sql "insert into ${tbName} values(0, 1, 'test char', '2000-01-01')"
sql "insert into ${tbName} values(0, 2, 'test int', '2000-02-02')"
@@ -53,7 +53,7 @@ suite("test_duplicate_table", "data_model") {
k3 int,
int_value int
)
- DISTRIBUTED BY HASH(k1) BUCKETS 5
+ DISTRIBUTED BY HASH(k1) BUCKETS 5 properties("replication_num" = "1");
"""
sql "insert into ${tbName1} values(0, 1, 2, 4)"
sql "insert into ${tbName1} values(0, 1, 2, 5)"
diff --git a/regression-test/suites/data_model/unique/test_unique_table.groovy b/regression-test/suites/data_model/unique/test_unique_table.groovy
index cc3fb7f6ab..9493ad987c 100644
--- a/regression-test/suites/data_model/unique/test_unique_table.groovy
+++ b/regression-test/suites/data_model/unique/test_unique_table.groovy
@@ -34,7 +34,7 @@ suite("test_unique_table", "data_model") {
date_value date
)
UNIQUE KEY(k)
- DISTRIBUTED BY HASH(k) BUCKETS 5
+ DISTRIBUTED BY HASH(k) BUCKETS 5 properties("replication_num" = "1");
"""
sql "insert into ${tbName} values(0, 1, 'test char', '2000-01-01')"
sql "insert into ${tbName} values(0, 2, 'test int', '2000-02-02')"
diff --git a/regression-test/suites/datatype/bitmap/test_bitmap_int.groovy b/regression-test/suites/datatype/bitmap/test_bitmap_int.groovy
index 631c2562dc..3837d834f1 100644
--- a/regression-test/suites/datatype/bitmap/test_bitmap_int.groovy
+++ b/regression-test/suites/datatype/bitmap/test_bitmap_int.groovy
@@ -19,7 +19,7 @@ suite("test_bitmap_int", "datatype") {
sql "DROP TABLE IF EXISTS test_int_bitmap"
sql """
CREATE TABLE test_int_bitmap (`id` int, `bitmap_set` bitmap bitmap_union)
- ENGINE=OLAP DISTRIBUTED BY HASH(`id`) BUCKETS 5
+ ENGINE=OLAP DISTRIBUTED BY HASH(`id`) BUCKETS 5 properties("replication_num" = "1");
"""
sql "insert into test_int_bitmap values(1, bitmap_hash(1)), (2, bitmap_hash(2)), (3, bitmap_hash(3))"
diff --git a/regression-test/suites/datatype/hll/test_hll_int.groovy b/regression-test/suites/datatype/hll/test_hll_int.groovy
index 5d06e17134..5797d3c729 100644
--- a/regression-test/suites/datatype/hll/test_hll_int.groovy
+++ b/regression-test/suites/datatype/hll/test_hll_int.groovy
@@ -19,7 +19,7 @@ suite("test_hll_int", "datatype") {
sql "DROP TABLE IF EXISTS test_int_hll"
sql """
CREATE TABLE test_int_hll (`id` int COMMENT "", `hll_set` hll hll_union COMMENT "")
- ENGINE=OLAP DISTRIBUTED BY HASH(`id`) BUCKETS 5
+ ENGINE=OLAP DISTRIBUTED BY HASH(`id`) BUCKETS 5 properties("replication_num" = "1");
"""
sql "insert into test_int_hll values(1, hll_hash(1)), (2, hll_hash(2)), (3, hll_hash(3))"
qt_sql1 "select hll_union_agg(hll_set), count(*) from test_int_hll"
diff --git a/regression-test/suites/datatype/string/test_string_basic.groovy b/regression-test/suites/datatype/string/test_string_basic.groovy
index 40211b8aed..50b38f0d20 100644
--- a/regression-test/suites/datatype/string/test_string_basic.groovy
+++ b/regression-test/suites/datatype/string/test_string_basic.groovy
@@ -19,22 +19,23 @@ suite("test_string_basic", "datatype") {
sql "drop table if exists fail_tb1"
// first column could not be string
test {
- sql """CREATE TABLE fail_tb1 (k1 STRING NOT NULL, v1 STRING NOT NULL) DISTRIBUTED BY HASH(k1) BUCKETS 5"""
+ sql """CREATE TABLE fail_tb1 (k1 STRING NOT NULL, v1 STRING NOT NULL) DISTRIBUTED BY HASH(k1) BUCKETS 5 properties("replication_num" = "1")"""
exception "The olap table first column could not be float, double, string use decimal or varchar instead."
}
// string type should could not be key
test {
sql """
CREATE TABLE fail_tb1 ( k1 INT NOT NULL, k2 STRING NOT NULL)
- DUPLICATE KEY(k1,k2) DISTRIBUTED BY HASH(k1) BUCKETS 5
+ DUPLICATE KEY(k1,k2) DISTRIBUTED BY HASH(k1) BUCKETS 5 properties("replication_num" = "1")
"""
exception "String Type should not be used in key column[k2]"
}
// create table with string column, insert and select ok
def tbName = "str_tb"
+ sql "drop table if exists ${tbName}"
sql """
CREATE TABLE ${tbName} (k1 VARCHAR(10) NULL, v1 STRING NULL)
- UNIQUE KEY(k1) DISTRIBUTED BY HASH(k1) BUCKETS 5
+ UNIQUE KEY(k1) DISTRIBUTED BY HASH(k1) BUCKETS 5 properties("replication_num" = "1")
"""
sql """
INSERT INTO ${tbName} VALUES
@@ -43,6 +44,6 @@ suite("test_string_basic", "datatype") {
(1, repeat("test1111", 8192)),
(2, repeat("test1111", 131072))
"""
- order_qt_select_str_tb "select k1, md5(v1), length(v1) from test_sys_string_basic_test_insert_load_tb"
+ order_qt_select_str_tb "select k1, md5(v1), length(v1) from ${tbName}"
}
diff --git a/regression-test/suites/partition/list_partition/test_list_partition.groovy b/regression-test/suites/partition/list_partition/test_list_partition.groovy
index dc737bb527..83f2d73d4a 100644
--- a/regression-test/suites/partition/list_partition/test_list_partition.groovy
+++ b/regression-test/suites/partition/list_partition/test_list_partition.groovy
@@ -36,7 +36,7 @@ suite("test_list_partition", "partition") {
PARTITION p1 VALUES IN ("1","2","3","4"),
PARTITION p2 VALUES IN ("5","6","7","8","9","10","11","12","13","14"),
PARTITION p3 VALUES IN ("15") )
- DISTRIBUTED BY HASH(k1) BUCKETS 5
+ DISTRIBUTED BY HASH(k1) BUCKETS 5 properties("replication_num" = "1")
"""
List<List<Object>> result1 = sql "show tables like 'list_par'"
logger.info("${result1}")
diff --git a/regression-test/suites/query/lateral_view/test_issue_8850.sql b/regression-test/suites/query/lateral_view/test_issue_8850.sql
index 65b98511d1..d4cb8b9d78 100644
--- a/regression-test/suites/query/lateral_view/test_issue_8850.sql
+++ b/regression-test/suites/query/lateral_view/test_issue_8850.sql
@@ -6,4 +6,4 @@ set enable_lateral_view=true;
with d as (select f1.bucket, bitmap_and(f1.members, f2.members) as members from (select f1.bucket, bitmap_and(f1.members, f2.members) as members from (select bucket, bitmap_union(members) as members from tag_map where partition_sign='2022-03-31-1' and tag_group=810004 and tag_value_id in (5524627,5524628,5524629) group by bucket) f1,(select bucket, bitmap_union(members) as members from tag_map where partition_sign='2022-03-31-1' and tag_group=810007 and tag_value_id in ('5525013_1735712 [...]
-DROP TABLE test_map;
+DROP TABLE tag_map;
diff --git a/regression-test/suites/query/load.groovy b/regression-test/suites/query/load.groovy
index 8a707165ca..93bf46be60 100644
--- a/regression-test/suites/query/load.groovy
+++ b/regression-test/suites/query/load.groovy
@@ -38,7 +38,7 @@ suite("load") {
`k12` string replace null comment "",
`k13` largeint(40) replace null comment ""
) engine=olap
- DISTRIBUTED BY HASH(`k1`) BUCKETS 5
+ DISTRIBUTED BY HASH(`k1`) BUCKETS 5 properties("replication_num" = "1")
"""
sql """
CREATE TABLE `test` (
@@ -57,7 +57,7 @@ suite("load") {
`k12` string replace_if_not_null null comment "",
`k13` largeint(40) replace null comment ""
) engine=olap
- DISTRIBUTED BY HASH(`k1`) BUCKETS 5
+ DISTRIBUTED BY HASH(`k1`) BUCKETS 5 properties("replication_num" = "1")
"""
streamLoad {
table "baseall"
diff --git a/regression-test/suites/query/sql_functions/table_function/explode_json_array.groovy b/regression-test/suites/query/sql_functions/table_function/explode_json_array.groovy
index 6a2ab296e7..d5f2af00e6 100644
--- a/regression-test/suites/query/sql_functions/table_function/explode_json_array.groovy
+++ b/regression-test/suites/query/sql_functions/table_function/explode_json_array.groovy
@@ -39,48 +39,48 @@ suite("explode_json_array") {
sql """ set enable_lateral_view = true """
// not vectorized
- qt_explode_json_array """ SELECT * FROM ${tableName}
+ qt_explode_json_array1 """ SELECT * FROM ${tableName}
LATERAL VIEW EXPLODE_JSON_ARRAY_INT('[30, 60]') t1 as c_age
LATERAL VIEW EXPLODE_JSON_ARRAY_INT('[40, 80]') t2 as d_age
ORDER BY id, c_age, d_age """
- qt_explode_json_array """ SELECT c_age, COUNT(1) FROM ${tableName}
+ qt_explode_json_array2 """ SELECT c_age, COUNT(1) FROM ${tableName}
LATERAL VIEW EXPLODE_JSON_ARRAY_INT('[30, 60]') t1 as c_age
LATERAL VIEW EXPLODE_JSON_ARRAY_INT('[40, 80]') t2 as d_age
GROUP BY c_age ORDER BY c_age """
- qt_explode_json_array """ SELECT * FROM ${tableName}
+ qt_explode_json_array3 """ SELECT * FROM ${tableName}
LATERAL VIEW EXPLODE_JSON_ARRAY_INT('[]') t1 AS c_age
ORDER BY id, c_age """
- qt_explode_json_array """ SELECT * FROM ${tableName}
+ qt_explode_json_array4 """ SELECT * FROM ${tableName}
LATERAL VIEW EXPLODE_JSON_ARRAY_STRING('[1, "b", 3]') t1 as c
LATERAL VIEW EXPLODE_JSON_ARRAY_DOUBLE('[1.23, 22.214, 214.1]') t2 as d
ORDER BY id, c, d """
- qt_outer_join_explode_json_array """SELECT id, age, e1 FROM (SELECT id, age, e1 FROM (SELECT b.id, a.age FROM
+ qt_outer_join_explode_json_array5 """SELECT id, age, e1 FROM (SELECT id, age, e1 FROM (SELECT b.id, a.age FROM
${tableName} a LEFT JOIN ${tableName} b ON a.id=b.age)T LATERAL VIEW EXPLODE_JSON_ARRAY_STRING('[1, "b", 3]')
TMP AS e1) AS T ORDER BY age, e1"""
// vectorized
sql """ set enable_vectorized_engine = true """
- qt_explode_json_array """ select @@enable_vectorized_engine """
- qt_explode_json_array """ SELECT * FROM ${tableName}
+ qt_explode_json_array6 """ select @@enable_vectorized_engine """
+ qt_explode_json_array7 """ SELECT * FROM ${tableName}
LATERAL VIEW EXPLODE_JSON_ARRAY_INT('[30, 60]') t1 as c_age
LATERAL VIEW EXPLODE_JSON_ARRAY_INT('[40, 80]') t2 as d_age
ORDER BY id, c_age, d_age """
- qt_explode_json_array """ SELECT c_age, COUNT(1) FROM ${tableName}
+ qt_explode_json_array8 """ SELECT c_age, COUNT(1) FROM ${tableName}
LATERAL VIEW EXPLODE_JSON_ARRAY_INT('[30, 60]') t1 as c_age
LATERAL VIEW EXPLODE_JSON_ARRAY_INT('[40, 80]') t2 as d_age
GROUP BY c_age ORDER BY c_age """
- qt_explode_json_array """ SELECT * FROM ${tableName}
+ qt_explode_json_array9 """ SELECT * FROM ${tableName}
LATERAL VIEW EXPLODE_JSON_ARRAY_INT('[]') t1 AS c_age
ORDER BY id, c_age """
- qt_explode_json_array """ SELECT * FROM ${tableName}
+ qt_explode_json_array10 """ SELECT * FROM ${tableName}
LATERAL VIEW EXPLODE_JSON_ARRAY_STRING('[1, "b", 3]') t1 as c
LATERAL VIEW EXPLODE_JSON_ARRAY_DOUBLE('[1.23, 22.214, 214.1]') t2 as d
ORDER BY id, c, d """
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org