This is an automated email from the ASF dual-hosted git repository.

airborne pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new bc9b87d2f72 [Fix](inverted index) Resolve null processing issue in 
arrays_overlap (#41495)
bc9b87d2f72 is described below

commit bc9b87d2f72939a21f2cd8cfd8562841e2a8caf1
Author: airborne12 <airborn...@gmail.com>
AuthorDate: Wed Oct 9 09:28:37 2024 +0800

    [Fix](inverted index) Resolve null processing issue in arrays_overlap 
(#41495)
    
    ## Proposed changes
    
    Fix problem "Runtime Error: Null pointer passed to
    'StringTypeInvertedIndexReader::query', which requires a non-null
    argument."
    ```
    
    Stack Trace:
    #0 doris::segment_v2::StringTypeInvertedIndexReader::query(...) 
inverted_index_reader.cpp:473
    #1 doris::segment_v2::InvertedIndexIterator::read_from_inverted_index(...) 
inverted_index_reader.cpp:1237
    #2 doris::vectorized::FunctionArraysOverlap::evaluate_inverted_index(...) 
function_arrays_overlap.h:192
    #3 doris::vectorized::DefaultFunction::evaluate_inverted_index(...) 
function.h:532
    #4 doris::vectorized::VExpr::_evaluate_inverted_index(...) vexpr.cpp:708
    #5 doris::vectorized::VectorizedFnCall::evaluate_inverted_index(...) 
vectorized_fn_call.cpp:143
    #6 doris::vectorized::VExprContext::evaluate_inverted_index(...) 
vexpr_context.cpp:126
    
    ```
---
 .../vec/functions/array/function_arrays_overlap.h  |  20 +-
 .../test_array_contains_with_inverted_index.out    | 615 +++++++++++++++++++++
 .../test_array_contains_with_inverted_index.groovy |  29 +-
 3 files changed, 642 insertions(+), 22 deletions(-)

diff --git a/be/src/vec/functions/array/function_arrays_overlap.h 
b/be/src/vec/functions/array/function_arrays_overlap.h
index c06af8b05bd..5556b92c685 100644
--- a/be/src/vec/functions/array/function_arrays_overlap.h
+++ b/be/src/vec/functions/array/function_arrays_overlap.h
@@ -184,22 +184,18 @@ public:
         }
         std::unique_ptr<InvertedIndexQueryParamFactory> query_param = nullptr;
         const Array& query_val = param_value.get<Array>();
-        for (size_t i = 0; i < query_val.size(); ++i) {
-            Field nested_query_val = query_val[i];
+        for (auto nested_query_val : query_val) {
+            // any element inside array is NULL, return NULL
+            // by current arrays_overlap execute logic.
+            if (nested_query_val.is_null()) {
+                return Status::OK();
+            }
             std::shared_ptr<roaring::Roaring> single_res = 
std::make_shared<roaring::Roaring>();
             RETURN_IF_ERROR(InvertedIndexQueryParamFactory::create_query_value(
                     nested_param_type, &nested_query_val, query_param));
-            Status st = iter->read_from_inverted_index(
+            RETURN_IF_ERROR(iter->read_from_inverted_index(
                     data_type_with_name.first, query_param->get_value(),
-                    segment_v2::InvertedIndexQueryType::EQUAL_QUERY, num_rows, 
single_res);
-            if (st.code() == ErrorCode::INVERTED_INDEX_NO_TERMS) {
-                // if analyzed param with no term, we do not filter any rows
-                // return all rows with OK status
-                roaring->addRange(0, num_rows);
-                break;
-            } else if (st != Status::OK()) {
-                return st;
-            }
+                    segment_v2::InvertedIndexQueryType::EQUAL_QUERY, num_rows, 
single_res));
             *roaring |= *single_res;
         }
 
diff --git 
a/regression-test/data/inverted_index_p0/test_array_contains_with_inverted_index.out
 
b/regression-test/data/inverted_index_p0/test_array_contains_with_inverted_index.out
index c1c4ee1dc04..a93c7e2a2cf 100644
--- 
a/regression-test/data/inverted_index_p0/test_array_contains_with_inverted_index.out
+++ 
b/regression-test/data/inverted_index_p0/test_array_contains_with_inverted_index.out
@@ -242,6 +242,14 @@
 2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
 
 -- !sql --
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
 
 -- !sql --
 2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
@@ -260,6 +268,20 @@
 2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
 2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
 
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
+
 -- !sql --
 2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
 2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
@@ -275,6 +297,19 @@
 2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
 2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
 
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
 -- !sql --
 2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
 2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
@@ -287,6 +322,38 @@
 2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
 
 -- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
+-- !sql --
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
 2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
 2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
 2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
@@ -316,6 +383,19 @@
 2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
 2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
 
+-- !sql --
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
 -- !sql --
 
 -- !sql --
@@ -335,6 +415,19 @@
 2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
 2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
 
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
 -- !sql --
 2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
 2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
@@ -351,6 +444,20 @@
 2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
 2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
 
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
 -- !sql --
 2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
 2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
@@ -363,6 +470,40 @@
 2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
 
 -- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
+-- !sql --
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
 2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
 2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
 2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
@@ -394,6 +535,57 @@
 2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
 2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
 
+-- !sql --
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
 -- !sql --
 
 -- !sql --
@@ -414,10 +606,61 @@
 2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
 
 -- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
+-- !sql --
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
+
+-- !sql --
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
 
 -- !sql --
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
 
 -- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
 
 -- !sql --
 2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
@@ -431,6 +674,378 @@
 2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
 2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
 2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
+-- !sql --
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
+-- !sql --
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
+-- !sql --
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
+-- !sql --
+2017-01-01     021603e7dcfe65d44af0efd0e5aee154        ["n"]
+2017-01-01     48a33ec3453a28bce84b8f96fe161956        ["m"]
+2017-01-01     6afef581285b6608bf80d5a4e46cf839        ["a", "b", "c"]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a3        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a4        \N
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a5        []
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a6        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a7        [null, null, null]
+2017-01-01     8fcb57ae675f0af4d613d9e6c0e8a2a8        []
+2017-01-01     9fcb57ae675f0af4d613d9e6c0e8a2a2        ["o"]
+2017-01-01     d93d942d985a8fb7547c72dada8d332d        ["d", "e", "f", "g", 
"h", "i", "j", "k", "l"]
+
+-- !sql --
+2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
+2019-01-01     26823b3995ee38bd145ddd910b2f6300        ["x"]
+2019-01-01     a648a447b8f71522f11632eba4b4adde        ["p", "q", "r", "s", 
"t"]
+2019-01-01     a9fb5c985c90bf05f3bee5ca3ae95260        ["u", "v"]
+2019-01-01     ee27ee1da291e46403c408e220bed6e1        ["y"]
 
 -- !sql --
 2019-01-01     0974e7a82e30d1af83205e474fadd0a2        ["w"]
diff --git 
a/regression-test/suites/inverted_index_p0/test_array_contains_with_inverted_index.groovy
 
b/regression-test/suites/inverted_index_p0/test_array_contains_with_inverted_index.groovy
index 19bf8cc481f..7b4075fe8a5 100644
--- 
a/regression-test/suites/inverted_index_p0/test_array_contains_with_inverted_index.groovy
+++ 
b/regression-test/suites/inverted_index_p0/test_array_contains_with_inverted_index.groovy
@@ -83,18 +83,27 @@ suite("test_array_contains_with_inverted_index"){
 
     // test arrays_overlap with inverted index
     // now if we use inverted index we will not eval exprs
-    def param = [["\'s\'", "\'t\'"], [], null] // null for arrays_overlap will 
return null which in predicate will lead to return empty set
+    def param = [["\'s\'", "\'t\'"], [], null, ["\'s\'", "\'\'", "\'t\'"], 
["\'s\'", null, "\'t\'"], [null, "\'\'"], ["\'s\'", null, "\'t\'", "\'\'"]] // 
null for arrays_overlap will return null which in predicate will lead to return 
empty set
     for (i = 0 ; i < param.size(); ++i) {
         def p = param[i]
         log.info("param: ${p}")
-        order_qt_sql """ select * from tai where arrays_overlap(inventors, 
${p}) order by id; """
-        order_qt_sql """ select * from tai where arrays_overlap(inventors, 
${p}) and apply_date = '2017-01-01' order by id; """
-        order_qt_sql """ select * from tai where arrays_overlap(inventors, 
${p}) and apply_date = '2019-01-01' order by id; """
-        order_qt_sql """ select * from tai where arrays_overlap(inventors, 
${p}) or apply_date = '2017-01-01' order by id; """
-        order_qt_sql """ select * from tai where !arrays_overlap(inventors, 
${p}) order by id; """
-        order_qt_sql """ select * from tai where !arrays_overlap(inventors, 
${p}) and apply_date = '2017-01-01' order by id; """
-        order_qt_sql """ select * from tai where !arrays_overlap(inventors, 
${p}) and apply_date = '2019-01-01' order by id; """
-        order_qt_sql """ select * from tai where !arrays_overlap(inventors, 
${p}) or apply_date = '2017-01-01' order by id; """
-        order_qt_sql """ select * from tai where (arrays_overlap(inventors, 
${p}) and apply_date = '2017-01-01') or apply_date = '2019-01-01' order by id; 
"""
+        order_qt_sql """ select /*+SET_VAR(enable_common_expr_pushdown = 
true)*/ * from tai where arrays_overlap(inventors, ${p}) order by id; """
+        order_qt_sql """ select /*+SET_VAR(enable_common_expr_pushdown = 
false)*/ * from tai where arrays_overlap(inventors, ${p}) order by id; """
+        order_qt_sql """ select /*+SET_VAR(enable_common_expr_pushdown = 
true)*/ * from tai where arrays_overlap(inventors, ${p}) and apply_date = 
'2017-01-01' order by id; """
+        order_qt_sql """ select /*+SET_VAR(enable_common_expr_pushdown = 
false)*/ * from tai where arrays_overlap(inventors, ${p}) and apply_date = 
'2017-01-01' order by id; """
+        order_qt_sql """ select /*+SET_VAR(enable_common_expr_pushdown = 
true)*/ * from tai where arrays_overlap(inventors, ${p}) and apply_date = 
'2019-01-01' order by id; """
+        order_qt_sql """ select /*+SET_VAR(enable_common_expr_pushdown = 
false)*/ * from tai where arrays_overlap(inventors, ${p}) and apply_date = 
'2019-01-01' order by id; """
+        order_qt_sql """ select /*+SET_VAR(enable_common_expr_pushdown = 
true)*/ * from tai where arrays_overlap(inventors, ${p}) or apply_date = 
'2017-01-01' order by id; """
+        order_qt_sql """ select /*+SET_VAR(enable_common_expr_pushdown = 
false)*/ * from tai where arrays_overlap(inventors, ${p}) or apply_date = 
'2017-01-01' order by id; """
+        order_qt_sql """ select /*+SET_VAR(enable_common_expr_pushdown = 
true)*/ * from tai where !arrays_overlap(inventors, ${p}) order by id; """
+        order_qt_sql """ select /*+SET_VAR(enable_common_expr_pushdown = 
false)*/ * from tai where !arrays_overlap(inventors, ${p}) order by id; """
+        order_qt_sql """ select /*+SET_VAR(enable_common_expr_pushdown = 
true)*/ * from tai where !arrays_overlap(inventors, ${p}) and apply_date = 
'2017-01-01' order by id; """
+        order_qt_sql """ select /*+SET_VAR(enable_common_expr_pushdown = 
false)*/ * from tai where !arrays_overlap(inventors, ${p}) and apply_date = 
'2017-01-01' order by id; """
+        order_qt_sql """ select /*+SET_VAR(enable_common_expr_pushdown = 
true)*/ * from tai where !arrays_overlap(inventors, ${p}) and apply_date = 
'2019-01-01' order by id; """
+        order_qt_sql """ select /*+SET_VAR(enable_common_expr_pushdown = 
false)*/ * from tai where !arrays_overlap(inventors, ${p}) and apply_date = 
'2019-01-01' order by id; """
+        order_qt_sql """ select /*+SET_VAR(enable_common_expr_pushdown = 
true)*/ * from tai where !arrays_overlap(inventors, ${p}) or apply_date = 
'2017-01-01' order by id; """
+        order_qt_sql """ select /*+SET_VAR(enable_common_expr_pushdown = 
false)*/ * from tai where !arrays_overlap(inventors, ${p}) or apply_date = 
'2017-01-01' order by id; """
+        order_qt_sql """ select /*+SET_VAR(enable_common_expr_pushdown = 
true)*/ * from tai where (arrays_overlap(inventors, ${p}) and apply_date = 
'2017-01-01') or apply_date = '2019-01-01' order by id; """
+        order_qt_sql """ select /*+SET_VAR(enable_common_expr_pushdown = 
false)*/ * from tai where (arrays_overlap(inventors, ${p}) and apply_date = 
'2017-01-01') or apply_date = '2019-01-01' order by id; """
     }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org


Reply via email to