This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-4.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-4.1 by this push:
new 046f4a0c223 branch-4.1: [fix](fe) block inverted index V1 creation in
FE #64522 (#67342)
046f4a0c223 is described below
commit 046f4a0c2231596e809ad0f30419f5349be42fae
Author: Jack <[email protected]>
AuthorDate: Sun Sep 6 06:03:44 2026 +0800
branch-4.1: [fix](fe) block inverted index V1 creation in FE #64522 (#67342)
### What problem does this PR solve?
Issue Number: N/A
Related PR: #64522 (master), picked from commit
d1070cb002ecb78af59a190bab49f8679b8841e9
Problem Summary:
Backport of #64522 to branch-4.1. When users copy historical DDL that
explicitly sets inverted index format to V1, new tables are silently
created with V1. V1 lacks small-file merging and bypasses the packed
file path, significantly amplifying PUT requests to object storage. This
change blocks new inverted index V1 creation at FE (CREATE TABLE /
CREATE INDEX / ALTER, and runtime `ADMIN SET FRONTEND CONFIG`), adds a
V1-deprecation regression test, and migrates ~50 regression suites off
V1.
**Hunk audit (source diff → this PR)**: 57 files total — **50 Ported
(verbatim)** (byte-identical change sets, incl. the new
`InvertedIndexStorageFormatValidator` and
`test_inverted_index_v1_deprecated`), **7 Adapted**:
| File | Adaptation |
|---|---|
| `Config.java` | 4.1 keeps the bilingual description array; merged with
the new `RuntimeConfigHandler` callback (ConfField `callback` mechanism
exists in 4.1's `ConfigBase`); re-indented for checkstyle |
| `SchemaChangeHandler.java` | the +7-line V1-block check ported
verbatim; kept 4.1's `indexDef.getColumns()` (`getColumnNames()` in the
conflict context is master-only drift, not part of the source diff) |
| `test_nereids_show_build_index.groovy` /
`test_nereids_show_index.groovy` | these suites live under
`nereids_p0/show/` on 4.1 (moved to `query_p0/show/` on master); the ±2
edits landed at the 4.1 paths |
| `test_index_change_6.groovy` | adopted the PR's `nonConcurrent` tag;
kept 4.1's `timeout = 60000` (master's 300000 is unrelated drift); V1
section (-83 lines) removed as in source |
| `test_index_io_context.groovy` / `test_index_multi_match.groovy` /
`var_index.groovy` | V1 tables/sections removed exactly as in source;
post-resolution V1-identifier sweep matches master's files 1:1 |
**Local verification on this branch (ASAN build)**:
- FE UT: `ConfigTest` 6/6, `PropertyAnalyzerTest` 12/12 (both actually
executed, verified in surefire output)
- Regression: all 46 suites touched by this PR (23 inverted_index_p0, 7
fault_injection_p0, 6 variant_p0, 2 nereids_p0/show, 1
fault_injection_p2, plus
ann_index/correctness/datatype/function/insert_overwrite/nereids_arith/variant_mv)
ran against a local 1FE+1BE cluster built from this PR — **46/46 passed,
0 failed** (incl. the new `test_inverted_index_v1_deprecated`)
### Release note
Inverted index V1 is deprecated: creating new tables/indexes with
`inverted_index_storage_format = V1` (and setting it via `ADMIN SET
FRONTEND CONFIG`) is now rejected. Existing V1 tables are unaffected.
### Check List (For Author)
- Test <!-- At least one of them must be included. -->
- [x] Regression test
- [x] Unit Test
- [ ] Manual test (add detailed scripts or steps below)
- [ ] No need to test or manual test. Explain why:
- [ ] This is a refactor/code format and no logic has been changed.
- [ ] Previous test can cover this change.
- [ ] No code files have been changed.
- [ ] Other reason <!-- Add your reason? -->
- Behavior changed:
- [ ] No.
- [x] Yes. <!-- Explain the behavior change --> New inverted index V1
creation is rejected at FE (same behavior as master after #64522).
- Does this need documentation?
- [x] No.
- [ ] Yes. <!-- Add document PR link here. eg:
https://github.com/apache/doris-website/pull/1214 -->
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR
should merge into -->
Co-authored-by: liangj777
<[email protected]>
---
.../main/java/org/apache/doris/common/Config.java | 10 +-
.../InvertedIndexStorageFormatValidator.java | 50 ++++++++++
.../java/org/apache/doris/common/ConfigTest.java | 20 ++++
.../src/main/java/org/apache/doris/DorisFE.java | 5 +
.../apache/doris/alter/SchemaChangeHandler.java | 7 ++
.../apache/doris/common/util/PropertyAnalyzer.java | 12 +--
.../apache/doris/common/PropertyAnalyzerTest.java | 12 ++-
.../fault_injection_p0/test_index_io_context.out | 93 ------------------
.../inverted_index_p0/test_index_multi_match.out | 96 ------------------
.../ann_index_p0/create_ann_index_test.groovy | 2 +-
.../test_mv_case/test_mv_case.groovy | 6 +-
.../test_special_buffer_before_nested.groovy | 2 +-
.../test_index_bkd_writer_fault_injection.groovy | 2 +-
...index_builder_drop_index_fault_injection.groovy | 1 -
...dex_compaction_exception_fault_injection.groovy | 2 +-
.../test_index_compaction_fault_injection.groovy | 4 +-
.../test_index_io_context.groovy | 41 +-------
...st_skip_index_compaction_fault_injection.groovy | 27 ------
...inverted_index_exception_fault_injection.groovy | 2 +-
...st_build_index_exception_fault_injection.groovy | 2 +-
.../suites/function_p0/test_array_map.groovy | 2 +-
.../test_iot_auto_detect_fail.groovy | 4 +-
.../index_change/test_index_change_1.groovy | 75 ++------------
.../index_change/test_index_change_2.groovy | 84 ++--------------
.../index_change/test_index_change_3.groovy | 89 ++---------------
.../index_change/test_index_change_4.groovy | 88 ++---------------
.../index_change/test_index_change_5.groovy | 79 ++-------------
.../index_change/test_index_change_6.groovy | 99 ++-----------------
.../test_index_change_on_new_column.groovy | 50 +---------
.../test_index_compaction_dup_keys.groovy | 2 +-
.../test_index_compaction_null.groovy | 4 +-
.../test_index_compaction_unique_keys.groovy | 2 +-
...dex_compaction_with_multi_index_segments.groovy | 4 +-
.../test_index_change_format.groovy | 1 -
.../inverted_index_p0/load/test_insert.groovy | 4 +-
.../inverted_index_p0/load/test_spark_load.groovy | 2 -
.../inverted_index_p0/load/test_stream_load.groovy | 1 -
.../test_inverted_index_v1_deprecated.groovy | 80 +++++++++++++++
.../test_compound_reader_fault_injection.groovy | 2 +-
.../test_index_chinese_column.groovy | 2 -
.../test_index_multi_match.groovy | 46 +--------
.../inverted_index_p0/test_index_rqg_bug8.groovy | 2 +-
.../test_inverted_index_file_size.groovy | 2 -
.../test_show_nested_index_file_http_action.groovy | 1 -
...sted_index_file_http_action_with_variant.groovy | 1 -
.../test_variant_index_format_v1.groovy | 108 ---------------------
.../suites/load_p2/test_single_replica_load.groovy | 2 +-
.../nereids_arith_p0/topn/accept_null.groovy | 2 +-
.../show/test_nereids_show_build_index.groovy | 4 +-
.../nereids_p0/show/test_nereids_show_index.groovy | 4 +-
.../test_cloud_inverted_index_v1_show_data.groovy | 101 -------------------
.../test_array_contains_with_inverted_index.groovy | 5 +-
.../suites/variant_p0/mv/multi_slot.groovy | 2 +-
.../variant_p0/predefine/test_predefine_ddl.groovy | 12 ---
.../test_array_contains_with_inverted_index.groovy | 5 +-
.../test_array_contains_with_inverted_index.groovy | 5 +-
.../with_index/test_array_index_write.groovy | 5 +-
.../suites/variant_p0/with_index/var_index.groovy | 105 --------------------
58 files changed, 267 insertions(+), 1215 deletions(-)
diff --git a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
index 0474ad7ba4c..e4bf63dbf82 100644
--- a/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
+++ b/fe/fe-common/src/main/java/org/apache/doris/common/Config.java
@@ -3268,10 +3268,12 @@ public class Config extends ConfigBase {
@ConfField(mutable = true)
public static boolean fix_tablet_partition_id_eq_0 = false;
- @ConfField(mutable = true, masterOnly = true, description = {
- "倒排索引默认存储格式",
- "Default storage format of inverted index, the default value is
V3."
- })
+ @ConfField(mutable = true, masterOnly = true,
+ callback =
InvertedIndexStorageFormatValidator.RuntimeConfigHandler.class,
+ description = {
+ "倒排索引默认存储格式",
+ "Default storage format of inverted index, the default value
is V3."
+ })
public static String inverted_index_storage_format = "V3";
@ConfField(mutable = true, masterOnly = true, description = {
diff --git
a/fe/fe-common/src/main/java/org/apache/doris/common/InvertedIndexStorageFormatValidator.java
b/fe/fe-common/src/main/java/org/apache/doris/common/InvertedIndexStorageFormatValidator.java
new file mode 100644
index 00000000000..7b8809f04dd
--- /dev/null
+++
b/fe/fe-common/src/main/java/org/apache/doris/common/InvertedIndexStorageFormatValidator.java
@@ -0,0 +1,50 @@
+// 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.common;
+
+import java.lang.reflect.Field;
+
+public final class InvertedIndexStorageFormatValidator {
+ private InvertedIndexStorageFormatValidator() {
+ }
+
+ public static void rejectRuntimeV1(String confVal) throws ConfigException {
+ String normalizedConfVal = confVal.trim();
+ if ("V1".equalsIgnoreCase(normalizedConfVal)) {
+ throw new ConfigException("Inverted index V1 is deprecated and no
longer allowed"
+ + " for new index creation. Please use inverted index
V2.");
+ }
+ }
+
+ public static void rejectStartupV1(String confVal) throws ConfigException {
+ String normalizedConfVal = confVal.trim();
+ if ("V1".equalsIgnoreCase(normalizedConfVal)) {
+ throw new ConfigException(
+ "inverted_index_storage_format=V1 is no longer supported. "
+ + "Please update fe.conf (or fe_custom.conf): set
inverted_index_storage_format=V2.");
+ }
+ }
+
+ public static class RuntimeConfigHandler extends
ConfigBase.DefaultConfHandler {
+ @Override
+ public void handle(Field field, String confVal) throws Exception {
+ rejectRuntimeV1(confVal);
+ super.handle(field, confVal.trim());
+ }
+ }
+}
diff --git a/fe/fe-common/src/test/java/org/apache/doris/common/ConfigTest.java
b/fe/fe-common/src/test/java/org/apache/doris/common/ConfigTest.java
index c59cb44c66d..a422113c70e 100644
--- a/fe/fe-common/src/test/java/org/apache/doris/common/ConfigTest.java
+++ b/fe/fe-common/src/test/java/org/apache/doris/common/ConfigTest.java
@@ -118,4 +118,24 @@ public class ConfigTest {
Assert.assertTrue(e.getMessage().contains("is not mutable"));
}
}
+
+ @Test
+ public void testRejectDeprecatedInvertedIndexV1WithWhitespace() throws
Exception {
+ String originFormat = Config.inverted_index_storage_format;
+ try {
+ ConfigBase.setMutableConfig("inverted_index_storage_format", "V2");
+ ConfigException dynamicException =
Assert.assertThrows(ConfigException.class,
+ () ->
ConfigBase.setMutableConfig("inverted_index_storage_format", " V1 "));
+ Assert.assertTrue(dynamicException.getMessage().contains("Inverted
index V1 is deprecated"));
+ Assert.assertEquals("V2", Config.inverted_index_storage_format);
+
+ Config.inverted_index_storage_format = "V2";
+ ConfigException startupException =
Assert.assertThrows(ConfigException.class,
+ () ->
InvertedIndexStorageFormatValidator.rejectStartupV1(" V1 "));
+
Assert.assertTrue(startupException.getMessage().contains("inverted_index_storage_format=V1"));
+ Assert.assertEquals("V2", Config.inverted_index_storage_format);
+ } finally {
+ Config.inverted_index_storage_format = originFormat;
+ }
+ }
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/DorisFE.java
b/fe/fe-core/src/main/java/org/apache/doris/DorisFE.java
index ff9cd169b99..341b1494add 100755
--- a/fe/fe-core/src/main/java/org/apache/doris/DorisFE.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/DorisFE.java
@@ -23,6 +23,7 @@ import org.apache.doris.common.CommandLineOptions;
import org.apache.doris.common.Config;
import org.apache.doris.common.FeConstants;
import org.apache.doris.common.FeMetaVersion;
+import org.apache.doris.common.InvertedIndexStorageFormatValidator;
import org.apache.doris.common.LdapConfig;
import org.apache.doris.common.Log4jConfig;
import org.apache.doris.common.LogUtils;
@@ -144,6 +145,10 @@ public class DorisFE {
// Must init custom config after init config, separately.
// Because the path of custom config file is defined in fe.conf
config.initCustom(Config.custom_config_dir + "/fe_custom.conf");
+ // inverted_index_storage_format's runtime callback is not invoked
while parsing
+ // fe.conf/fe_custom.conf, so validate the loaded value here after
both files are loaded
+ // and merged, to reject a "V1" left over in the config files at
startup.
+
InvertedIndexStorageFormatValidator.rejectStartupV1(Config.inverted_index_storage_format);
LdapConfig ldapConfig = new LdapConfig();
if (new File(dorisHomeDir + "/conf/ldap.conf").exists()) {
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 c038fcd0e24..3aee05b5a8e 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
@@ -2816,6 +2816,13 @@ public class SchemaChangeHandler extends AlterHandler {
AnnIndexPropertiesChecker.checkProperties(indexDef.getProperties());
}
+ if (indexDef.getIndexType() == IndexType.INVERTED
+ && olapTable.getInvertedIndexFileStorageFormat() ==
TInvertedIndexFileStorageFormat.V1) {
+ throw new DdlException("Inverted index V1 is deprecated and no
longer allowed for new index creation."
+ + " Upgrading inverted_index_storage_format via ALTER
TABLE is not supported;"
+ + " recreate the table with inverted_index_storage_format
= V2.");
+ }
+
for (String col : indexDef.getColumns()) {
Column column = olapTable.getColumn(col);
if (column != null) {
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/common/util/PropertyAnalyzer.java
b/fe/fe-core/src/main/java/org/apache/doris/common/util/PropertyAnalyzer.java
index 39bc5abcca8..631bdfd812d 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/common/util/PropertyAnalyzer.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/common/util/PropertyAnalyzer.java
@@ -1283,9 +1283,7 @@ public class PropertyAnalyzer {
invertedIndexFileStorageFormat =
properties.get(PROPERTIES_INVERTED_INDEX_STORAGE_FORMAT);
properties.remove(PROPERTIES_INVERTED_INDEX_STORAGE_FORMAT);
} else {
- if (Config.inverted_index_storage_format.equalsIgnoreCase("V1")) {
- return TInvertedIndexFileStorageFormat.V1;
- } else if
(Config.inverted_index_storage_format.equalsIgnoreCase("V2")) {
+ if (Config.inverted_index_storage_format.equalsIgnoreCase("V2")) {
return TInvertedIndexFileStorageFormat.V2;
} else {
return TInvertedIndexFileStorageFormat.V3;
@@ -1293,15 +1291,15 @@ public class PropertyAnalyzer {
}
if (invertedIndexFileStorageFormat.equalsIgnoreCase("v1")) {
- return TInvertedIndexFileStorageFormat.V1;
+ throw new AnalysisException(
+ "Inverted index V1 is deprecated and no longer allowed for
new index creation."
+ + " Please use inverted index V2.");
} else if (invertedIndexFileStorageFormat.equalsIgnoreCase("v2")) {
return TInvertedIndexFileStorageFormat.V2;
} else if (invertedIndexFileStorageFormat.equalsIgnoreCase("v3")) {
return TInvertedIndexFileStorageFormat.V3;
} else if (invertedIndexFileStorageFormat.equalsIgnoreCase("default"))
{
- if (Config.inverted_index_storage_format.equalsIgnoreCase("V1")) {
- return TInvertedIndexFileStorageFormat.V1;
- } else if
(Config.inverted_index_storage_format.equalsIgnoreCase("V2")) {
+ if (Config.inverted_index_storage_format.equalsIgnoreCase("V2")) {
return TInvertedIndexFileStorageFormat.V2;
} else {
return TInvertedIndexFileStorageFormat.V3;
diff --git
a/fe/fe-core/src/test/java/org/apache/doris/common/PropertyAnalyzerTest.java
b/fe/fe-core/src/test/java/org/apache/doris/common/PropertyAnalyzerTest.java
index 80da78c4b60..af983b8a877 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/common/PropertyAnalyzerTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/common/PropertyAnalyzerTest.java
@@ -334,14 +334,17 @@ public class PropertyAnalyzerTest {
TInvertedIndexFileStorageFormat result =
PropertyAnalyzer.analyzeInvertedIndexFileStorageFormat(null);
Assertions.assertEquals(TInvertedIndexFileStorageFormat.V3,
result);
+ // Config=V1 with no explicit property: V1 config is ignored,
falls through to V3
Config.inverted_index_storage_format = "V1";
result =
PropertyAnalyzer.analyzeInvertedIndexFileStorageFormat(new HashMap<>());
- Assertions.assertEquals(TInvertedIndexFileStorageFormat.V1,
result);
+ Assertions.assertEquals(TInvertedIndexFileStorageFormat.V3,
result);
Map<String, String> propertiesWithV1 = new HashMap<>();
propertiesWithV1.put(PropertyAnalyzer.PROPERTIES_INVERTED_INDEX_STORAGE_FORMAT,
"v1");
- result =
PropertyAnalyzer.analyzeInvertedIndexFileStorageFormat(propertiesWithV1);
- Assertions.assertEquals(TInvertedIndexFileStorageFormat.V1,
result);
+ AnalysisException v1Ex =
Assertions.assertThrows(AnalysisException.class,
+ () ->
PropertyAnalyzer.analyzeInvertedIndexFileStorageFormat(propertiesWithV1));
+ Assertions.assertTrue(v1Ex.getMessage().contains(
+ "Inverted index V1 is deprecated and no longer allowed for
new index creation."));
Map<String, String> propertiesWithV2 = new HashMap<>();
propertiesWithV2.put(PropertyAnalyzer.PROPERTIES_INVERTED_INDEX_STORAGE_FORMAT,
"v2");
@@ -353,11 +356,12 @@ public class PropertyAnalyzerTest {
result =
PropertyAnalyzer.analyzeInvertedIndexFileStorageFormat(propertiesWithV3);
Assertions.assertEquals(TInvertedIndexFileStorageFormat.V3,
result);
+ // "default" + Config=V1: falls through to V3 (current default
when config is not V2)
Config.inverted_index_storage_format = "V1";
Map<String, String> propertiesWithDefaultV1 = new HashMap<>();
propertiesWithDefaultV1.put(PropertyAnalyzer.PROPERTIES_INVERTED_INDEX_STORAGE_FORMAT,
"default");
result =
PropertyAnalyzer.analyzeInvertedIndexFileStorageFormat(propertiesWithDefaultV1);
- Assertions.assertEquals(TInvertedIndexFileStorageFormat.V1,
result);
+ Assertions.assertEquals(TInvertedIndexFileStorageFormat.V3,
result);
Config.inverted_index_storage_format = "V2";
Map<String, String> propertiesWithDefaultV2 = new HashMap<>();
diff --git a/regression-test/data/fault_injection_p0/test_index_io_context.out
b/regression-test/data/fault_injection_p0/test_index_io_context.out
index b24411f7634..38dc7dc576b 100644
--- a/regression-test/data/fault_injection_p0/test_index_io_context.out
+++ b/regression-test/data/fault_injection_p0/test_index_io_context.out
@@ -8,51 +8,6 @@
-- !sql --
177
--- !sql --
-177
-
--- !sql --
-177
-
--- !sql --
-177
-
--- !sql --
-2
-
--- !sql --
-2
-
--- !sql --
-2
-
--- !sql --
-2
-
--- !sql --
-2
-
--- !sql --
-2
-
--- !sql --
-2
-
--- !sql --
-2
-
--- !sql --
-2
-
--- !sql --
-2
-
--- !sql --
-2
-
--- !sql --
-2
-
-- !sql --
2
@@ -98,18 +53,6 @@
-- !sql --
0
--- !sql --
-0
-
--- !sql --
-0
-
--- !sql --
-0
-
--- !sql --
-4
-
-- !sql --
4
@@ -119,42 +62,6 @@
-- !sql --
4
--- !sql --
-4
-
--- !sql --
-4
-
--- !sql --
-844
-
--- !sql --
-152
-
--- !sql --
-99
-
--- !sql --
-13
-
--- !sql --
-152
-
--- !sql --
-844
-
--- !sql --
-152
-
--- !sql --
-99
-
--- !sql --
-13
-
--- !sql --
-152
-
-- !sql --
844
diff --git a/regression-test/data/inverted_index_p0/test_index_multi_match.out
b/regression-test/data/inverted_index_p0/test_index_multi_match.out
index 86762cae36f..865303c7942 100644
--- a/regression-test/data/inverted_index_p0/test_index_multi_match.out
+++ b/regression-test/data/inverted_index_p0/test_index_multi_match.out
@@ -23,48 +23,12 @@
-- !sql --
44
--- !sql --
-178
-
--- !sql --
-180
-
--- !sql --
-859
-
--- !sql --
-44
-
--- !sql --
-178
-
--- !sql --
-180
-
--- !sql --
-859
-
--- !sql --
-44
-
-- !sql --
30
-- !sql --
30
--- !sql --
-30
-
--- !sql --
-30
-
--- !sql --
-5
-
--- !sql --
-5
-
-- !sql --
5
@@ -77,18 +41,6 @@
-- !sql --
30
--- !sql --
-30
-
--- !sql --
-30
-
--- !sql --
-5
-
--- !sql --
-5
-
-- !sql --
5
@@ -101,18 +53,6 @@
-- !sql --
30
--- !sql --
-30
-
--- !sql --
-30
-
--- !sql --
-5
-
--- !sql --
-5
-
-- !sql --
5
@@ -125,18 +65,6 @@
-- !sql --
30
--- !sql --
-30
-
--- !sql --
-30
-
--- !sql --
-5
-
--- !sql --
-5
-
-- !sql --
5
@@ -149,18 +77,6 @@
-- !sql --
30
--- !sql --
-30
-
--- !sql --
-30
-
--- !sql --
-5
-
--- !sql --
-5
-
-- !sql --
5
@@ -173,18 +89,6 @@
-- !sql --
30
--- !sql --
-30
-
--- !sql --
-30
-
--- !sql --
-5
-
--- !sql --
-5
-
-- !sql --
5
diff --git a/regression-test/suites/ann_index_p0/create_ann_index_test.groovy
b/regression-test/suites/ann_index_p0/create_ann_index_test.groovy
index 3e32584a378..c0dd19813ac 100644
--- a/regression-test/suites/ann_index_p0/create_ann_index_test.groovy
+++ b/regression-test/suites/ann_index_p0/create_ann_index_test.groovy
@@ -407,7 +407,7 @@ suite("create_ann_index_test") {
);
"""
- exception "ANN index is not supported in index format V1"
+ exception "Inverted index V1 is deprecated and no longer allowed for
new index creation."
}
// CREATE INDEX with ivf_on_disk type on existing table
diff --git
a/regression-test/suites/correctness_p0/test_mv_case/test_mv_case.groovy
b/regression-test/suites/correctness_p0/test_mv_case/test_mv_case.groovy
index d52e8dd2acc..1c9aa22a040 100644
--- a/regression-test/suites/correctness_p0/test_mv_case/test_mv_case.groovy
+++ b/regression-test/suites/correctness_p0/test_mv_case/test_mv_case.groovy
@@ -84,7 +84,7 @@ suite("test_mv_case") {
"is_being_synced" = "false",
"storage_medium" = "hdd",
"storage_format" = "V2",
- "inverted_index_storage_format" = "V1",
+ "inverted_index_storage_format" = "V2",
"enable_unique_key_merge_on_write" = "true",
"light_schema_change" = "true",
"disable_auto_compaction" = "false",
@@ -102,7 +102,7 @@ suite("test_mv_case") {
"colocate_with" = "dwd_info_group",
"storage_medium" = "hdd",
"storage_format" = "V2",
- "inverted_index_storage_format" = "V1",
+ "inverted_index_storage_format" = "V2",
"light_schema_change" = "true",
"disable_auto_compaction" = "false",
"group_commit_interval_ms" = "10000",
@@ -124,7 +124,7 @@ suite("test_mv_case") {
"colocate_with" = "dwd_info_group",
"storage_medium" = "hdd",
"storage_format" = "V2",
- "inverted_index_storage_format" = "V1",
+ "inverted_index_storage_format" = "V2",
"light_schema_change" = "true",
"disable_auto_compaction" = "false",
"group_commit_interval_ms" = "10000",
diff --git
a/regression-test/suites/datatype_p0/nested_types/corner_cases/test_special_buffer_before_nested.groovy
b/regression-test/suites/datatype_p0/nested_types/corner_cases/test_special_buffer_before_nested.groovy
index a199ccaf6ec..8d073100691 100644
---
a/regression-test/suites/datatype_p0/nested_types/corner_cases/test_special_buffer_before_nested.groovy
+++
b/regression-test/suites/datatype_p0/nested_types/corner_cases/test_special_buffer_before_nested.groovy
@@ -160,7 +160,7 @@ suite("test_special_buffer_before_nested", "p0") {
"is_being_synced" = "false",
"storage_medium" = "hdd",
"storage_format" = "V2",
- "inverted_index_storage_format" = "V1",
+ "inverted_index_storage_format" = "V2",
"enable_unique_key_merge_on_write" = "true",
"light_schema_change" = "true",
"store_row_column" = "true",
diff --git
a/regression-test/suites/fault_injection_p0/test_index_bkd_writer_fault_injection.groovy
b/regression-test/suites/fault_injection_p0/test_index_bkd_writer_fault_injection.groovy
index 0597d2a61d6..43e2dca9dc8 100644
---
a/regression-test/suites/fault_injection_p0/test_index_bkd_writer_fault_injection.groovy
+++
b/regression-test/suites/fault_injection_p0/test_index_bkd_writer_fault_injection.groovy
@@ -35,7 +35,7 @@ suite("test_index_bkd_writer_fault_injection",
"nonConcurrent") {
DUPLICATE KEY(`id`)
COMMENT 'OLAP'
DISTRIBUTED BY HASH(`id`) BUCKETS 1
- PROPERTIES ( "replication_num" = "1", "disable_auto_compaction" =
"true", "inverted_index_storage_format" = "V1");
+ PROPERTIES ( "replication_num" = "1", "disable_auto_compaction" =
"true", "inverted_index_storage_format" = "V2");
"""
try {
diff --git
a/regression-test/suites/fault_injection_p0/test_index_builder_drop_index_fault_injection.groovy
b/regression-test/suites/fault_injection_p0/test_index_builder_drop_index_fault_injection.groovy
index 353afdf0769..60be3e957ab 100644
---
a/regression-test/suites/fault_injection_p0/test_index_builder_drop_index_fault_injection.groovy
+++
b/regression-test/suites/fault_injection_p0/test_index_builder_drop_index_fault_injection.groovy
@@ -123,7 +123,6 @@ suite("test_index_builder_drop_index_fault_injection",
"nonConcurrent") {
runTest(indexTbName)
}
- createTestTable("v1")
createTestTable("v2")
}
\ No newline at end of file
diff --git
a/regression-test/suites/fault_injection_p0/test_index_compaction_exception_fault_injection.groovy
b/regression-test/suites/fault_injection_p0/test_index_compaction_exception_fault_injection.groovy
index 8a9c6d71609..2351f087157 100644
---
a/regression-test/suites/fault_injection_p0/test_index_compaction_exception_fault_injection.groovy
+++
b/regression-test/suites/fault_injection_p0/test_index_compaction_exception_fault_injection.groovy
@@ -285,7 +285,7 @@ suite("test_index_compaction_exception_fault_injection",
"nonConcurrent") {
DISTRIBUTED BY HASH(`id`) BUCKETS 1
PROPERTIES (
"replication_allocation" = "tag.location.default: 1",
- "inverted_index_storage_format" = "V1",
+ "inverted_index_storage_format" = "V2",
"disable_auto_compaction" = "true"
);
"""
diff --git
a/regression-test/suites/fault_injection_p0/test_index_compaction_fault_injection.groovy
b/regression-test/suites/fault_injection_p0/test_index_compaction_fault_injection.groovy
index b33ce977bbe..daa452c8e6e 100644
---
a/regression-test/suites/fault_injection_p0/test_index_compaction_fault_injection.groovy
+++
b/regression-test/suites/fault_injection_p0/test_index_compaction_fault_injection.groovy
@@ -311,7 +311,7 @@ suite("test_index_compaction_failure_injection",
"nonConcurrent") {
DUPLICATE KEY(`id`)
COMMENT 'OLAP'
DISTRIBUTED BY HASH(`id`) BUCKETS 1
- PROPERTIES ( "replication_num" = "1", "disable_auto_compaction" =
"true", "inverted_index_storage_format" = "V1");
+ PROPERTIES ( "replication_num" = "1", "disable_auto_compaction" =
"true", "inverted_index_storage_format" = "V2");
"""
//TabletId,ReplicaId,BackendId,SchemaHash,Version,LstSuccessVersion,LstFailedVersion,LstFailedTime,LocalDataSize,RemoteDataSize,RowCount,State,LstConsistencyCheckTime,CheckVersion,VersionCount,PathHash,MetaUrl,CompactionStatus
@@ -342,7 +342,7 @@ suite("test_index_compaction_failure_injection",
"nonConcurrent") {
"replication_num" = "1",
"disable_auto_compaction" = "true",
"enable_unique_key_merge_on_write" = "true",
- "inverted_index_storage_format" = "V1"
+ "inverted_index_storage_format" = "V2"
);
"""
diff --git
a/regression-test/suites/fault_injection_p0/test_index_io_context.groovy
b/regression-test/suites/fault_injection_p0/test_index_io_context.groovy
index 0601473cef0..6e60b80816e 100644
--- a/regression-test/suites/fault_injection_p0/test_index_io_context.groovy
+++ b/regression-test/suites/fault_injection_p0/test_index_io_context.groovy
@@ -69,10 +69,8 @@ suite("test_index_io_context", "nonConcurrent") {
}
try {
- create_table(tableName1, "V1");
create_table(tableName2, "V2");
- load_httplogs_data.call(tableName1, 'test_index_io_context1', 'true',
'json', 'documents-1000.json')
load_httplogs_data.call(tableName2, 'test_index_io_context2', 'true',
'json', 'documents-1000.json')
sql "sync"
@@ -80,71 +78,40 @@ suite("test_index_io_context", "nonConcurrent") {
try {
GetDebugPoint().enableDebugPointForAllBEs("InvertedIndexReader.handle_searcher_cache.io_ctx")
- qt_sql """ select count() from ${tableName1} where request
match_any 'ticket_quest_bg2.jpg'; """
- qt_sql """ select count() from ${tableName1} where request
match_any 'ticket_quest_bg2.jpg'; """
- qt_sql """ select count() from ${tableName1} where request
match_any 'ticket_quest_bg2.jpg'; """
qt_sql """ select count() from ${tableName2} where request
match_any 'ticket_quest_bg2.jpg'; """
qt_sql """ select count() from ${tableName2} where request
match_any 'ticket_quest_bg2.jpg'; """
qt_sql """ select count() from ${tableName2} where request
match_any 'ticket_quest_bg2.jpg'; """
-
- qt_sql """ select count() from ${tableName1} where request
match_all 'ticket_quest_bg2.jpg'; """
- qt_sql """ select count() from ${tableName1} where request
match_all 'ticket_quest_bg2.jpg'; """
- qt_sql """ select count() from ${tableName1} where request
match_all 'ticket_quest_bg2.jpg'; """
+
qt_sql """ select count() from ${tableName2} where request
match_all 'ticket_quest_bg2.jpg'; """
qt_sql """ select count() from ${tableName2} where request
match_all 'ticket_quest_bg2.jpg'; """
qt_sql """ select count() from ${tableName2} where request
match_all 'ticket_quest_bg2.jpg'; """
-
- qt_sql """ select count() from ${tableName1} where request
match_phrase 'ticket_quest_bg2.jpg'; """
- qt_sql """ select count() from ${tableName1} where request
match_phrase 'ticket_quest_bg2.jpg'; """
- qt_sql """ select count() from ${tableName1} where request
match_phrase 'ticket_quest_bg2.jpg'; """
+
qt_sql """ select count() from ${tableName2} where request
match_phrase 'ticket_quest_bg2.jpg'; """
qt_sql """ select count() from ${tableName2} where request
match_phrase 'ticket_quest_bg2.jpg'; """
qt_sql """ select count() from ${tableName2} where request
match_phrase 'ticket_quest_bg2.jpg'; """
-
- qt_sql """ select count() from ${tableName1} where request
match_phrase 'ticket_quest_bg2.jpg ~10+'; """
- qt_sql """ select count() from ${tableName1} where request
match_phrase 'ticket_quest_bg2.jpg ~10+'; """
- qt_sql """ select count() from ${tableName1} where request
match_phrase 'ticket_quest_bg2.jpg ~10+'; """
+
qt_sql """ select count() from ${tableName2} where request
match_phrase 'ticket_quest_bg2.jpg ~10+'; """
qt_sql """ select count() from ${tableName2} where request
match_phrase 'ticket_quest_bg2.jpg ~10+'; """
qt_sql """ select count() from ${tableName2} where request
match_phrase 'ticket_quest_bg2.jpg ~10+'; """
-
- qt_sql """ select count() from ${tableName1} where request
match_phrase 'ticket_quest_bg2.jpg ~10'; """
- qt_sql """ select count() from ${tableName1} where request
match_phrase 'ticket_quest_bg2.jpg ~10'; """
- qt_sql """ select count() from ${tableName1} where request
match_phrase 'ticket_quest_bg2.jpg ~10'; """
+
qt_sql """ select count() from ${tableName2} where request
match_phrase 'ticket_quest_bg2.jpg ~10'; """
qt_sql """ select count() from ${tableName2} where request
match_phrase 'ticket_quest_bg2.jpg ~10'; """
qt_sql """ select count() from ${tableName2} where request
match_phrase 'ticket_quest_bg2.jpg ~10'; """
- qt_sql """ select count() from ${tableName1} where request
match_phrase_prefix 'ticket_quest_bg ~10'; """
- qt_sql """ select count() from ${tableName1} where request
match_phrase_prefix 'ticket_quest_bg ~10'; """
- qt_sql """ select count() from ${tableName1} where request
match_phrase_prefix 'ticket_quest_bg ~10'; """
qt_sql """ select count() from ${tableName2} where request
match_phrase_prefix 'ticket_quest_bg ~10'; """
qt_sql """ select count() from ${tableName2} where request
match_phrase_prefix 'ticket_quest_bg ~10'; """
qt_sql """ select count() from ${tableName2} where request
match_phrase_prefix 'ticket_quest_bg ~10'; """
- qt_sql """ select count() from ${tableName1} where request
match_phrase_prefix 'quest'; """
- qt_sql """ select count() from ${tableName1} where request
match_phrase_prefix 'quest'; """
- qt_sql """ select count() from ${tableName1} where request
match_phrase_prefix 'quest'; """
qt_sql """ select count() from ${tableName2} where request
match_phrase_prefix 'quest'; """
qt_sql """ select count() from ${tableName2} where request
match_phrase_prefix 'quest'; """
qt_sql """ select count() from ${tableName2} where request
match_phrase_prefix 'quest'; """
- qt_sql """ select count() from ${tableName1} where status = '200';
"""
- qt_sql """ select count() from ${tableName1} where status = '304';
"""
- qt_sql """ select count() from ${tableName1} where size = '24736';
"""
- qt_sql """ select count() from ${tableName1} where size = '985';
"""
- qt_sql """ select count() from ${tableName1} where size = '0'; """
qt_sql """ select count() from ${tableName2} where status = '200';
"""
qt_sql """ select count() from ${tableName2} where status = '304';
"""
qt_sql """ select count() from ${tableName2} where size = '24736';
"""
qt_sql """ select count() from ${tableName2} where size = '985';
"""
qt_sql """ select count() from ${tableName2} where size = '0'; """
- qt_sql """ select count() from ${tableName1} where status = '200';
"""
- qt_sql """ select count() from ${tableName1} where status = '304';
"""
- qt_sql """ select count() from ${tableName1} where size = '24736';
"""
- qt_sql """ select count() from ${tableName1} where size = '985';
"""
- qt_sql """ select count() from ${tableName1} where size = '0'; """
qt_sql """ select count() from ${tableName2} where status = '200';
"""
qt_sql """ select count() from ${tableName2} where status = '304';
"""
qt_sql """ select count() from ${tableName2} where size = '24736';
"""
diff --git
a/regression-test/suites/fault_injection_p0/test_skip_index_compaction_fault_injection.groovy
b/regression-test/suites/fault_injection_p0/test_skip_index_compaction_fault_injection.groovy
index 8b030a83094..a3b5901aa7f 100644
---
a/regression-test/suites/fault_injection_p0/test_skip_index_compaction_fault_injection.groovy
+++
b/regression-test/suites/fault_injection_p0/test_skip_index_compaction_fault_injection.groovy
@@ -19,32 +19,11 @@ import org.codehaus.groovy.runtime.IOGroovyMethods
suite("test_skip_index_compaction_fault_injection", "nonConcurrent") {
def isCloudMode = isCloudMode()
- def tableName1 = "test_skip_index_compaction_fault_injection_1"
def tableName2 = "test_skip_index_compaction_fault_injection_2"
def backendId_to_backendIP = [:]
def backendId_to_backendHttpPort = [:]
getBackendIpHttpPort(backendId_to_backendIP, backendId_to_backendHttpPort);
- sql "DROP TABLE IF EXISTS ${tableName1}"
- sql """
- CREATE TABLE ${tableName1} (
- `@timestamp` int(11) NULL COMMENT "",
- `clientip` varchar(20) NULL COMMENT "",
- `request` text NULL COMMENT "",
- `status` int(11) NULL COMMENT "",
- `size` int(11) NULL COMMENT "",
- INDEX clientip_idx (`clientip`) USING INVERTED COMMENT '',
- INDEX request_idx (`request`) USING INVERTED PROPERTIES("parser" =
"english", "support_phrase" = "true") COMMENT ''
- ) ENGINE=OLAP
- DUPLICATE KEY(`@timestamp`)
- COMMENT "OLAP"
- DISTRIBUTED BY RANDOM BUCKETS 1
- PROPERTIES (
- "replication_allocation" = "tag.location.default: 1",
- "disable_auto_compaction" = "true",
- "inverted_index_storage_format" = "V1"
- );
- """
sql "DROP TABLE IF EXISTS ${tableName2}"
sql """
@@ -174,12 +153,6 @@ suite("test_skip_index_compaction_fault_injection",
"nonConcurrent") {
has_update_be_config = true
check_config.call("inverted_index_compaction_enable", "true");
- try {
-
GetDebugPoint().enableDebugPointForAllBEs("Compaction::open_inverted_index_file_reader")
- run_test.call(tableName1)
- } finally {
-
GetDebugPoint().disableDebugPointForAllBEs("Compaction::open_inverted_index_file_reader")
- }
try {
GetDebugPoint().enableDebugPointForAllBEs("Compaction::open_inverted_index_file_writer")
diff --git
a/regression-test/suites/fault_injection_p0/test_write_inverted_index_exception_fault_injection.groovy
b/regression-test/suites/fault_injection_p0/test_write_inverted_index_exception_fault_injection.groovy
index 732057bf553..d33d33c1222 100644
---
a/regression-test/suites/fault_injection_p0/test_write_inverted_index_exception_fault_injection.groovy
+++
b/regression-test/suites/fault_injection_p0/test_write_inverted_index_exception_fault_injection.groovy
@@ -229,7 +229,7 @@
suite("test_write_inverted_index_exception_fault_injection", "nonConcurrent") {
"InvertedIndexColumnWriter::create_unsupported_type_for_inverted_index"
]
- def inverted_index_storage_format = ["v1", "v2"]
+ def inverted_index_storage_format = ["v2"]
try {
String backend_id;
backend_id = backendId_to_backendIP.keySet()[0]
diff --git
a/regression-test/suites/fault_injection_p2/test_build_index_exception_fault_injection.groovy
b/regression-test/suites/fault_injection_p2/test_build_index_exception_fault_injection.groovy
index 14e74d9b8eb..c019d37036b 100644
---
a/regression-test/suites/fault_injection_p2/test_build_index_exception_fault_injection.groovy
+++
b/regression-test/suites/fault_injection_p2/test_build_index_exception_fault_injection.groovy
@@ -235,7 +235,7 @@ suite("test_build_index_exception_fault_injection",
"nonConcurrent,p2") {
"IndexBuilder::gc_output_rowset_is_local_rowset"
]
- def inverted_index_storage_format = ["v1", "v2"]
+ def inverted_index_storage_format = ["v2"]
inverted_index_storage_format.each { format ->
def tableName = "${tableNamePrefix}_${format}"
diff --git a/regression-test/suites/function_p0/test_array_map.groovy
b/regression-test/suites/function_p0/test_array_map.groovy
index 95fbb8e08f2..ef9ccecc3fe 100644
--- a/regression-test/suites/function_p0/test_array_map.groovy
+++ b/regression-test/suites/function_p0/test_array_map.groovy
@@ -111,7 +111,7 @@ suite("test_array_map") {
"is_being_synced" = "false",
"storage_medium" = "hdd",
"storage_format" = "V2",
- "inverted_index_storage_format" = "V1",
+ "inverted_index_storage_format" = "V2",
"enable_unique_key_merge_on_write" = "true",
"light_schema_change" = "true",
"disable_auto_compaction" = "false",
diff --git
a/regression-test/suites/insert_overwrite_p0/test_iot_auto_detect_fail.groovy
b/regression-test/suites/insert_overwrite_p0/test_iot_auto_detect_fail.groovy
index a7571934f73..e6497b92447 100644
---
a/regression-test/suites/insert_overwrite_p0/test_iot_auto_detect_fail.groovy
+++
b/regression-test/suites/insert_overwrite_p0/test_iot_auto_detect_fail.groovy
@@ -75,7 +75,7 @@ PROPERTIES (
"is_being_synced" = "false",
"storage_medium" = "hdd",
"storage_format" = "V2",
-"inverted_index_storage_format" = "V1",
+"inverted_index_storage_format" = "V2",
"light_schema_change" = "true",
"disable_auto_compaction" = "false",
"group_commit_interval_ms" = "10000",
@@ -142,7 +142,7 @@ PROPERTIES (
"is_being_synced" = "false",
"storage_medium" = "hdd",
"storage_format" = "V2",
-"inverted_index_storage_format" = "V1",
+"inverted_index_storage_format" = "V2",
"light_schema_change" = "true",
"disable_auto_compaction" = "false",
"group_commit_interval_ms" = "10000",
diff --git
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_1.groovy
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_1.groovy
index f602d114503..bc649228e54 100644
---
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_1.groovy
+++
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_1.groovy
@@ -20,7 +20,7 @@ import org.codehaus.groovy.runtime.IOGroovyMethods
suite("test_index_change_1") {
sql "set enable_add_index_for_new_data = true"
def timeout = 60000
-
+
def tableName = "test_index_change_1"
sql """ DROP TABLE IF EXISTS ${tableName} """
@@ -39,27 +39,27 @@ suite("test_index_change_1") {
sql """ INSERT INTO ${tableName} VALUES
(1, '2017-10-01', 'Beijing China', 10, 1, 'Software Developer')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(2, '2017-10-01', 'Beijing China', 10, 1, 'Communication Engineer')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(3, '2017-10-01', 'Shanghai China', 10, 1, 'electrical engineer')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(4, '2017-10-02', 'Beijing China', 10, 0, 'Both a teacher and a
scientist')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(5, '2017-10-02', 'Shenzhen China', 10, 1, 'teacher')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(6, '2017-10-03', 'Hongkong China', 10, 1, 'Architectural designer')
"""
-
+
qt_select1 """ SELECT * FROM ${tableName} t ORDER BY
user_id,date,city,age,sex; """
// create inverted index
@@ -83,65 +83,4 @@ suite("test_index_change_1") {
qt_select5 """ SELECT * FROM ${tableName} t WHERE note MATCH_PHRASE
'electrical engineer' ORDER BY user_id; """
qt_select6 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer
Developer' AND city match_all 'Shanghai China' ORDER BY user_id; """
- tableName = "test_index_change_1_v1"
-
- sql """ DROP TABLE IF EXISTS ${tableName} """
- sql """
- CREATE TABLE IF NOT EXISTS ${tableName} (
- `user_id` LARGEINT NOT NULL COMMENT "用户id",
- `date` DATE NOT NULL COMMENT "数据灌入日期时间",
- `city` VARCHAR(20) COMMENT "用户所在城市",
- `age` SMALLINT COMMENT "用户年龄",
- `sex` TINYINT COMMENT "用户性别",
- `note` TEXT COMMENT "备注")
- DUPLICATE KEY(`user_id`, `date`, `city`, `age`, `sex`) DISTRIBUTED BY
HASH(`user_id`)
- PROPERTIES ( "replication_num" = "1", "inverted_index_storage_format"
= "V1" );
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (1, '2017-10-01', 'Beijing China', 10, 1, 'Software Developer')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (2, '2017-10-01', 'Beijing China', 10, 1, 'Communication Engineer')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (3, '2017-10-01', 'Shanghai China', 10, 1, 'electrical engineer')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (4, '2017-10-02', 'Beijing China', 10, 0, 'Both a teacher and a
scientist')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (5, '2017-10-02', 'Shenzhen China', 10, 1, 'teacher')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (6, '2017-10-03', 'Hongkong China', 10, 1, 'Architectural designer')
- """
-
- qt_select1_v1 """ SELECT * FROM ${tableName} t ORDER BY
user_id,date,city,age,sex; """
-
- // create inverted index
- sql """ CREATE INDEX idx_user_id ON ${tableName}(`user_id`) USING INVERTED
"""
-
- sql """ CREATE INDEX idx_note ON ${tableName}(`note`) using inverted
properties("support_phrase" = "true", "parser" = "english", "lower_case" =
"true") """
- wait_for_last_col_change_finish(tableName, timeout)
- sql """ CREATE INDEX idx_city ON ${tableName}(`city`) using inverted
properties("support_phrase" = "true", "parser" = "english", "lower_case" =
"true") """
- wait_for_last_col_change_finish(tableName, timeout)
-
- show_result = sql "show index from ${tableName}"
- logger.info("show index from " + tableName + " result: " + show_result)
- assertEquals(show_result.size(), 3)
- assertEquals(show_result[0][2], "idx_user_id")
- assertEquals(show_result[1][2], "idx_note")
- assertEquals(show_result[2][2], "idx_city")
-
- qt_select2_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
ORDER BY user_id; """
- qt_select3_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
and sex = 1 ORDER BY user_id; """
- qt_select4_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer'
and sex = 0 ORDER BY user_id; """
- qt_select5_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH_PHRASE
'electrical engineer' ORDER BY user_id; """
- qt_select6_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer
Developer' AND city match_all 'Shanghai China' ORDER BY user_id; """
}
diff --git
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_2.groovy
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_2.groovy
index 2d3b2d7916c..91c535ab679 100644
---
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_2.groovy
+++
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_2.groovy
@@ -46,7 +46,7 @@ suite("test_index_change_2") {
}
assertTrue(useTime <= OpTimeout,
"wait_for_latest_build_index_on_partition_finish timeout")
}
-
+
def tableName = "test_index_change_2"
sql """ DROP TABLE IF EXISTS ${tableName} """
@@ -68,27 +68,27 @@ suite("test_index_change_2") {
sql """ INSERT INTO ${tableName} VALUES
(1, '2017-10-01', 'Beijing China', 10, 1, 'Software Developer')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(2, '2017-10-01', 'Beijing China', 10, 1, 'Communication Engineer')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(3, '2017-10-01', 'Shanghai China', 10, 1, 'electrical engineer')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(4, '2017-10-02', 'Beijing China', 10, 0, 'Both a teacher and a
scientist')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(5, '2017-10-02', 'Shenzhen China', 10, 1, 'teacher')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(6, '2017-10-03', 'Hongkong China', 10, 1, 'Architectural designer')
"""
-
+
qt_select1 """ SELECT * FROM ${tableName} t ORDER BY
user_id,date,city,age,sex; """
qt_select2 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
ORDER BY user_id; """
qt_select3 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing' and
sex = 1 ORDER BY user_id; """
@@ -117,74 +117,4 @@ suite("test_index_change_2") {
qt_select9 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer'
and sex = 0 ORDER BY user_id; """
qt_select10 """ SELECT * FROM ${tableName} t WHERE note MATCH_PHRASE
'electrical engineer' ORDER BY user_id; """
qt_select11 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer
Developer' AND city match_all 'Shanghai China' ORDER BY user_id; """
-
- tableName = "test_index_change_2_v1"
-
- sql """ DROP TABLE IF EXISTS ${tableName} """
- sql """
- CREATE TABLE IF NOT EXISTS ${tableName} (
- `user_id` LARGEINT NOT NULL COMMENT "用户id",
- `date` DATE NOT NULL COMMENT "数据灌入日期时间",
- `city` VARCHAR(20) COMMENT "用户所在城市",
- `age` SMALLINT COMMENT "用户年龄",
- `sex` TINYINT COMMENT "用户性别",
- `note` TEXT COMMENT "备注",
- INDEX idx_user_id (`user_id`) USING INVERTED COMMENT '',
- INDEX idx_note (`note`) USING INVERTED PROPERTIES("parser" =
"english") COMMENT ''
- )
- DUPLICATE KEY(`user_id`, `date`, `city`, `age`, `sex`) DISTRIBUTED BY
HASH(`user_id`)
- PROPERTIES ( "replication_num" = "1", "inverted_index_storage_format"
= "V1" );
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (1, '2017-10-01', 'Beijing China', 10, 1, 'Software Developer')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (2, '2017-10-01', 'Beijing China', 10, 1, 'Communication Engineer')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (3, '2017-10-01', 'Shanghai China', 10, 1, 'electrical engineer')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (4, '2017-10-02', 'Beijing China', 10, 0, 'Both a teacher and a
scientist')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (5, '2017-10-02', 'Shenzhen China', 10, 1, 'teacher')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (6, '2017-10-03', 'Hongkong China', 10, 1, 'Architectural designer')
- """
-
- qt_select1_v1 """ SELECT * FROM ${tableName} t ORDER BY
user_id,date,city,age,sex; """
- qt_select2_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
ORDER BY user_id; """
- qt_select3_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
and sex = 1 ORDER BY user_id; """
- qt_select4_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer'
and sex = 0 ORDER BY user_id; """
- qt_select5_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH_PHRASE
'electrical engineer' ORDER BY user_id; """
- qt_select6_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer
Developer' AND city match_all 'Shanghai China' ORDER BY user_id; """
-
- // create inverted index idx_city
- sql """ CREATE INDEX idx_city ON ${tableName}(`city`) using inverted
properties("support_phrase" = "true", "parser" = "english", "lower_case" =
"true") """
- wait_for_last_col_change_finish(tableName, timeout)
-
- // drop inverted index idx_user_id, idx_note
- sql """ DROP INDEX idx_user_id ON ${tableName} """
- wait_for_build_index_on_partition_finish(tableName, timeout)
- sql """ DROP INDEX idx_note ON ${tableName} """
- wait_for_build_index_on_partition_finish(tableName, timeout)
-
- show_result = sql "show index from ${tableName}"
- logger.info("show index from " + tableName + " result: " + show_result)
- assertEquals(show_result.size(), 1)
- assertEquals(show_result[0][2], "idx_city")
-
- qt_select7_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
ORDER BY user_id; """
- qt_select8_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
and sex = 1 ORDER BY user_id; """
- qt_select9_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer'
and sex = 0 ORDER BY user_id; """
- qt_select10_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH_PHRASE
'electrical engineer' ORDER BY user_id; """
- qt_select11_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer
Developer' AND city match_all 'Shanghai China' ORDER BY user_id; """
}
diff --git
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_3.groovy
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_3.groovy
index f6048fc387c..858dac305ef 100644
---
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_3.groovy
+++
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_3.groovy
@@ -21,7 +21,7 @@ suite("test_index_change_3") {
def timeout = 60000
sql "set enable_add_index_for_new_data = true"
-
+
def tableName = "test_index_change_3"
sql """ DROP TABLE IF EXISTS ${tableName} """
@@ -43,27 +43,27 @@ suite("test_index_change_3") {
sql """ INSERT INTO ${tableName} VALUES
(1, '2017-10-01', 'Beijing China', 10, 1, 'Software Developer')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(2, '2017-10-01', 'Beijing China', 10, 1, 'Communication Engineer')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(3, '2017-10-01', 'Shanghai China', 10, 1, 'electrical engineer')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(4, '2017-10-02', 'Beijing China', 10, 0, 'Both a teacher and a
scientist')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(5, '2017-10-02', 'Shenzhen China', 10, 1, 'teacher')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(6, '2017-10-03', 'Hongkong China', 10, 1, 'Architectural designer')
"""
-
+
qt_select1 """ SELECT * FROM ${tableName} t ORDER BY
user_id,date,city,age,sex; """
qt_select2 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
ORDER BY user_id; """
qt_select3 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing' and
sex = 1 ORDER BY user_id; """
@@ -95,79 +95,4 @@ suite("test_index_change_3") {
qt_select9 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer'
and sex = 0 ORDER BY user_id; """
qt_select10 """ SELECT * FROM ${tableName} t WHERE note MATCH_PHRASE
'electrical engineer' ORDER BY user_id; """
qt_select11 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer
Developer' AND city match_all 'Shanghai China' ORDER BY user_id; """
-
- tableName = "test_index_change_3_v1"
-
- sql """ DROP TABLE IF EXISTS ${tableName} """
- sql """
- CREATE TABLE IF NOT EXISTS ${tableName} (
- `user_id` LARGEINT NOT NULL COMMENT "用户id",
- `date` DATE NOT NULL COMMENT "数据灌入日期时间",
- `city` VARCHAR(20) COMMENT "用户所在城市",
- `age` SMALLINT COMMENT "用户年龄",
- `sex` TINYINT COMMENT "用户性别",
- `note` TEXT COMMENT "备注",
- INDEX idx_user_id (`user_id`) USING INVERTED COMMENT '',
- INDEX idx_note (`note`) USING INVERTED PROPERTIES("parser" =
"english") COMMENT ''
- )
- DUPLICATE KEY(`user_id`, `date`, `city`, `age`, `sex`) DISTRIBUTED BY
HASH(`user_id`)
- PROPERTIES ( "replication_num" = "1", "inverted_index_storage_format"
= "V1" );
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (1, '2017-10-01', 'Beijing China', 10, 1, 'Software Developer')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (2, '2017-10-01', 'Beijing China', 10, 1, 'Communication Engineer')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (3, '2017-10-01', 'Shanghai China', 10, 1, 'electrical engineer')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (4, '2017-10-02', 'Beijing China', 10, 0, 'Both a teacher and a
scientist')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (5, '2017-10-02', 'Shenzhen China', 10, 1, 'teacher')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (6, '2017-10-03', 'Hongkong China', 10, 1, 'Architectural designer')
- """
-
- qt_select1_v1 """ SELECT * FROM ${tableName} t ORDER BY
user_id,date,city,age,sex; """
- qt_select2_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
ORDER BY user_id; """
- qt_select3_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
and sex = 1 ORDER BY user_id; """
- qt_select4_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer'
and sex = 0 ORDER BY user_id; """
- qt_select5_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH_PHRASE
'electrical engineer' ORDER BY user_id; """
- qt_select6_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer
Developer' AND city match_all 'Shanghai China' ORDER BY user_id; """
-
- // create inverted index idx_city
- sql """ CREATE INDEX idx_city ON ${tableName}(`city`) using inverted
properties("support_phrase" = "true", "parser" = "english", "lower_case" =
"true") """
- wait_for_last_col_change_finish(tableName, timeout)
-
- if (!isCloudMode()) {
- build_index_on_table("idx_city", tableName)
- wait_for_last_build_index_finish(tableName, timeout)
- }
-
- // drop inverted index idx_user_id, idx_note
- sql """ DROP INDEX idx_city ON ${tableName} """
- wait_for_last_build_index_finish(tableName, timeout)
- sql """ DROP INDEX idx_note ON ${tableName} """
- wait_for_last_build_index_finish(tableName, timeout)
-
- show_result = sql "show index from ${tableName}"
- logger.info("show index from " + tableName + " result: " + show_result)
- assertEquals(show_result.size(), 1)
- assertEquals(show_result[0][2], "idx_user_id")
-
- qt_select7_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
ORDER BY user_id; """
- qt_select8_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
and sex = 1 ORDER BY user_id; """
- qt_select9_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer'
and sex = 0 ORDER BY user_id; """
- qt_select10_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH_PHRASE
'electrical engineer' ORDER BY user_id; """
- qt_select11_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer
Developer' AND city match_all 'Shanghai China' ORDER BY user_id; """
}
diff --git
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_4.groovy
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_4.groovy
index aac5c2233da..11314e5beae 100644
---
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_4.groovy
+++
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_4.groovy
@@ -46,7 +46,7 @@ suite("test_index_change_4") {
}
assertTrue(useTime <= OpTimeout,
"wait_for_latest_build_index_on_partition_finish timeout")
}
-
+
def tableName = "test_index_change_4"
sql """ DROP TABLE IF EXISTS ${tableName} """
@@ -68,27 +68,27 @@ suite("test_index_change_4") {
sql """ INSERT INTO ${tableName} VALUES
(1, '2017-10-01', 'Beijing China', 10, 1, 'Software Developer')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(2, '2017-10-01', 'Beijing China', 10, 1, 'Communication Engineer')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(3, '2017-10-01', 'Shanghai China', 10, 1, 'electrical engineer')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(4, '2017-10-02', 'Beijing China', 10, 0, 'Both a teacher and a
scientist')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(5, '2017-10-02', 'Shenzhen China', 10, 1, 'teacher')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(6, '2017-10-03', 'Hongkong China', 10, 1, 'Architectural designer')
"""
-
+
qt_select1 """ SELECT * FROM ${tableName} t ORDER BY
user_id,date,city,age,sex; """
qt_select2 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
ORDER BY user_id; """
qt_select3 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing' and
sex = 1 ORDER BY user_id; """
@@ -121,78 +121,4 @@ suite("test_index_change_4") {
qt_select9 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer'
and sex = 0 ORDER BY user_id; """
qt_select10 """ SELECT * FROM ${tableName} t WHERE note MATCH_PHRASE
'electrical engineer' ORDER BY user_id; """
qt_select11 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer
Developer' AND city match_all 'Shanghai China' ORDER BY user_id; """
-
- tableName = "test_index_change_4_v1"
-
- sql """ DROP TABLE IF EXISTS ${tableName} """
- sql """
- CREATE TABLE IF NOT EXISTS ${tableName} (
- `user_id` LARGEINT NOT NULL COMMENT "用户id",
- `date` DATE NOT NULL COMMENT "数据灌入日期时间",
- `city` VARCHAR(20) COMMENT "用户所在城市",
- `age` SMALLINT COMMENT "用户年龄",
- `sex` TINYINT COMMENT "用户性别",
- `note` TEXT COMMENT "备注",
- INDEX idx_user_id (`user_id`) USING INVERTED COMMENT '',
- INDEX idx_note (`note`) USING INVERTED PROPERTIES("parser" =
"english") COMMENT ''
- )
- DUPLICATE KEY(`user_id`, `date`, `city`, `age`, `sex`) DISTRIBUTED BY
HASH(`user_id`)
- PROPERTIES ( "replication_num" = "1", "inverted_index_storage_format"
= "V1" );
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (1, '2017-10-01', 'Beijing China', 10, 1, 'Software Developer')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (2, '2017-10-01', 'Beijing China', 10, 1, 'Communication Engineer')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (3, '2017-10-01', 'Shanghai China', 10, 1, 'electrical engineer')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (4, '2017-10-02', 'Beijing China', 10, 0, 'Both a teacher and a
scientist')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (5, '2017-10-02', 'Shenzhen China', 10, 1, 'teacher')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (6, '2017-10-03', 'Hongkong China', 10, 1, 'Architectural designer')
- """
-
- qt_select1_v1 """ SELECT * FROM ${tableName} t ORDER BY
user_id,date,city,age,sex; """
- qt_select2_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
ORDER BY user_id; """
- qt_select3_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
and sex = 1 ORDER BY user_id; """
- qt_select4_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer'
and sex = 0 ORDER BY user_id; """
- qt_select5_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH_PHRASE
'electrical engineer' ORDER BY user_id; """
- qt_select6_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer
Developer' AND city match_all 'Shanghai China' ORDER BY user_id; """
-
- // drop inverted index idx_user_id, idx_note
- sql """ DROP INDEX idx_user_id ON ${tableName} """
- wait_for_last_build_index_finish(tableName, timeout)
- sql """ DROP INDEX idx_note ON ${tableName} """
- wait_for_last_build_index_finish(tableName, timeout)
- // create inverted index idx_city
- sql """ CREATE INDEX idx_note ON ${tableName}(`note`) using inverted
properties("support_phrase" = "true", "parser" = "english", "lower_case" =
"true") """
- wait_for_last_col_change_finish(tableName, timeout)
- // build index
- if (!isCloudMode()) {
- build_index_on_table("idx_note", tableName)
- wait_for_build_index_on_partition_finish(tableName, timeout)
- }
-
- show_result = sql "show index from ${tableName}"
- logger.info("show index from " + tableName + " result: " + show_result)
- assertEquals(show_result.size(), 1)
- assertEquals(show_result[0][2], "idx_note")
-
- qt_select7_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
ORDER BY user_id; """
- qt_select8_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
and sex = 1 ORDER BY user_id; """
- qt_select9_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer'
and sex = 0 ORDER BY user_id; """
- qt_select10_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH_PHRASE
'electrical engineer' ORDER BY user_id; """
- qt_select11_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer
Developer' AND city match_all 'Shanghai China' ORDER BY user_id; """
}
diff --git
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_5.groovy
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_5.groovy
index ea236eba0e1..59130f1adfe 100644
---
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_5.groovy
+++
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_5.groovy
@@ -19,7 +19,7 @@ import org.codehaus.groovy.runtime.IOGroovyMethods
suite("test_index_change_5") {
def timeout = 60000
-
+
def tableName = "test_index_change_5"
sql "set enable_add_index_for_new_data = true"
@@ -43,27 +43,27 @@ suite("test_index_change_5") {
sql """ INSERT INTO ${tableName} VALUES
(1, '2017-10-01', 'Beijing China', 10, 1, 'Software Developer')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(2, '2017-10-01', 'Beijing China', 10, 1, 'Communication Engineer')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(3, '2017-10-01', 'Shanghai China', 10, 1, 'electrical engineer')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(4, '2017-10-02', 'Beijing China', 10, 0, 'Both a teacher and a
scientist')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(5, '2017-10-02', 'Shenzhen China', 10, 1, 'teacher')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(6, '2017-10-03', 'Hongkong China', 10, 1, 'Architectural designer')
"""
-
+
qt_select1 """ SELECT * FROM ${tableName} t ORDER BY
user_id,date,city,age,sex; """
qt_select2 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
ORDER BY user_id; """
qt_select3 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing' and
sex = 1 ORDER BY user_id; """
@@ -86,69 +86,4 @@ suite("test_index_change_5") {
qt_select9 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer'
and sex = 0 ORDER BY user_id; """
qt_select10 """ SELECT * FROM ${tableName} t WHERE note MATCH_PHRASE
'electrical engineer' ORDER BY user_id; """
qt_select11 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer
Developer' AND city match_all 'Shanghai China' ORDER BY user_id; """
-
- tableName = "test_index_change_5_v1"
-
- sql """ DROP TABLE IF EXISTS ${tableName} """
- sql """
- CREATE TABLE IF NOT EXISTS ${tableName} (
- `user_id` LARGEINT NOT NULL COMMENT "用户id",
- `date` DATE NOT NULL COMMENT "数据灌入日期时间",
- `city` VARCHAR(20) COMMENT "用户所在城市",
- `age` SMALLINT COMMENT "用户年龄",
- `sex` TINYINT COMMENT "用户性别",
- `note` TEXT COMMENT "备注",
- INDEX idx_user_id (`user_id`) USING INVERTED COMMENT '',
- INDEX idx_note (`note`) USING INVERTED PROPERTIES("parser" =
"english") COMMENT ''
- )
- DUPLICATE KEY(`user_id`, `date`, `city`, `age`, `sex`) DISTRIBUTED BY
HASH(`user_id`)
- PROPERTIES ( "replication_num" = "1", "inverted_index_storage_format"
= "V1" );
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (1, '2017-10-01', 'Beijing China', 10, 1, 'Software Developer')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (2, '2017-10-01', 'Beijing China', 10, 1, 'Communication Engineer')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (3, '2017-10-01', 'Shanghai China', 10, 1, 'electrical engineer')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (4, '2017-10-02', 'Beijing China', 10, 0, 'Both a teacher and a
scientist')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (5, '2017-10-02', 'Shenzhen China', 10, 1, 'teacher')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (6, '2017-10-03', 'Hongkong China', 10, 1, 'Architectural designer')
- """
-
- qt_select1_v1 """ SELECT * FROM ${tableName} t ORDER BY
user_id,date,city,age,sex; """
- qt_select2_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
ORDER BY user_id; """
- qt_select3_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
and sex = 1 ORDER BY user_id; """
- qt_select4_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer'
and sex = 0 ORDER BY user_id; """
- qt_select5_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH_PHRASE
'electrical engineer' ORDER BY user_id; """
- qt_select6_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer
Developer' AND city match_all 'Shanghai China' ORDER BY user_id; """
-
- // drop inverted index idx_user_id, idx_note
- sql """ DROP INDEX idx_user_id ON ${tableName} """
- wait_for_last_build_index_finish(tableName, timeout)
- sql """ DROP INDEX idx_note ON ${tableName} """
- wait_for_last_build_index_finish(tableName, timeout)
-
- show_result = sql "show index from ${tableName}"
- logger.info("show index from " + tableName + " result: " + show_result)
- assertEquals(show_result.size(), 0)
-
- qt_select7_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
ORDER BY user_id; """
- qt_select8_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
and sex = 1 ORDER BY user_id; """
- qt_select9_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer'
and sex = 0 ORDER BY user_id; """
- qt_select10_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH_PHRASE
'electrical engineer' ORDER BY user_id; """
- qt_select11_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer
Developer' AND city match_all 'Shanghai China' ORDER BY user_id; """
}
diff --git
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_6.groovy
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_6.groovy
index 1792e4fc70f..2f158285e08 100644
---
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_6.groovy
+++
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_6.groovy
@@ -17,7 +17,7 @@
import org.codehaus.groovy.runtime.IOGroovyMethods
-suite("test_index_change_6") {
+suite("test_index_change_6", "nonConcurrent") {
def timeout = 60000
def delta_time = 1000
def alter_res = "null"
@@ -45,7 +45,7 @@ suite("test_index_change_6") {
}
assertTrue(useTime <= OpTimeout,
"wait_for_latest_build_index_on_partition_finish timeout")
}
-
+
def tableName = "test_index_change_6"
sql """ DROP TABLE IF EXISTS ${tableName} """
@@ -67,27 +67,27 @@ suite("test_index_change_6") {
sql """ INSERT INTO ${tableName} VALUES
(1, '2017-10-01', 'Beijing China', 10, 1, 'Software Developer')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(2, '2017-10-01', 'Beijing China', 10, 1, 'Communication Engineer')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(3, '2017-10-01', 'Shanghai China', 10, 1, 'electrical engineer')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(4, '2017-10-02', 'Beijing China', 10, 0, 'Both a teacher and a
scientist')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(5, '2017-10-02', 'Shenzhen China', 10, 1, 'teacher')
"""
-
+
sql """ INSERT INTO ${tableName} VALUES
(6, '2017-10-03', 'Hongkong China', 10, 1, 'Architectural designer')
"""
-
+
qt_select1 """ SELECT * FROM ${tableName} t ORDER BY
user_id,date,city,age,sex; """
qt_select2 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
ORDER BY user_id; """
qt_select3 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing' and
sex = 1 ORDER BY user_id; """
@@ -128,87 +128,4 @@ suite("test_index_change_6") {
qt_select9 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer'
and sex = 0 ORDER BY user_id; """
qt_select10 """ SELECT * FROM ${tableName} t WHERE note MATCH_PHRASE
'electrical engineer' ORDER BY user_id; """
qt_select11 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer
Developer' AND city match_all 'Shanghai China' ORDER BY user_id; """
-
- tableName = "test_index_change_6_v1"
-
- sql """ DROP TABLE IF EXISTS ${tableName} """
- sql """
- CREATE TABLE IF NOT EXISTS ${tableName} (
- `user_id` LARGEINT NOT NULL COMMENT "用户id",
- `date` DATE NOT NULL COMMENT "数据灌入日期时间",
- `city` VARCHAR(20) COMMENT "用户所在城市",
- `age` SMALLINT COMMENT "用户年龄",
- `sex` TINYINT COMMENT "用户性别",
- `note` TEXT COMMENT "备注",
- INDEX idx_user_id (`user_id`) USING INVERTED COMMENT '',
- INDEX idx_note (`note`) USING INVERTED PROPERTIES("parser" =
"english") COMMENT ''
- )
- DUPLICATE KEY(`user_id`, `date`, `city`, `age`, `sex`) DISTRIBUTED BY
HASH(`user_id`)
- PROPERTIES ( "replication_num" = "1", "inverted_index_storage_format"
= "V1" );
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (1, '2017-10-01', 'Beijing China', 10, 1, 'Software Developer')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (2, '2017-10-01', 'Beijing China', 10, 1, 'Communication Engineer')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (3, '2017-10-01', 'Shanghai China', 10, 1, 'electrical engineer')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (4, '2017-10-02', 'Beijing China', 10, 0, 'Both a teacher and a
scientist')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (5, '2017-10-02', 'Shenzhen China', 10, 1, 'teacher')
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (6, '2017-10-03', 'Hongkong China', 10, 1, 'Architectural designer')
- """
-
- qt_select1_v1 """ SELECT * FROM ${tableName} t ORDER BY
user_id,date,city,age,sex; """
- qt_select2_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
ORDER BY user_id; """
- qt_select3_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
and sex = 1 ORDER BY user_id; """
- qt_select4_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer'
and sex = 0 ORDER BY user_id; """
- qt_select5_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH_PHRASE
'electrical engineer' ORDER BY user_id; """
- qt_select6_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer
Developer' AND city match_all 'Shanghai China' ORDER BY user_id; """
-
- // drop inverted index idx_user_id, idx_note
- sql """ DROP INDEX idx_user_id ON ${tableName} """
- wait_for_last_build_index_finish(tableName, timeout)
- sql """ DROP INDEX idx_note ON ${tableName} """
- wait_for_last_build_index_finish(tableName, timeout)
-
- // create inverted index
- sql """ CREATE INDEX idx_user_id ON ${tableName}(`user_id`) USING INVERTED
"""
- build_index_on_table("idx_user_id", tableName)
- wait_for_build_index_on_partition_finish(tableName, timeout)
-
- sql """ CREATE INDEX idx_note ON ${tableName}(`note`) USING INVERTED
PROPERTIES("parser" = "english") """
- if (isCloudMode()) {
- wait_for_last_col_change_finish(tableName, timeout)
- }
-
- // build inverted index
- if (!isCloudMode()) {
- build_index_on_table("idx_note", tableName)
- wait_for_build_index_on_partition_finish(tableName, timeout)
- }
-
- show_result = sql "show index from ${tableName}"
- logger.info("show index from " + tableName + " result: " + show_result)
- assertEquals(show_result.size(), 2)
- assertEquals(show_result[0][2], "idx_user_id")
- assertEquals(show_result[1][2], "idx_note")
-
- qt_select7_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
ORDER BY user_id; """
- qt_select8_v1 """ SELECT * FROM ${tableName} t WHERE city MATCH 'beijing'
and sex = 1 ORDER BY user_id; """
- qt_select9_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer'
and sex = 0 ORDER BY user_id; """
- qt_select10_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH_PHRASE
'electrical engineer' ORDER BY user_id; """
- qt_select11_v1 """ SELECT * FROM ${tableName} t WHERE note MATCH 'engineer
Developer' AND city match_all 'Shanghai China' ORDER BY user_id; """
}
diff --git
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_on_new_column.groovy
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_on_new_column.groovy
index 572b50c3c2e..4d4c2a7bc4e 100644
---
a/regression-test/suites/inverted_index_p0/index_change/test_index_change_on_new_column.groovy
+++
b/regression-test/suites/inverted_index_p0/index_change/test_index_change_on_new_column.groovy
@@ -45,7 +45,7 @@ suite("test_index_change_on_new_column") {
}
assertTrue(useTime <= OpTimeout,
"wait_for_latest_build_index_on_partition_finish timeout")
}
-
+
def tableName = "test_index_change_on_new_column"
sql """ DROP TABLE IF EXISTS ${tableName} """
@@ -61,10 +61,10 @@ suite("test_index_change_on_new_column") {
sql """ INSERT INTO ${tableName} VALUES
(1, 'hello world')
"""
-
+
// add new column
sql """ alter table ${tableName} add column s1 varchar(50) default null
after s; """
-
+
qt_select1 """ SELECT * FROM ${tableName}; """
// create inverted index on new column
@@ -131,48 +131,4 @@ suite("test_index_change_on_new_column") {
qt_select2 """ SELECT * FROM ${tableName} order by id; """
qt_select3 """ SELECT
/*+SET_VAR(enable_fallback_on_missing_inverted_index=false) */ * FROM
${tableName} where s1 match 'welcome'; """
qt_select4 """ SELECT
/*+SET_VAR(enable_fallback_on_missing_inverted_index=false) */ * FROM
${tableName} where s match 'hello world'; """
-
- tableName = "test_index_change_on_new_column1_index_v1"
-
- sql """ DROP TABLE IF EXISTS ${tableName} """
- sql """
- CREATE TABLE IF NOT EXISTS ${tableName} (
- `id` INT COMMENT "",
- `s` STRING COMMENT "",
- INDEX idx_s(s) USING INVERTED
- )
- DUPLICATE KEY(`id`) DISTRIBUTED BY HASH(`id`)
- PROPERTIES ( "inverted_index_storage_format" = "v1", "replication_num"
= "1" );
- """
-
- sql """ INSERT INTO ${tableName} VALUES
- (1, 'hello world')
- """
-
- // add new column
- sql """ alter table ${tableName} add column s1 varchar(50) default null
after s; """
-
- qt_select1 """ SELECT * FROM ${tableName}; """
-
- // create inverted index on new column
- sql """ alter table ${tableName} add index idx_s1(s1) USING INVERTED
PROPERTIES('parser' = 'english')"""
- wait_for_last_col_change_finish(tableName, timeout)
-
- sql """ INSERT INTO ${tableName} VALUES
- (2, 'hello wold', 'welcome to the world')
- """
- // build inverted index on new column
- if (!isCloudMode()) {
- build_index_on_table("idx_s1", tableName)
- wait_for_build_index_on_partition_finish(tableName, timeout)
- }
-
- show_result = sql "show index from ${tableName}"
- logger.info("show index from " + tableName + " result: " + show_result)
- assertEquals(show_result.size(), 2)
- assertEquals(show_result[0][2], "idx_s")
- assertEquals(show_result[1][2], "idx_s1")
- qt_select2 """ SELECT * FROM ${tableName} order by id; """
- qt_select3 """ SELECT
/*+SET_VAR(enable_fallback_on_missing_inverted_index=false) */ * FROM
${tableName} where s1 match 'welcome'; """
- qt_select4 """ SELECT
/*+SET_VAR(enable_fallback_on_missing_inverted_index=false) */ * FROM
${tableName} where s match 'hello world'; """
}
diff --git
a/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_dup_keys.groovy
b/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_dup_keys.groovy
index 0e678ef7ea0..4becf9b5183 100644
---
a/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_dup_keys.groovy
+++
b/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_dup_keys.groovy
@@ -105,7 +105,7 @@ suite("test_index_compaction_dup_keys", "nonConcurrent") {
DUPLICATE KEY(`id`)
COMMENT 'OLAP'
DISTRIBUTED BY HASH(`id`) BUCKETS 1
- PROPERTIES ( "replication_num" = "1", "disable_auto_compaction" =
"true", "inverted_index_storage_format" = "V1");
+ PROPERTIES ( "replication_num" = "1", "disable_auto_compaction" =
"true", "inverted_index_storage_format" = "V2");
"""
sql """ INSERT INTO ${tableName} VALUES (1, "andy", "andy love apple",
100); """
diff --git
a/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_null.groovy
b/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_null.groovy
index e72a5edeabe..0538ce7e83e 100644
---
a/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_null.groovy
+++
b/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_null.groovy
@@ -271,7 +271,7 @@ suite("test_index_compaction_null", "nonConcurrent") {
"disable_auto_compaction" = "true",
"in_memory" = "false",
"storage_format" = "V2",
- "inverted_index_storage_format" = "V1"
+ "inverted_index_storage_format" = "V2"
)
"""
@@ -307,7 +307,7 @@ suite("test_index_compaction_null", "nonConcurrent") {
"enable_unique_key_merge_on_write" = "true",
"in_memory" = "false",
"storage_format" = "V2",
- "inverted_index_storage_format" = "V1"
+ "inverted_index_storage_format" = "V2"
)
"""
sql """ set enable_common_expr_pushdown = true """
diff --git
a/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_unique_keys.groovy
b/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_unique_keys.groovy
index 74cc4ffbc31..94b79a281fb 100644
---
a/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_unique_keys.groovy
+++
b/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_unique_keys.groovy
@@ -109,7 +109,7 @@ suite("test_index_compaction_unique_keys", "nonConcurrent")
{
"replication_num" = "1",
"disable_auto_compaction" = "true",
"enable_unique_key_merge_on_write" = "true",
- "inverted_index_storage_format" = "V1"
+ "inverted_index_storage_format" = "V2"
);
"""
sql """ set enable_common_expr_pushdown = true """
diff --git
a/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_with_multi_index_segments.groovy
b/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_with_multi_index_segments.groovy
index 6b8b64ec11e..3b66474dbaf 100644
---
a/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_with_multi_index_segments.groovy
+++
b/regression-test/suites/inverted_index_p0/index_compaction/test_index_compaction_with_multi_index_segments.groovy
@@ -120,7 +120,7 @@ suite("test_index_compaction_with_multi_index_segments",
"nonConcurrent") {
PROPERTIES (
"replication_allocation" = "tag.location.default: 1",
"disable_auto_compaction" = "true",
- "inverted_index_storage_format" = "V1"
+ "inverted_index_storage_format" = "V2"
);
"""
@@ -248,7 +248,7 @@ suite("test_index_compaction_with_multi_index_segments",
"nonConcurrent") {
"replication_allocation" = "tag.location.default: 1",
"disable_auto_compaction" = "true",
"enable_unique_key_merge_on_write" = "true",
- "inverted_index_storage_format" = "V1"
+ "inverted_index_storage_format" = "V2"
);
"""
diff --git
a/regression-test/suites/inverted_index_p0/index_format_v2/test_index_change_format.groovy
b/regression-test/suites/inverted_index_p0/index_format_v2/test_index_change_format.groovy
index 8a5179b0010..0ca7a401136 100644
---
a/regression-test/suites/inverted_index_p0/index_format_v2/test_index_change_format.groovy
+++
b/regression-test/suites/inverted_index_p0/index_format_v2/test_index_change_format.groovy
@@ -46,6 +46,5 @@ suite("test_index_change_format", "inverted_index_format_v2"){
}
}
- createAndAlterTable("test_index_change_format_v1", "V1", "V2")
createAndAlterTable("test_index_change_format_v2", "V2", "V1")
}
diff --git a/regression-test/suites/inverted_index_p0/load/test_insert.groovy
b/regression-test/suites/inverted_index_p0/load/test_insert.groovy
index b2dbfdf1f5c..43c2c197b9f 100644
--- a/regression-test/suites/inverted_index_p0/load/test_insert.groovy
+++ b/regression-test/suites/inverted_index_p0/load/test_insert.groovy
@@ -76,7 +76,6 @@ suite("test_insert_with_index", "p0, nonConcurrent") {
if (isCloudMode()) {
return;
}
- test.call("V1")
}
test.call("V2")
set_be_config("inverted_index_ram_dir_enable", "false")
@@ -84,8 +83,7 @@ suite("test_insert_with_index", "p0, nonConcurrent") {
if (isCloudMode()) {
return;
}
- test.call("V1")
}
test.call("V2")
set_be_config("inverted_index_ram_dir_enable", "true")
-}
\ No newline at end of file
+}
diff --git
a/regression-test/suites/inverted_index_p0/load/test_spark_load.groovy
b/regression-test/suites/inverted_index_p0/load/test_spark_load.groovy
index bcd2bd34b80..a2b1e5c6583 100644
--- a/regression-test/suites/inverted_index_p0/load/test_spark_load.groovy
+++ b/regression-test/suites/inverted_index_p0/load/test_spark_load.groovy
@@ -168,10 +168,8 @@ suite("test_spark_load_with_index_p0", "p0") {
}
set_be_config("inverted_index_ram_dir_enable", "true")
- test.call("V1")
test.call("V2")
set_be_config("inverted_index_ram_dir_enable", "false")
- test.call("V1")
test.call("V2")
set_be_config("inverted_index_ram_dir_enable", "true")
}
diff --git
a/regression-test/suites/inverted_index_p0/load/test_stream_load.groovy
b/regression-test/suites/inverted_index_p0/load/test_stream_load.groovy
index 73a68455ced..7b71e49c970 100644
--- a/regression-test/suites/inverted_index_p0/load/test_stream_load.groovy
+++ b/regression-test/suites/inverted_index_p0/load/test_stream_load.groovy
@@ -109,7 +109,6 @@ suite("test_stream_load_with_inverted_index_p0", "p0,
nonConcurrent") {
if (isCloudMode()) {
return;
}
- test.call("V1")
}
test.call("V2")
set_be_config("inverted_index_ram_dir_enable", "false")
diff --git
a/regression-test/suites/inverted_index_p0/storage_format/test_inverted_index_v1_deprecated.groovy
b/regression-test/suites/inverted_index_p0/storage_format/test_inverted_index_v1_deprecated.groovy
new file mode 100644
index 00000000000..5879d82b9f3
--- /dev/null
+++
b/regression-test/suites/inverted_index_p0/storage_format/test_inverted_index_v1_deprecated.groovy
@@ -0,0 +1,80 @@
+// 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_inverted_index_v1_deprecated", "p0") {
+ sql "set enable_add_index_for_new_data = true"
+
+ // explicit v1 (lowercase) must be rejected
+ test {
+ sql """
+ CREATE TABLE test_v1_rejected (
+ k INT,
+ v STRING,
+ INDEX idx_v (v) USING INVERTED
+ ) ENGINE=OLAP DUPLICATE KEY(k)
+ DISTRIBUTED BY HASH(k) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1",
+ "inverted_index_storage_format" = "v1"
+ )
+ """
+ exception "Inverted index V1 is deprecated and no longer allowed for
new index creation."
+ }
+
+ // uppercase V1 must also be rejected
+ test {
+ sql """
+ CREATE TABLE test_v1_rejected_upper (
+ k INT,
+ v STRING,
+ INDEX idx_v (v) USING INVERTED
+ ) ENGINE=OLAP DUPLICATE KEY(k)
+ DISTRIBUTED BY HASH(k) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1",
+ "inverted_index_storage_format" = "V1"
+ )
+ """
+ exception "Inverted index V1 is deprecated and no longer allowed for
new index creation."
+ }
+
+ // no format specified -> default succeeds and format is not V1
+ // ALTER TABLE ADD INDEX on default table succeeds
+ try {
+ sql "DROP TABLE IF EXISTS test_v1_deprecated_default"
+ sql """
+ CREATE TABLE test_v1_deprecated_default (
+ k INT,
+ v STRING
+ ) ENGINE=OLAP DUPLICATE KEY(k)
+ DISTRIBUTED BY HASH(k) BUCKETS 1
+ PROPERTIES (
+ "replication_allocation" = "tag.location.default: 1"
+ )
+ """
+ def showCreate = sql "SHOW CREATE TABLE test_v1_deprecated_default"
+ assertTrue(showCreate.size() > 0)
+
assertFalse(showCreate[0][1].contains("\"inverted_index_storage_format\" =
\"V1\""))
+
+ sql "ALTER TABLE test_v1_deprecated_default ADD INDEX idx_v (v) USING
INVERTED"
+ def showCreateAfter = sql "SHOW CREATE TABLE
test_v1_deprecated_default"
+ assertTrue(showCreateAfter[0][1].contains("idx_v"))
+
assertFalse(showCreateAfter[0][1].contains("\"inverted_index_storage_format\" =
\"V1\""))
+ } finally {
+ sql "DROP TABLE IF EXISTS test_v1_deprecated_default"
+ }
+}
diff --git
a/regression-test/suites/inverted_index_p0/test_compound_reader_fault_injection.groovy
b/regression-test/suites/inverted_index_p0/test_compound_reader_fault_injection.groovy
index 8cf49742fe3..cf2c18d8b02 100644
---
a/regression-test/suites/inverted_index_p0/test_compound_reader_fault_injection.groovy
+++
b/regression-test/suites/inverted_index_p0/test_compound_reader_fault_injection.groovy
@@ -35,7 +35,7 @@ suite("test_compound_reader_fault_injection",
"nonConcurrent") {
DISTRIBUTED BY HASH(`@timestamp`) BUCKETS 1
PROPERTIES (
"replication_allocation" = "tag.location.default: 1",
- "inverted_index_storage_format" = "V1"
+ "inverted_index_storage_format" = "V2"
);
"""
diff --git
a/regression-test/suites/inverted_index_p0/test_index_chinese_column.groovy
b/regression-test/suites/inverted_index_p0/test_index_chinese_column.groovy
index e0221fb67a8..9cb659b7896 100644
--- a/regression-test/suites/inverted_index_p0/test_index_chinese_column.groovy
+++ b/regression-test/suites/inverted_index_p0/test_index_chinese_column.groovy
@@ -34,12 +34,10 @@ suite("test_index_chinese_column", "inverted_index_select"){
qt_sql "SELECT * FROM ${table_name} WHERE 名称 match_all 'json'"
}
- def table_name_v1 = "test_index_chinese_column_v1"
def table_name_v2 = "test_index_chinese_column_v2"
sql "set enable_unicode_name_support=true"
sql """ set enable_common_expr_pushdown = true """
- createAndInsertData(table_name_v1, "V1")
createAndInsertData(table_name_v2, "V2")
}
diff --git
a/regression-test/suites/inverted_index_p0/test_index_multi_match.groovy
b/regression-test/suites/inverted_index_p0/test_index_multi_match.groovy
index 75917b7e88a..ca3547e06ab 100644
--- a/regression-test/suites/inverted_index_p0/test_index_multi_match.groovy
+++ b/regression-test/suites/inverted_index_p0/test_index_multi_match.groovy
@@ -17,14 +17,10 @@
suite("test_index_multi_match", "p0"){
- def indexTbName1 = "test_index_multi_match_1"
def indexTbName2 = "test_index_multi_match_2"
- def indexTbName3 = "test_index_multi_match_3"
def indexTbName4 = "test_index_multi_match_4"
- sql "DROP TABLE IF EXISTS ${indexTbName1}"
sql "DROP TABLE IF EXISTS ${indexTbName2}"
- sql "DROP TABLE IF EXISTS ${indexTbName3}"
sql "DROP TABLE IF EXISTS ${indexTbName4}"
def create_table = {table_name, idx_version ->
@@ -89,95 +85,57 @@ suite("test_index_multi_match", "p0"){
}
try {
- create_table(indexTbName1, 'V1')
create_table(indexTbName2, 'V2')
- create_table(indexTbName3, 'V1')
create_table(indexTbName4, 'V2')
- load_httplogs_data.call(indexTbName1, 'test_index_multi_match_1',
'true', 'json', 'documents-1000.json')
load_httplogs_data.call(indexTbName2, 'test_index_multi_match_2',
'true', 'json', 'documents-1000.json')
- load_httplogs_data.call(indexTbName3, 'test_index_multi_match_3',
'true', 'json', 'documents-1000.json')
load_httplogs_data.call(indexTbName4, 'test_index_multi_match_4',
'true', 'json', 'documents-1000.json')
sql "sync"
sql """ set enable_common_expr_pushdown = true """
- qt_sql """ select count() from ${indexTbName1} where (clientip
match_phrase_prefix '2'); """
- qt_sql """ select count() from ${indexTbName1} where (clientip
match_phrase_prefix '2' or request match_phrase_prefix '2'); """
- qt_sql """ select count() from ${indexTbName1} where (clientip
match_phrase_prefix '2' or request match_phrase_prefix '2' or status
match_phrase_prefix '2' or size match_phrase_prefix '2'); """
- qt_sql """ select count() from ${indexTbName1} where (clientip
match_phrase_prefix 'a' or request match_phrase_prefix 'a' or status
match_phrase_prefix 'a' or size match_phrase_prefix 'a'); """
-
qt_sql """ select count() from ${indexTbName2} where (clientip
match_phrase_prefix '2'); """
qt_sql """ select count() from ${indexTbName2} where (clientip
match_phrase_prefix '2' or request match_phrase_prefix '2'); """
qt_sql """ select count() from ${indexTbName2} where (clientip
match_phrase_prefix '2' or request match_phrase_prefix '2' or status
match_phrase_prefix '2' or size match_phrase_prefix '2'); """
qt_sql """ select count() from ${indexTbName2} where (clientip
match_phrase_prefix 'a' or request match_phrase_prefix 'a' or status
match_phrase_prefix 'a' or size match_phrase_prefix 'a'); """
- qt_sql """ select count() from ${indexTbName3} where
multi_match(clientip, 'phrase_prefix', '2'); """
- qt_sql """ select count() from ${indexTbName3} where
multi_match(clientip, request, 'phrase_prefix', '2'); """
- qt_sql """ select count() from ${indexTbName3} where
multi_match(clientip, request, status, size, 'phrase_prefix', '2'); """
- qt_sql """ select count() from ${indexTbName3} where
multi_match(clientip, request, status, size, 'phrase_prefix', 'a'); """
-
qt_sql """ select count() from ${indexTbName4} where
multi_match(clientip, 'phrase_prefix', '2'); """
qt_sql """ select count() from ${indexTbName4} where
multi_match(clientip, request, 'phrase_prefix', '2'); """
qt_sql """ select count() from ${indexTbName4} where
multi_match(clientip, request, status, size, 'phrase_prefix', '2'); """
qt_sql """ select count() from ${indexTbName4} where
multi_match(clientip, request, status, size, 'phrase_prefix', 'a'); """
- // match_any
- qt_sql """ select count() from ${indexTbName1} where (clientip
match_any '2' or request match_any '2' or status match_any '2' or size
match_any '2'); """
+ // match_any
qt_sql """ select count() from ${indexTbName2} where (clientip
match_any '2' or request match_any '2' or status match_any '2' or size
match_any '2'); """
- qt_sql """ select count() from ${indexTbName3} where (clientip
match_any '2' or request match_any '2' or status match_any '2' or size
match_any '2'); """
qt_sql """ select count() from ${indexTbName4} where (clientip
match_any '2' or request match_any '2' or status match_any '2' or size
match_any '2'); """
- qt_sql """ select count() from ${indexTbName1} where (clientip
match_any 'a' or request match_any 'a' or status match_any 'a' or size
match_any 'a'); """
qt_sql """ select count() from ${indexTbName2} where (clientip
match_any 'a' or request match_any 'a' or status match_any 'a' or size
match_any 'a'); """
- qt_sql """ select count() from ${indexTbName3} where (clientip
match_any 'a' or request match_any 'a' or status match_any 'a' or size
match_any 'a'); """
qt_sql """ select count() from ${indexTbName4} where (clientip
match_any 'a' or request match_any 'a' or status match_any 'a' or size
match_any 'a'); """
- qt_sql """ select count() from ${indexTbName1} where
multi_match(clientip, request, status, size, 'any', '2'); """
qt_sql """ select count() from ${indexTbName2} where
multi_match(clientip, request, status, size, 'any', '2'); """
- qt_sql """ select count() from ${indexTbName3} where
multi_match(clientip, request, status, size, 'any', '2'); """
qt_sql """ select count() from ${indexTbName4} where
multi_match(clientip, request, status, size, 'any', '2'); """
- qt_sql """ select count() from ${indexTbName1} where
multi_match(clientip, request, status, size, 'any', 'a'); """
qt_sql """ select count() from ${indexTbName2} where
multi_match(clientip, request, status, size, 'any', 'a'); """
- qt_sql """ select count() from ${indexTbName3} where
multi_match(clientip, request, status, size, 'any', 'a'); """
qt_sql """ select count() from ${indexTbName4} where
multi_match(clientip, request, status, size, 'any', 'a'); """
- // match_all
- qt_sql """ select count() from ${indexTbName1} where (clientip
match_all '2' or request match_all '2' or status match_all '2' or size
match_all '2'); """
+ // match_all
qt_sql """ select count() from ${indexTbName2} where (clientip
match_all '2' or request match_all '2' or status match_all '2' or size
match_all '2'); """
- qt_sql """ select count() from ${indexTbName3} where (clientip
match_all '2' or request match_all '2' or status match_all '2' or size
match_all '2'); """
qt_sql """ select count() from ${indexTbName4} where (clientip
match_all '2' or request match_all '2' or status match_all '2' or size
match_all '2'); """
- qt_sql """ select count() from ${indexTbName1} where (clientip
match_all 'a' or request match_all 'a' or status match_all 'a' or size
match_all 'a'); """
qt_sql """ select count() from ${indexTbName2} where (clientip
match_all 'a' or request match_all 'a' or status match_all 'a' or size
match_all 'a'); """
- qt_sql """ select count() from ${indexTbName3} where (clientip
match_all 'a' or request match_all 'a' or status match_all 'a' or size
match_all 'a'); """
qt_sql """ select count() from ${indexTbName4} where (clientip
match_all 'a' or request match_all 'a' or status match_all 'a' or size
match_all 'a'); """
- qt_sql """ select count() from ${indexTbName1} where
multi_match(clientip, request, status, size, 'all', '2'); """
qt_sql """ select count() from ${indexTbName2} where
multi_match(clientip, request, status, size, 'all', '2'); """
- qt_sql """ select count() from ${indexTbName3} where
multi_match(clientip, request, status, size, 'all', '2'); """
qt_sql """ select count() from ${indexTbName4} where
multi_match(clientip, request, status, size, 'all', '2'); """
- qt_sql """ select count() from ${indexTbName1} where
multi_match(clientip, request, status, size, 'all', 'a'); """
qt_sql """ select count() from ${indexTbName2} where
multi_match(clientip, request, status, size, 'all', 'a'); """
- qt_sql """ select count() from ${indexTbName3} where
multi_match(clientip, request, status, size, 'all', 'a'); """
qt_sql """ select count() from ${indexTbName4} where
multi_match(clientip, request, status, size, 'all', 'a'); """
// match_phrase
- qt_sql """ select count() from ${indexTbName1} where (clientip
match_phrase '2' or request match_phrase '2' or status match_phrase '2' or size
match_phrase '2'); """
qt_sql """ select count() from ${indexTbName2} where (clientip
match_phrase '2' or request match_phrase '2' or status match_phrase '2' or size
match_phrase '2'); """
- qt_sql """ select count() from ${indexTbName3} where (clientip
match_phrase '2' or request match_phrase '2' or status match_phrase '2' or size
match_phrase '2'); """
qt_sql """ select count() from ${indexTbName4} where (clientip
match_phrase '2' or request match_phrase '2' or status match_phrase '2' or size
match_phrase '2'); """
- qt_sql """ select count() from ${indexTbName1} where (clientip
match_phrase 'a' or request match_phrase 'a' or status match_phrase 'a' or size
match_phrase 'a'); """
qt_sql """ select count() from ${indexTbName2} where (clientip
match_phrase 'a' or request match_phrase 'a' or status match_phrase 'a' or size
match_phrase 'a'); """
- qt_sql """ select count() from ${indexTbName3} where (clientip
match_phrase 'a' or request match_phrase 'a' or status match_phrase 'a' or size
match_phrase 'a'); """
qt_sql """ select count() from ${indexTbName4} where (clientip
match_phrase 'a' or request match_phrase 'a' or status match_phrase 'a' or size
match_phrase 'a'); """
- qt_sql """ select count() from ${indexTbName1} where
multi_match(clientip, request, status, size, 'phrase', '2'); """
qt_sql """ select count() from ${indexTbName2} where
multi_match(clientip, request, status, size, 'phrase', '2'); """
- qt_sql """ select count() from ${indexTbName3} where
multi_match(clientip, request, status, size, 'phrase', '2'); """
qt_sql """ select count() from ${indexTbName4} where
multi_match(clientip, request, status, size, 'phrase', '2'); """
- qt_sql """ select count() from ${indexTbName1} where
multi_match(clientip, request, status, size, 'phrase', 'a'); """
qt_sql """ select count() from ${indexTbName2} where
multi_match(clientip, request, status, size, 'phrase', 'a'); """
- qt_sql """ select count() from ${indexTbName3} where
multi_match(clientip, request, status, size, 'phrase', 'a'); """
qt_sql """ select count() from ${indexTbName4} where
multi_match(clientip, request, status, size, 'phrase', 'a'); """
} finally {
diff --git
a/regression-test/suites/inverted_index_p0/test_index_rqg_bug8.groovy
b/regression-test/suites/inverted_index_p0/test_index_rqg_bug8.groovy
index d95985176f7..85b3bf5c25f 100644
--- a/regression-test/suites/inverted_index_p0/test_index_rqg_bug8.groovy
+++ b/regression-test/suites/inverted_index_p0/test_index_rqg_bug8.groovy
@@ -128,7 +128,7 @@ suite("test_index_rqg_bug8", "test_index_rqg_bug8"){
"is_being_synced" = "false",
"storage_medium" = "hdd",
"storage_format" = "V2",
- "inverted_index_storage_format" = "V1",
+ "inverted_index_storage_format" = "V2",
"enable_unique_key_merge_on_write" = "true",
"light_schema_change" = "true",
"disable_auto_compaction" = "false",
diff --git
a/regression-test/suites/inverted_index_p0/test_inverted_index_file_size.groovy
b/regression-test/suites/inverted_index_p0/test_inverted_index_file_size.groovy
index b0fee7cc557..359ba30286c 100644
---
a/regression-test/suites/inverted_index_p0/test_inverted_index_file_size.groovy
+++
b/regression-test/suites/inverted_index_p0/test_inverted_index_file_size.groovy
@@ -96,10 +96,8 @@ suite("test_inverted_index_file_size", "nonConcurrent"){
try {
GetDebugPoint().enableDebugPointForAllBEs("file_size_not_in_rowset_meta")
set_be_config.call("inverted_index_compaction_enable", "true")
- test_table.call("V1")
test_table.call("V2")
set_be_config.call("inverted_index_compaction_enable", "false")
- test_table.call("V1")
test_table.call("V2")
} finally {
GetDebugPoint().disableDebugPointForAllBEs("file_size_not_in_rowset_meta")
diff --git
a/regression-test/suites/inverted_index_p0/test_show_nested_index_file_http_action.groovy
b/regression-test/suites/inverted_index_p0/test_show_nested_index_file_http_action.groovy
index beb11f3f40d..f1ec658da3e 100644
---
a/regression-test/suites/inverted_index_p0/test_show_nested_index_file_http_action.groovy
+++
b/regression-test/suites/inverted_index_p0/test_show_nested_index_file_http_action.groovy
@@ -93,6 +93,5 @@ suite("test_show_nested_index_file_http_action") {
}
}
- run_test("V1")
run_test("V2")
}
diff --git
a/regression-test/suites/inverted_index_p0/test_show_nested_index_file_http_action_with_variant.groovy
b/regression-test/suites/inverted_index_p0/test_show_nested_index_file_http_action_with_variant.groovy
index 9caee9dc49b..c11c395fc61 100644
---
a/regression-test/suites/inverted_index_p0/test_show_nested_index_file_http_action_with_variant.groovy
+++
b/regression-test/suites/inverted_index_p0/test_show_nested_index_file_http_action_with_variant.groovy
@@ -129,7 +129,6 @@
suite("test_show_nested_index_file_http_action_with_variant", "nonConcurrent,p0"
if (isCloudMode()) {
run_test("V2")
} else {
- run_test("V1")
run_test("V2")
}
diff --git
a/regression-test/suites/inverted_index_p2/test_variant_index_format_v1.groovy
b/regression-test/suites/inverted_index_p2/test_variant_index_format_v1.groovy
deleted file mode 100644
index be0c76ab588..00000000000
---
a/regression-test/suites/inverted_index_p2/test_variant_index_format_v1.groovy
+++ /dev/null
@@ -1,108 +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_variant_index_format_v1", "p2, nonConcurrent") {
- if (isCloudMode()) {
- return;
- }
- def calc_file_crc_on_tablet = { ip, port, tablet ->
- return curl("GET",
String.format("http://%s:%s/api/calc_crc?tablet_id=%s", ip, port, tablet))
- }
- def set_be_config = { key, value ->
- String backend_id;
- def backendId_to_backendIP = [:]
- def backendId_to_backendHttpPort = [:]
- getBackendIpHttpPort(backendId_to_backendIP,
backendId_to_backendHttpPort);
-
- backend_id = backendId_to_backendIP.keySet()[0]
- def (code, out, err) =
update_be_config(backendId_to_backendIP.get(backend_id),
backendId_to_backendHttpPort.get(backend_id), key, value)
- logger.info("update config: code=" + code + ", out=" + out + ", err="
+ err)
- }
-
- def load_json_data = {table_name, file_name ->
- // load the json data
- streamLoad {
- table "${table_name}"
-
- // set http request header params
- set 'read_json_by_line', 'true'
- set 'format', 'json'
- set 'max_filter_ratio', '0.1'
- file file_name // import json file
- time 10000 // limit inflight 10s
-
- // if declared a check callback, the default check condition will
ignore.
- // So you must check all condition
-
- check { result, exception, startTime, endTime ->
- if (exception != null) {
- throw exception
- }
- logger.info("Stream load ${file_name} result:
${result}".toString())
- def json = parseJson(result)
- assertEquals("success", json.Status.toLowerCase())
- // assertEquals(json.NumberTotalRows, json.NumberLoadedRows +
json.NumberUnselectedRows)
- assertTrue(json.NumberLoadedRows > 0 && json.LoadBytes > 0)
- }
- }
- }
-
- def table_name = "github_events"
- sql """DROP TABLE IF EXISTS ${table_name}"""
- setFeConfigTemporary([enable_inverted_index_v1_for_variant: true]) {
- sql """
- CREATE TABLE IF NOT EXISTS ${table_name} (
- k bigint,
- v variant,
- INDEX idx_var(v) USING INVERTED PROPERTIES("parser" =
"english") COMMENT ''
- )
- DUPLICATE KEY(`k`)
- DISTRIBUTED BY HASH(k) BUCKETS 1
- properties("replication_num" = "1", "disable_auto_compaction" =
"true", "inverted_index_storage_format" = "V1");
- """
- }
- set_be_config.call("memory_limitation_per_thread_for_schema_change_bytes",
"6294967296")
- load_json_data.call(table_name, """${getS3Url() +
'/regression/gharchive.m/2015-01-01-0.json'}""")
- load_json_data.call(table_name, """${getS3Url() +
'/regression/gharchive.m/2015-01-01-1.json'}""")
- load_json_data.call(table_name, """${getS3Url() +
'/regression/gharchive.m/2015-01-01-2.json'}""")
- load_json_data.call(table_name, """${getS3Url() +
'/regression/gharchive.m/2015-01-01-3.json'}""")
- load_json_data.call(table_name, """${getS3Url() +
'/regression/gharchive.m/2022-11-07-16.json'}""")
- load_json_data.call(table_name, """${getS3Url() +
'/regression/gharchive.m/2022-11-07-10.json'}""")
- load_json_data.call(table_name, """${getS3Url() +
'/regression/gharchive.m/2022-11-07-22.json'}""")
- load_json_data.call(table_name, """${getS3Url() +
'/regression/gharchive.m/2022-11-07-23.json'}""")
- def backendId_to_backendIP = [:]
- def backendId_to_backendHttpPort = [:]
- getBackendIpHttpPort(backendId_to_backendIP, backendId_to_backendHttpPort);
-
- def tablets = sql_return_maparray """ show tablets from ${table_name}; """
- String tablet_id = tablets[0].TabletId
- String backend_id = tablets[0].BackendId
- String ip = backendId_to_backendIP.get(backend_id)
- String port = backendId_to_backendHttpPort.get(backend_id)
- def (code_0, out_0, err_0) = calc_file_crc_on_tablet(ip, port, tablet_id)
- logger.info("Run calc_file_crc_on_tablet: code=" + code_0 + ", out=" +
out_0 + ", err=" + err_0)
- assertTrue(code_0 == 0)
- assertTrue(out_0.contains("crc_value"))
- assertTrue(out_0.contains("used_time_ms"))
- assertEquals("0", parseJson(out_0.trim()).start_version)
- assertEquals("9", parseJson(out_0.trim()).end_version)
- assertEquals("9", parseJson(out_0.trim()).rowset_count)
-
- qt_sql """select cast(v["payload"]["pull_request"]["additions"] as int)
from github_events where cast(v["repo"]["name"] as string) =
'xpressengine/xe-core' order by 1;"""
- qt_sql """select count() from github_events where cast(v["repo"]["name"]
as string) = 'xpressengine/xe-core'"""
- set_be_config.call("memory_limitation_per_thread_for_schema_change_bytes",
"2147483648")
-}
diff --git a/regression-test/suites/load_p2/test_single_replica_load.groovy
b/regression-test/suites/load_p2/test_single_replica_load.groovy
index 29e9e21eab1..774c571f843 100644
--- a/regression-test/suites/load_p2/test_single_replica_load.groovy
+++ b/regression-test/suites/load_p2/test_single_replica_load.groovy
@@ -64,7 +64,7 @@ suite("test_single_replica_load", "p2, nonConcurrent") {
)
DUPLICATE KEY(`k`)
DISTRIBUTED BY HASH(k) BUCKETS 1
- properties("replication_num" = "2", "disable_auto_compaction" =
"true", "inverted_index_storage_format" = "V1");
+ properties("replication_num" = "2", "disable_auto_compaction" =
"true", "inverted_index_storage_format" = "V2");
"""
}
load_json_data.call(tableName, """${getS3Url() +
'/regression/gharchive.m/2015-01-01-0.json'}""")
diff --git a/regression-test/suites/nereids_arith_p0/topn/accept_null.groovy
b/regression-test/suites/nereids_arith_p0/topn/accept_null.groovy
index a4a8d05e4a0..1c7740c602b 100644
--- a/regression-test/suites/nereids_arith_p0/topn/accept_null.groovy
+++ b/regression-test/suites/nereids_arith_p0/topn/accept_null.groovy
@@ -34,7 +34,7 @@ suite ("accept_null") {
"is_being_synced" = "false",
"storage_medium" = "hdd",
"storage_format" = "V2",
- "inverted_index_storage_format" = "V1",
+ "inverted_index_storage_format" = "V2",
"enable_unique_key_merge_on_write" = "true",
"light_schema_change" = "true",
"disable_auto_compaction" = "false",
diff --git
a/regression-test/suites/nereids_p0/show/test_nereids_show_build_index.groovy
b/regression-test/suites/nereids_p0/show/test_nereids_show_build_index.groovy
index 73e87efb103..b8bb50b29b2 100644
---
a/regression-test/suites/nereids_p0/show/test_nereids_show_build_index.groovy
+++
b/regression-test/suites/nereids_p0/show/test_nereids_show_build_index.groovy
@@ -33,7 +33,7 @@ suite("test_nereids_show_build_index") {
INDEX idx_note1 (`note`) USING INVERTED PROPERTIES("parser" =
"english") COMMENT ''
)
DUPLICATE KEY(`user_id`, `date`, `city`, `age`, `sex`) DISTRIBUTED BY
HASH(`user_id`)
- PROPERTIES ( "replication_num" = "1", "inverted_index_storage_format"
= "V1" );
+ PROPERTIES ( "replication_num" = "1", "inverted_index_storage_format"
= "V2" );
"""
sql """
CREATE TABLE IF NOT EXISTS
test_show_build_index.test_show_build_index_tbl2 (
@@ -47,7 +47,7 @@ suite("test_nereids_show_build_index") {
INDEX idx_note2 (`note`) USING INVERTED PROPERTIES("parser" =
"english") COMMENT ''
)
DUPLICATE KEY(`user_id`, `date`, `city`, `age`, `sex`) DISTRIBUTED BY
HASH(`user_id`)
- PROPERTIES ( "replication_num" = "1", "inverted_index_storage_format"
= "V1" );
+ PROPERTIES ( "replication_num" = "1", "inverted_index_storage_format"
= "V2" );
"""
sql "BUILD INDEX idx_user_id1 ON
test_show_build_index.test_show_build_index_tbl1;"
sql "BUILD INDEX idx_user_id2 ON
test_show_build_index.test_show_build_index_tbl2;"
diff --git
a/regression-test/suites/nereids_p0/show/test_nereids_show_index.groovy
b/regression-test/suites/nereids_p0/show/test_nereids_show_index.groovy
index e9ec03c1b91..0ab26bb6caf 100644
--- a/regression-test/suites/nereids_p0/show/test_nereids_show_index.groovy
+++ b/regression-test/suites/nereids_p0/show/test_nereids_show_index.groovy
@@ -32,7 +32,7 @@ suite("test_nereids_show_index") {
INDEX idx_note1 (`note`) USING INVERTED PROPERTIES("parser" =
"english") COMMENT ''
)
DUPLICATE KEY(`user_id`, `date`, `city`, `age`, `sex`) DISTRIBUTED BY
HASH(`user_id`)
- PROPERTIES ( "replication_num" = "1", "inverted_index_storage_format"
= "V1" );
+ PROPERTIES ( "replication_num" = "1", "inverted_index_storage_format"
= "V2" );
"""
sql """
CREATE TABLE IF NOT EXISTS test_show_index.test_show_index_tbl2 (
@@ -46,7 +46,7 @@ suite("test_nereids_show_index") {
INDEX idx_note2 (`note`) USING INVERTED PROPERTIES("parser" =
"english") COMMENT ''
)
DUPLICATE KEY(`user_id`, `date`, `city`, `age`, `sex`) DISTRIBUTED BY
HASH(`user_id`)
- PROPERTIES ( "replication_num" = "1", "inverted_index_storage_format"
= "V1" );
+ PROPERTIES ( "replication_num" = "1", "inverted_index_storage_format"
= "V2" );
"""
checkNereidsExecute("show index from
test_show_index.test_show_index_tbl2;")
diff --git
a/regression-test/suites/show_data_p2/test_table_property/test_cloud_inverted_index_v1_show_data.groovy
b/regression-test/suites/show_data_p2/test_table_property/test_cloud_inverted_index_v1_show_data.groovy
deleted file mode 100644
index 1077e0436a0..00000000000
---
a/regression-test/suites/show_data_p2/test_table_property/test_cloud_inverted_index_v1_show_data.groovy
+++ /dev/null
@@ -1,101 +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.
-
-// The cases is copied from https://github.com/trinodb/trino/tree/master
-// /testing/trino-product-tests/src/main/resources/sql-tests/testcases/tpcds
-// and modified by Doris.
-import org.codehaus.groovy.runtime.IOGroovyMethods
-
- // loading one data 10 times, expect data size not rising
-suite("test_cloud_inverted_index_v1_show_data","p2, nonConcurrent") {
- //cloud-mode
- if (!isCloudMode()) {
- logger.info("not cloud mode, not run")
- return
- }
-
- def main = {
- def tableName="test_cloud_inverted_index_v1_show_data"
- sql "DROP TABLE IF EXISTS ${tableName};"
- sql """
- CREATE TABLE IF NOT EXISTS ${tableName}(
- L_ORDERKEY INTEGER NOT NULL,
- L_PARTKEY INTEGER NOT NULL,
- L_SUPPKEY INTEGER NOT NULL,
- L_LINENUMBER INTEGER NOT NULL,
- L_QUANTITY DECIMAL(15,2) NOT NULL,
- L_EXTENDEDPRICE DECIMAL(15,2) NOT NULL,
- L_DISCOUNT DECIMAL(15,2) NOT NULL,
- L_TAX DECIMAL(15,2) NOT NULL,
- L_RETURNFLAG CHAR(1) NOT NULL,
- L_LINESTATUS CHAR(1) NOT NULL,
- L_SHIPDATE DATE NOT NULL,
- L_COMMITDATE DATE NOT NULL,
- L_RECEIPTDATE DATE NOT NULL,
- L_SHIPINSTRUCT CHAR(25) NOT NULL,
- L_SHIPMODE CHAR(10) NOT NULL,
- L_COMMENT VARCHAR(44) NOT NULL,
- L_NULL VARCHAR,
- index index_SHIPINSTRUCT (L_SHIPINSTRUCT) using inverted,
- index index_SHIPMODE (L_SHIPMODE) using inverted,
- index index_COMMENT (L_COMMENT) using inverted
- )
- UNIQUE KEY(L_ORDERKEY, L_PARTKEY, L_SUPPKEY, L_LINENUMBER)
- DISTRIBUTED BY HASH(L_ORDERKEY) BUCKETS 3
- PROPERTIES (
- "inverted_index_storage_format" = "V1",
- "replication_num" = "1"
- )
- """
- List<String> tablets = get_tablets_from_table(tableName)
- def loadTimes = [1, 10]
- Map<String, List> sizeRecords = ["apiSize":[], "mysqlSize":[],
"cbsSize":[]]
- for (int i in loadTimes){
- // stream load 1 time, record each size
- repeate_stream_load_same_data(tableName, i,
"regression/tpch/sf0.1/lineitem.tbl.gz")
- def rows = sql_return_maparray "select count(*) as count from
${tableName};"
- logger.info("table ${tableName} has ${rows[0]["count"]} rows")
- // 加一下触发compaction的机制
- trigger_compaction(tablets)
-
- // 然后 sleep 1min, 等fe汇报完
- sleep(10 * 1000)
- sql "select count(*) from ${tableName}"
- sleep(10 * 1000)
-
-
sizeRecords["apiSize"].add(caculate_table_data_size_through_api(tablets))
-
sizeRecords["cbsSize"].add(caculate_table_data_size_in_backend_storage(tablets))
-
sizeRecords["mysqlSize"].add(show_table_data_size_through_mysql(tableName))
- logger.info("after ${i} times stream load, mysqlSize is:
${sizeRecords["mysqlSize"][-1]}, apiSize is: ${sizeRecords["apiSize"][-1]},
storageSize is: ${sizeRecords["cbsSize"][-1]}")
- }
-
- // expect mysqlSize == apiSize == storageSize
- assertEquals(sizeRecords["mysqlSize"][0], sizeRecords["apiSize"][0])
- assertEquals(sizeRecords["mysqlSize"][0], sizeRecords["cbsSize"][0])
- // expect load 1 times == load 10 times
- logger.info("after 1 time stream load, size is
${sizeRecords["mysqlSize"][0]}, after 10 times stream load, size is
${sizeRecords["mysqlSize"][1]}")
- assertEquals(sizeRecords["mysqlSize"][0], sizeRecords["mysqlSize"][1])
- assertEquals(sizeRecords["apiSize"][0], sizeRecords["apiSize"][1])
- assertEquals(sizeRecords["cbsSize"][0], sizeRecords["cbsSize"][1])
- }
-
- set_config_before_show_data_test()
- sleep(10 * 1000)
- main()
- set_config_after_show_data_test()
- sleep(10 * 1000)
-}
diff --git
a/regression-test/suites/variant_p0/doc_mode/with_index/test_array_contains_with_inverted_index.groovy
b/regression-test/suites/variant_p0/doc_mode/with_index/test_array_contains_with_inverted_index.groovy
index ae0943f4cda..03208c22a04 100644
---
a/regression-test/suites/variant_p0/doc_mode/with_index/test_array_contains_with_inverted_index.groovy
+++
b/regression-test/suites/variant_p0/doc_mode/with_index/test_array_contains_with_inverted_index.groovy
@@ -30,10 +30,7 @@ suite("array_contains_with_index_doc_value", "p0") {
sql "DROP TABLE IF EXISTS ${indexTblName}"
sql """ set default_variant_enable_doc_mode = true """
// create 1 replica table
- def storageFormat = new Random().nextBoolean() ? "V1" : "V2"
- if (storageFormat == "V1" && isCloudMode()) {
- return;
- }
+ def storageFormat = "V2"
sql """
CREATE TABLE IF NOT EXISTS `${indexTblName}` (
`apply_date` date NULL COMMENT '',
diff --git a/regression-test/suites/variant_p0/mv/multi_slot.groovy
b/regression-test/suites/variant_p0/mv/multi_slot.groovy
index 68244ad82b8..a85b3d4e6e0 100644
--- a/regression-test/suites/variant_p0/mv/multi_slot.groovy
+++ b/regression-test/suites/variant_p0/mv/multi_slot.groovy
@@ -71,7 +71,7 @@ suite ("multi_slot") {
"is_being_synced" = "false",
"storage_medium" = "hdd",
"storage_format" = "V2",
- "inverted_index_storage_format" = "V1",
+ "inverted_index_storage_format" = "V2",
"light_schema_change" = "true",
"disable_auto_compaction" = "false",
"replication_num" = "1"
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 88079e08496..f832ccc716d 100644
--- a/regression-test/suites/variant_p0/predefine/test_predefine_ddl.groovy
+++ b/regression-test/suites/variant_p0/predefine/test_predefine_ddl.groovy
@@ -282,18 +282,6 @@ suite("test_predefine_ddl", "p0") {
exception("invalid INVERTED index")
}
- test {
- sql "DROP TABLE IF EXISTS ${tableName}"
- sql """CREATE TABLE ${tableName} (
- `id` bigint NULL,
- `var` string NULL,
- INDEX idx_ab (var) USING INVERTED PROPERTIES("parser"="unicode",
"support_phrase" = "true") COMMENT '',
- INDEX idx_ab_2 (var) USING INVERTED
- ) ENGINE=OLAP DUPLICATE KEY(`id`) DISTRIBUTED BY HASH(`id`)
- BUCKETS 1 PROPERTIES ( "replication_allocation" =
"tag.location.default: 1", "disable_auto_compaction" = "true",
"inverted_index_storage_format" = "v1")"""
- exception("column: var cannot have multiple inverted indexes with file
storage format: V1")
- }
-
test {
sql """CREATE TABLE ${tableName} (
`id` bigint NULL,
diff --git
a/regression-test/suites/variant_p0/v2/with_index/test_array_contains_with_inverted_index.groovy
b/regression-test/suites/variant_p0/v2/with_index/test_array_contains_with_inverted_index.groovy
index de0ff14a41b..ac779efd3b9 100644
---
a/regression-test/suites/variant_p0/v2/with_index/test_array_contains_with_inverted_index.groovy
+++
b/regression-test/suites/variant_p0/v2/with_index/test_array_contains_with_inverted_index.groovy
@@ -32,10 +32,7 @@ suite("test_array_contains_with_inverted_index",
"p0,nonConcurrent") {
sql "DROP TABLE IF EXISTS ${indexTblName}"
sql """ set default_variant_enable_doc_mode = false """
// create 1 replica table
- def storageFormat = new Random().nextBoolean() ? "V1" : "V2"
- if (storageFormat == "V1" && isCloudMode()) {
- return;
- }
+ def storageFormat = "V2"
sql """
CREATE TABLE IF NOT EXISTS `${indexTblName}` (
`apply_date` date NULL COMMENT '',
diff --git
a/regression-test/suites/variant_p0/with_index/test_array_contains_with_inverted_index.groovy
b/regression-test/suites/variant_p0/with_index/test_array_contains_with_inverted_index.groovy
index 6adf58aacbc..4042b3479be 100644
---
a/regression-test/suites/variant_p0/with_index/test_array_contains_with_inverted_index.groovy
+++
b/regression-test/suites/variant_p0/with_index/test_array_contains_with_inverted_index.groovy
@@ -33,10 +33,7 @@ suite("test_array_contains_with_inverted_index",
"p0,nonConcurrent") {
sql "DROP TABLE IF EXISTS ${indexTblName}"
sql """ set default_variant_enable_doc_mode = false """
// create 1 replica table
- def storageFormat = new Random().nextBoolean() ? "V1" : "V2"
- if (storageFormat == "V1" && isCloudMode()) {
- return;
- }
+ def storageFormat = "V2"
sql """
CREATE TABLE IF NOT EXISTS `${indexTblName}` (
`apply_date` date NULL COMMENT '',
diff --git
a/regression-test/suites/variant_p0/with_index/test_array_index_write.groovy
b/regression-test/suites/variant_p0/with_index/test_array_index_write.groovy
index fb105d1ab9c..0bcfff18476 100644
--- a/regression-test/suites/variant_p0/with_index/test_array_index_write.groovy
+++ b/regression-test/suites/variant_p0/with_index/test_array_index_write.groovy
@@ -28,10 +28,7 @@ suite("test_array_index_write", "nonConcurrent"){
stmt += strTmp
stmt = stmt.substring(0, stmt.length()-2)
- def storageFormat = new Random().nextBoolean() ? "V1" : "V2"
- if (isCloudMode()) {
- storageFormat = "V2";
- }
+ def storageFormat = "V2"
stmt += ") \nENGINE=OLAP\n" +
"DUPLICATE KEY(`k1`)\n" +
"COMMENT 'OLAP'\n" +
diff --git a/regression-test/suites/variant_p0/with_index/var_index.groovy
b/regression-test/suites/variant_p0/with_index/var_index.groovy
index c3f227eb534..a6865472006 100644
--- a/regression-test/suites/variant_p0/with_index/var_index.groovy
+++ b/regression-test/suites/variant_p0/with_index/var_index.groovy
@@ -53,111 +53,6 @@ suite("regression_test_variant_var_index", "p0,
nonConcurrent"){
trigger_and_wait_compaction(table_name, "full", 1800)
qt_sql "select * from var_index order by k limit 15"
- sql "DROP TABLE IF EXISTS var_index"
- boolean findException = false
- try {
- sql """
- CREATE TABLE IF NOT EXISTS var_index (
- k bigint,
- v variant,
- INDEX idx_var(v) USING INVERTED PROPERTIES("parser" =
"english") COMMENT ''
- )
- DUPLICATE KEY(`k`)
- DISTRIBUTED BY HASH(k) BUCKETS 1
- properties("replication_num" = "1", "disable_auto_compaction" =
"true", "inverted_index_storage_format" = "V1");
- """
- } catch (Exception e) {
- log.info(e.getMessage())
- assertTrue(e.getMessage().contains("not supported in inverted index
format V1"))
- findException = true
- }
- assertTrue(findException)
-
- findException = false
- sql """
- CREATE TABLE IF NOT EXISTS var_index (
- k bigint,
- v variant
- )
- DUPLICATE KEY(`k`)
- DISTRIBUTED BY HASH(k) BUCKETS 1
- properties("replication_num" = "1", "disable_auto_compaction" =
"true", "inverted_index_storage_format" = "V1");
- """
-
- try {
- sql """ALTER TABLE var_index ADD INDEX idx_var(v) USING INVERTED"""
- } catch (Exception e) {
- log.info(e.getMessage())
- assertTrue(e.getMessage().contains("not supported in inverted index
format V1"))
- findException = true
- }
- assertTrue(findException)
-
- setFeConfigTemporary([enable_inverted_index_v1_for_variant: true]) {
- if (isCloudMode()) {
- sql "DROP TABLE IF EXISTS var_index"
- try {
- sql """
- CREATE TABLE IF NOT EXISTS var_index (
- k bigint,
- v variant,
- INDEX idx_var(v) USING INVERTED PROPERTIES("parser" =
"english") COMMENT ''
- )
- DUPLICATE KEY(`k`)
- DISTRIBUTED BY HASH(k) BUCKETS 1
- properties("replication_num" = "1",
"disable_auto_compaction" = "true", "inverted_index_storage_format" = "V1");
- """
- } catch (Exception e) {
- log.info(e.getMessage())
- assertTrue(e.getMessage().contains("not supported in inverted
index format V1"))
- }
-
- sql """
- CREATE TABLE IF NOT EXISTS var_index (
- k bigint,
- v variant
- )
- DUPLICATE KEY(`k`)
- DISTRIBUTED BY HASH(k) BUCKETS 1
- properties("replication_num" = "1", "disable_auto_compaction"
= "true", "inverted_index_storage_format" = "V1");
- """
-
- try {
- sql """ALTER TABLE var_index ADD INDEX idx_var(v) USING
INVERTED"""
- } catch (Exception e) {
- log.info(e.getMessage())
- assertTrue(e.getMessage().contains("not supported in inverted
index format V1"))
- }
- } else {
- sql """
- CREATE TABLE IF NOT EXISTS var_index (
- k bigint,
- v variant,
- INDEX idx_var(v) USING INVERTED PROPERTIES("parser" =
"english") COMMENT ''
- )
- DUPLICATE KEY(`k`)
- DISTRIBUTED BY HASH(k) BUCKETS 1
- properties("replication_num" = "1", "disable_auto_compaction"
= "true", "inverted_index_storage_format" = "V1");
- """
-
- sql "DROP TABLE IF EXISTS var_index"
- sql """
- CREATE TABLE IF NOT EXISTS var_index (
- k bigint,
- v variant
- )
- DUPLICATE KEY(`k`)
- DISTRIBUTED BY HASH(k) BUCKETS 1
- properties("replication_num" = "1", "disable_auto_compaction"
= "true", "inverted_index_storage_format" = "V1");
- """
- sql """ALTER TABLE var_index ADD INDEX idx_var(v) USING INVERTED"""
- test {
- sql """ build index idx_var on var_index"""
- exception "The idx_var index can not be built on the v column,
because it is a variant type column"
- }
- }
-
- }
sql """ DROP TABLE IF EXISTS ${table_name} """
sql """
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]