-
Notifications
You must be signed in to change notification settings - Fork 467
Fix #3986 #3990
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
Fix #3986 #3990
Conversation
That's something for SqlOptimizer to do. I'm currently trying to implement it in SqlOptimizer and if I will fail - we will use SqlBuilder fix for release |
I thought my fix was incorrect because of the A positive ( x IN (..) OR x IN (..) OR x IS NULL A negative ( -- When null is part of the list:
x NOT IN (..) AND x NOT IN (..) AND x IS NOT NULL
-- When WithNull is true:
x NOT IN (..) AND x NOT IN (..) OR x IS NULL Notice the second case is a mix of |
/azp run test-all |
Azure Pipelines successfully started running 1 pipeline(s). |
/azp run test-all |
Azure Pipelines successfully started running 1 pipeline(s). |
Test baselines changed by this PR. Don't forget to merge/close baselines PR after this pr merged/closed. |
* [Windows / SQLite (both providers)] baselines * [Windows / SQLite (specialized tests)] baselines * [Windows / SQLite (both providers)] baselines * [Windows / Access MDB (Jet/ODBC)] baselines * [Windows / SQL CE] baselines * [Windows / Access MDB (Jet/ODBC)] baselines * [Windows / SQL Server 2005] baselines * [Windows / SQL Server 2005] baselines * [Windows / SQL Server 2008] baselines * [Windows / SQL Server 2012] baselines * [Windows / SQLite (specialized tests)] baselines * [Windows / SQL Server 2017] baselines * [Windows / SQL Server 2008] baselines * [Windows / SQL Server 2014] baselines * [Windows / SQL Server 2014] baselines * [Windows / SQL Server 2012] baselines * [Windows / SQL Server 2019] baselines * [Linux / DB2 LUW 11.5] baselines * [Linux / Firebird 2.5] baselines * [Linux / Firebird 3.0] baselines * [Windows / SQL Server EXTRAS] baselines * [Windows / SQL Server 2017] baselines * [Linux / Informix 14.10] baselines * [Linux / Firebird 4.0] baselines * [Linux / MariaDB] baselines * [Windows / SQL Server EXTRAS] baselines * [Linux / ClickHouse] baselines * [Linux / MySQL 8 (both providers)] baselines * [Windows / SQL Server 2022] baselines * [Windows / SQL Server 2019] baselines * [Linux / MySQL 5.5 (both providers)] baselines * [Linux / Oracle 11g XE] baselines * [Linux / PostgreSQL 10] baselines * [Linux / PostgreSQL 11] baselines * [Linux / PostgreSQL 12] baselines * [Linux / PostgreSQL 13] baselines * [Linux / Oracle 12c] baselines * [Linux / PostgreSQL 15] baselines * [Linux / PostgreSQL 14] baselines * [Linux / Oracle 21c] baselines * [Linux / Oracle 18c] baselines * [Linux / Sybase ASE 16] baselines * [Linux / SAP HANA 2] baselines * [Linux / SQL Server 2019] baselines * [Windows / SQL Server 2016] baselines * [Windows / Access ACE (ODBC-only) x64] baselines --------- Co-authored-by: Azure Pipelines Bot <azp@linq2db.com>
Fix #3986
OR xx IS NULL
should be wrapped with parens likexx IN () OR xx IN ()
is, as it might be part of a larger AND expression.