You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PhysicalRangeJoin::LocalSortedTable::MergeNulls merges every key's ValidityMask into primary key's ValidityMask, which may mistakenly set primary key to null.
I'm willing to make a PR to fix this.
To Reproduce
create table tt (x int, y int, z int);
insert into tt select nullif(r % 10, 0), nullif (r % 11, 0), r from range(50) tbl(r);
select *
from tt t1 left join tt t2
on t1.x < t2.x and t1.y < t2.y
order by t1.x nulls first, t1.y nulls first, t1.z;
PhysicalRangeJoin::LocalSortedTable::MergeNulls merges every key's
ValidityMask into primary key's ValidityMask, which may mistakenly
set primary key to null.
PhysicalRangeJoin::LocalSortedTable::MergeNulls merges every key's
ValidityMask into primary key's ValidityMask, which may mistakenly
set primary key to null.
What happens?
PhysicalRangeJoin::LocalSortedTable::MergeNulls
merges every key's ValidityMask into primary key's ValidityMask, which may mistakenly set primary key to null.I'm willing to make a PR to fix this.
To Reproduce
It outputs:
Obviously,
x
andy
are both null if and only ifz%110==0
, the result is wrong.OS:
ubuntu 22.04
DuckDB Version:
master
DuckDB Client:
CLI
Full Name:
Ke Xu
Affiliation:
Southeast University
Have you tried this on the latest
main
branch?I have tested with a main build
Have you tried the steps to reproduce? Do they include all relevant data and configuration? Does the issue you report still appear there?
The text was updated successfully, but these errors were encountered: