[MCOL-2108] Possible bug in disk join Created: 2019-01-24  Updated: 2023-03-06  Resolved: 2023-03-06

Status: Closed
Project: MariaDB ColumnStore
Component/s: N/A
Affects Version/s: 1.0.15, 1.1.6, 1.2.2
Fix Version/s: Icebox

Type: Bug Priority: Major
Reporter: Patrick LeBlanc (Inactive) Assignee: Unassigned
Resolution: Won't Do Votes: 0
Labels: None


 Description   

Looking a little more into MCOL-2105, I spotted something in the code that might be wrong but I don't have time to chase it down right now.

When it's reading data for the small side, it's iterating over the rows deciding what to do depending on the type of join. I see this:
{{ if (antiWithMatchNulls && hasNullJoinColumn(row))
{
if (needsAllNullRows || !gotNullRow)

{ for (j = 0; j < (int) bucketCount; j++) ret += buckets[j]->insertSmallSideRow(row); gotNullRow = true; }

continue;
} }}

After that, the row gets inserted.

I think this means that if the row has a NULL join value, but is NOT an anti-join where it's supposed to match NULLs, the row gets inserted. In other words, if the join is a simple inner join, the NULL row gets inserted.

I THINK the operator at the top of the code above should be an || not an &&.



 Comments   
Comment by Patrick LeBlanc (Inactive) [ 2019-01-24 ]

IFFFF this is a bug and I'm not crazy, there's an easy workaround. Just add an explicit 'join_col is not null' filter for each join column.

Comment by Todd Stoffel (Inactive) [ 2023-03-06 ]

This ticket was opened prior to convergence with the server. It may have been rendered obsolete. If this issue still exists in a modern version, please open a new request.

Generated at Thu Feb 08 02:33:48 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.