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
