Julian>And I would love a SQL test case that shows that SEARCH is broken. :)

I give you 100 char SQL reproducer and you restore pull/2250.
Deal?

Julian>But it is good news for people using Calcite 1.26 - it is very
Julian>unlikely that they are being affected by the bug.

Calcite 1.26 is affected by sarg-induced
[CALCITE-4325] RexSimplify incorrectly simplifies complex expressions that
contain Sarg and IS NULL
[CALCITE-4352] RelBuilder/RexSimplify/Sarg incorrectly transforms complex
expressions with IS NULL/IS NOT NULL

Both have trivial SQL reproducers behind the lines of (deptno = 20 OR
deptno IS NULL) AND deptno = 10,
so please don't misguide people that "1.26 is fine".
Release 1.26 has severe issues (including SQL-reproducible ones), and many
trivial queries like "... or ... is null" might produce wrong results.

The above-listed issues are in no way an exhaustive list of RexNode-related
issues, so 1.26 is nowhere near for production use in case the system
touches RexNode simplification.

Juilan>This is frustrating for me trying to reproduce a bug before I fix it
Juilan>But it is good news for people using Calcite 1.26 - it is very
Juilan>unlikely that they are being affected by the bug

Of course, it might be complicated to find the bug manually.
That does not imply the bug is not there. Neither it implies the bug is
rare.
It just means you are using the wrong tools and approaches to find the bug.

Julian>CALCITE-4377 <https://issues.apache.org/jira/browse/CALCITE-4377> exists
to fix tech debt introduced in

4377 is a regression, not a tech debt.
Tech debt makes maintenance harder, and tech debt does not result in the
system producing wrong results.
4377 is to fix the bug introduced in 3457.

Vladimir

Reply via email to