pmmag commented on issue #17528:
URL: https://github.com/apache/druid/issues/17528#issuecomment-2519482234

   Ok, thanks for the clarification. I had read about the SQL compatible NULL 
changes but had not considered they would impact something like this 
(especially in native queries). I'm not sure this type of "side-effect" was 
immediately obvious though.
   
   This makes a bit more sense if you know exactly which columns exist but when 
you have some columns that may or may not be present I guess you need to be 
more careful (SQL compliance really makes much less sense intuitively when 
there is no strict schema).
   
   Perhaps it could be added to the documentation of the selector filter that 
it treats UNKNOWN values as false. That does sound reasonable when you spell it 
out, but it may surprise less experienced users when "not(a = b)" isn't the 
logical complement of "a = b".
   
   We can live with this now by educating our team and changing some wrapper 
code to generate logical not filters in the form of not(istrue(filter))) 
instead of just not(filter). I already had to fix this in at least four 
separate places in our application after upgrading to 31.0.0.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to