This is an automated email from the ASF dual-hosted git repository.
yangzhg 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 d68b8cce1a [fix](intersect) fix intersect query failed in row storage
code (#12712)
d68b8cce1a is described below
commit d68b8cce1a540d013de8b5a2d1909af1f0ffefe5
Author: luozenglin <[email protected]>
AuthorDate: Mon Sep 19 11:47:50 2022 +0800
[fix](intersect) fix intersect query failed in row storage code (#12712)
---
be/src/exec/set_operation_node.cpp | 8 --------
be/src/exec/set_operation_node.h | 1 -
regression-test/data/query_p0/intersect/test_intersect.out | 5 +++++
regression-test/suites/query_p0/intersect/test_intersect.groovy | 7 +++++++
4 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/be/src/exec/set_operation_node.cpp
b/be/src/exec/set_operation_node.cpp
index 882019b199..3458c57293 100644
--- a/be/src/exec/set_operation_node.cpp
+++ b/be/src/exec/set_operation_node.cpp
@@ -54,14 +54,6 @@ Status SetOperationNode::prepare(RuntimeState* state) {
}
_build_tuple_size = child(0)->row_desc().tuple_descriptors().size();
_build_tuple_row_size = _build_tuple_size * sizeof(Tuple*);
- _build_tuple_idx.reserve(_build_tuple_size);
-
- for (int i = 0; i < _build_tuple_size; ++i) {
- TupleDescriptor* build_tuple_desc =
child(0)->row_desc().tuple_descriptors()[i];
- auto tuple_idx = _row_descriptor.get_tuple_idx(build_tuple_desc->id());
- RETURN_IF_INVALID_TUPLE_IDX(build_tuple_desc->id(), tuple_idx);
- _build_tuple_idx.push_back(tuple_idx);
- }
_find_nulls = std::vector<bool>();
for (auto ctx : _child_expr_lists[0]) {
_find_nulls.push_back(!ctx->root()->is_slotref() ||
ctx->is_nullable());
diff --git a/be/src/exec/set_operation_node.h b/be/src/exec/set_operation_node.h
index 2d5900345f..4e2722b94d 100644
--- a/be/src/exec/set_operation_node.h
+++ b/be/src/exec/set_operation_node.h
@@ -71,7 +71,6 @@ protected:
// holds everything referenced in _hash_tbl
std::unique_ptr<MemPool> _build_pool;
- std::vector<int> _build_tuple_idx;
int _build_tuple_size;
int _build_tuple_row_size;
std::vector<bool> _find_nulls;
diff --git a/regression-test/data/query_p0/intersect/test_intersect.out
b/regression-test/data/query_p0/intersect/test_intersect.out
index 4c443b8493..698b8f69f3 100644
--- a/regression-test/data/query_p0/intersect/test_intersect.out
+++ b/regression-test/data/query_p0/intersect/test_intersect.out
@@ -4,3 +4,8 @@
2
3
+-- !select --
+1
+2
+3
+
diff --git a/regression-test/suites/query_p0/intersect/test_intersect.groovy
b/regression-test/suites/query_p0/intersect/test_intersect.groovy
index 1c007b95d7..677ed5c514 100644
--- a/regression-test/suites/query_p0/intersect/test_intersect.groovy
+++ b/regression-test/suites/query_p0/intersect/test_intersect.groovy
@@ -16,6 +16,13 @@
// under the License.
suite("test_intersect") {
+ sql 'set enable_vectorized_engine=false'
+ qt_select """
+ SELECT * FROM (SELECT k1 FROM test_query_db.baseall
+ INTERSECT SELECT k1 FROM test_query_db.test) a ORDER BY k1
+ """
+
+ sql 'set enable_vectorized_engine=true'
qt_select """
SELECT * FROM (SELECT k1 FROM test_query_db.baseall
INTERSECT SELECT k1 FROM test_query_db.test) a ORDER BY k1
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]