Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[C++] SwissJoin Filter Empty Rows Failed! #41121

Closed
Light-City opened this issue Apr 10, 2024 · 1 comment
Closed

[C++] SwissJoin Filter Empty Rows Failed! #41121

Light-City opened this issue Apr 10, 2024 · 1 comment
Assignees
Labels
Milestone

Comments

@Light-City
Copy link
Contributor

Describe the bug, including details regarding any error messages, version, and platform.

table :

gpadmin=# select * from stu;
 id | name | age 
----+------+-----
  2 | hack |  28
(1 row)

gpadmin=# select * from score;
 id | stu_id | subject | score 
----+--------+---------+-------
  1 |     10 | Jack    |    95
  2 |     10 | Jack    |    98
  3 |     12 | math    |    97
  4 |     15 | TOM     |    92
(4 rows)

expected result : when we execute sql :

SELECT * FROM stu st WHERE NOT  EXISTS (SELECT stu_id FROM score 
where score.stu_id = st.id and st.age>25);
 id | name | age 
----+------+-----
  2 | hack |  28
(1 row)

actual result: crash, since arrow swiss filter crash!

Running main() from /Users/light/workspace/arrow/cpp/build/_deps/googletest-src/googletest/src/gtest_main.cc
Note: Google Test filter = HashJoin.FilterEmptyRows
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from HashJoin
[ RUN      ] HashJoin.FilterEmptyRows
/Users/light/workspace/arrow/cpp/src/arrow/compute/light_array.cc:754:  Check failed: num_rows() > 0 

Component(s)

C++

@raulcd raulcd added this to the 16.0.0 milestone Apr 12, 2024
@raulcd raulcd added the Priority: Blocker Marks a blocker for the release label Apr 12, 2024
@raulcd raulcd changed the title SwissJoin Filter Empty Rows Failed! [C++] SwissJoin Filter Empty Rows Failed! Apr 12, 2024
pitrou added a commit that referenced this issue Apr 15, 2024
### Rationale for this change

Since the left anti filter implementation is based on the left semi filter, and an assertion error occurs when the left semi filter rows are empty, this problem should be fixed.

### What changes are included in this PR?

swiss_join.cc and hash_join_node_test.cc

### Are these changes tested?
Yes

### Are there any user-facing changes?
No

* GitHub Issue: #41121

Lead-authored-by: light-city <455954986@qq.com>
Co-authored-by: Antoine Pitrou <pitrou@free.fr>
Signed-off-by: Antoine Pitrou <antoine@python.org>
@pitrou
Copy link
Member

pitrou commented Apr 15, 2024

Issue resolved by pull request 41122
#41122

@pitrou pitrou closed this as completed Apr 15, 2024
raulcd pushed a commit that referenced this issue Apr 15, 2024
### Rationale for this change

Since the left anti filter implementation is based on the left semi filter, and an assertion error occurs when the left semi filter rows are empty, this problem should be fixed.

### What changes are included in this PR?

swiss_join.cc and hash_join_node_test.cc

### Are these changes tested?
Yes

### Are there any user-facing changes?
No

* GitHub Issue: #41121

Lead-authored-by: light-city <455954986@qq.com>
Co-authored-by: Antoine Pitrou <pitrou@free.fr>
Signed-off-by: Antoine Pitrou <antoine@python.org>
tolleybot pushed a commit to tmct/arrow that referenced this issue May 2, 2024
…41122)

### Rationale for this change

Since the left anti filter implementation is based on the left semi filter, and an assertion error occurs when the left semi filter rows are empty, this problem should be fixed.

### What changes are included in this PR?

swiss_join.cc and hash_join_node_test.cc

### Are these changes tested?
Yes

### Are there any user-facing changes?
No

* GitHub Issue: apache#41121

Lead-authored-by: light-city <455954986@qq.com>
Co-authored-by: Antoine Pitrou <pitrou@free.fr>
Signed-off-by: Antoine Pitrou <antoine@python.org>
vibhatha pushed a commit to vibhatha/arrow that referenced this issue May 25, 2024
…41122)

### Rationale for this change

Since the left anti filter implementation is based on the left semi filter, and an assertion error occurs when the left semi filter rows are empty, this problem should be fixed.

### What changes are included in this PR?

swiss_join.cc and hash_join_node_test.cc

### Are these changes tested?
Yes

### Are there any user-facing changes?
No

* GitHub Issue: apache#41121

Lead-authored-by: light-city <455954986@qq.com>
Co-authored-by: Antoine Pitrou <pitrou@free.fr>
Signed-off-by: Antoine Pitrou <antoine@python.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants