[ 
https://issues.apache.org/jira/browse/DERBY-4001?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12698776#action_12698776
 ] 

Knut Anders Hatlen commented on DERBY-4001:
-------------------------------------------

Bryan asked which NOT EXISTS queries lang/subqueryFlattening.sql
expected to be flattened. Here are the ones I found (some of them are
executed multiple times with different nullability constraints).

NOT EXISTS (flattened to NOT EXISTS JOIN):

  SELECT COUNT(*) FROM
  ( SELECT ID FROM DOCS WHERE
          ( NOT EXISTS  (SELECT ID FROM COLLS WHERE DOCS.ID = COLLS.ID
  AND COLLID IN (-2,1) ) )
  ) AS TAB;

  select * from t1 where not exists (select * from t2 where
  t1.c1=t2.c1);

NOT IN (flattened to NOT EXISTS JOIN):

  SELECT COUNT(*) FROM
  ( SELECT ID FROM DOCS WHERE
          ( ID NOT IN (SELECT ID FROM COLLS WHERE COLLID IN (-2,1) ) )
  ) AS TAB;

ALL (flattened to NOT EXISTS JOIN):

  SELECT count(ID) FROM DOCS WHERE ID = ALL (SELECT ID FROM COLLS WHERE COLLID 
IN (-2,1) );
  SELECT count(ID) FROM DOCS WHERE ID < ALL (SELECT ID FROM COLLS WHERE COLLID 
IN (-2,1) );
  SELECT count(ID) FROM DOCS WHERE ID <> ALL (SELECT ID FROM COLLS WHERE COLLID 
IN (-2,1) );

> Sequence comparison with "ALL" does not yield correct results
> -------------------------------------------------------------
>
>                 Key: DERBY-4001
>                 URL: https://issues.apache.org/jira/browse/DERBY-4001
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.3.2.1
>         Environment: Windows
>            Reporter: Venkateswaran Iyer
>            Assignee: Knut Anders Hatlen
>            Priority: Minor
>         Attachments: dontFlatten.diff
>
>
> A query involving "< ALL" does not yield the right results for decimal 
> datatype. "< ANY" works, though.
> To reproduce the issue:
> % create table t1(col1 decimal(10,5));
> % insert into t1 values (-21483.64800);
> % insert into t1 values (74837.00000);
> % select col1 from t1 where col1 < ALL (select 0.0 from t1);
> The above yields no results whereas it should return the first row.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to