EXISTS may return the wrong value for sub-queries involving set operations
--------------------------------------------------------------------------
Key: DERBY-2370
URL: https://issues.apache.org/jira/browse/DERBY-2370
Project: Derby
Issue Type: Bug
Components: SQL
Affects Versions: 10.2.2.0
Reporter: Dyre Tjeldvoll
It seems like EXISTS on a SELECT returning zero rows returns false (as
expected), but EXISTS on INTERSECT of two disjunct sets returns true,
e.g EXISTS (values 1 intersect values 2).
Yip Ng wrote on derby-dev:
I believe its probably got to do with the EXISTS subquery transforming
the original RCL to
a TRUE boolean value for the INTERSECT. So during row comparison at
execution time
for INTERSECT processing since true == true(thus intersects), so it
will always return 'BAD'. Likewise,
select * from ( values 'OK' ) as T where exists (values 1 except values 2);
This supposedly should return 'OK' but because of the boolean
transformation mentioned
above for EXISTS subquery, it will return no rows for EXCEPT
processing.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.