sunshone commented on PR #13461:
URL: https://github.com/apache/gluten/pull/13461#issuecomment-6495587526

   @ggjh-159 Thanks for the thorough review!
   
   1.Added LogicalFunctionsTest in gluten-flink/ut (the ScalarFunctionsTest
   paradigm: bounded values table + runAndCheck changelog comparison), covering
   a BOOLEAN column containing NULLs:
   
   - three-valued truth tables for all operators: NOT preserves NULL; IS TRUE /
     IS FALSE / IS NOT TRUE / IS NOT FALSE never return NULL;
   - nested forms NOT(c1 IS FALSE) and (NOT(c1)) IS NOT TRUE. Note that IS binds
     tighter than NOT in SQL, so NOT(c1) IS NOT TRUE parses as
     NOT(c1 IS NOT TRUE); both nested forms are covered and commented in the
     test;
   - constant and constant-foldable operands, including
     CAST(NULL AS BOOLEAN) IS TRUE (asserting FALSE, never NULL);
   - WHERE-clause filter cases (c IS TRUE, NOT(c)).
   
   8/8 green; ScalarFunctionsTest regression 20/20. Additionally, a cluster
   dual-run (native Flink vs GlutenFlink, 13 cases including regressions for
   already-mapped expressions) folds the print-sink changelogs back to final
   result sets and matches exactly on every case.
   
   The inline comment on RexCallConverterFactory.java is covered as well: the
   IS TRUE entry maps to the flinksql is_true function now, and IS TRUE is
   included in the tests above with NULL input asserting FALSE, never NULL —
   see the inline reply for details. Commit: d98b36423.
   
   
   2.The workflow now clones the velox4j branch carrying the velox ref bump for
   this change — https://github.com/sunshone/velox4j.git at
   flinksql-logical-expressions — pinned to
   3eb04bd378097390225d2957faf789afdff11f36. git apply --check confirms
   gluten-flink/patches/fix-velox4j.patch applies cleanly on that head.
   
   A TODO comment records the agreed revert to bigo-sg/velox4j's gluten-20260829
   branch (pin 2d08448f556bff669fe413874d04dd8cd96f65b2, the branch head after
   the upstream IFNULL ref bump) once the velox-side flinksql functions land
   there.
   
   The inline comment on RexCallConverterFactory.java is addressed in the same
   commit as well: the IS TRUE entry now maps to the flinksql is_true function
   instead of equalto(x, true), so a NULL input evaluates to FALSE rather than
   NULL — see the inline reply for details. Commit: d98b36423.


-- 
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