In the following on PR, I think we can move inlist related simplifier logic to `inlist_simplifier`. Steps in inlist_simplifier 1. early stage simplification like `expr IN () --> false`, `null IN/NOT IN` 2. convert long OR chain or AND chain to InList expressions like what `or_in_list_simplifier` does 3. shorten InList expressions like what `inlist_simplifier` in this PR does 4. convert final inlist to OR chain or AND chain if len < 3. Move inlist related simplifier out from `expr_simplifier` In this way, when the logic grows more complex, we can easily find out related conversion about specific Expr _Originally posted by @jayzhan211 in https://github.com/apache/arrow-datafusion/issues/8949#issuecomment-1906115890_
Activity
guojidan commentedon Jan 24, 2024
I am interested in this and let me try to implement it
alamb commentedon Jan 24, 2024
I think this issue might be done best in multiple PRs
SO for example the first PR could just move all the inlist related simplifications into one place
Note I also have a PR to change the code, for your awareness: #8971
guojidan commentedon Jan 24, 2024
ok, I got it 😄