>CLEAR >CREATE CURSOR T1 (F1 L NULL) >FOR K=1 TO 100 > INSERT INTO T1 VALUES (.T.) >NEXT > >SYS(3054,11) > >* in the next query a temp index is used and the result is correct >SELECT * FROM T1 WHERE F1 NOT IN (SELECT F1 FROM T1) INTO CURSOR R_IN >? _TALLY, ' expected 100' > >* in the next query a temp index is used and the result is correct >SELECT * FROM T1 WHERE F1 NOT IN (SELECT .T. FROM T1 GROUP BY 1) INTO CURSOR R_NOT_IN >? _TALLY, ' expected 0' > >* in the next query a cartesian product is used and result is not correct >SELECT * FROM T1 WHERE F1 = ALL (SELECT .T. FROM T1) INTO CURSOR R_NOT_IN >? _TALLY, ' expected 100' > >* in the next query a cartesian product is used and result is not correct >SELECT * FROM T1 WHERE F1 <> ANY (SELECT .F. FROM T1) INTO CURSOR R_NOT_IN >? _TALLY, ' expected 100' > >* in the next query a cartesian product is used and result is not correct >SELECT * FROM T1 WHERE F1 <> ALL (SELECT .T. FROM T1) INTO CURSOR R_NOT_IN >? _TALLY, ' expected 0' > >* in the next query a cartesian product is used and result is not correct >SELECT * FROM T1 WHERE F1 IN (SELECT .T. FROM T1) INTO CURSOR R_NOT_IN >? _TALLY, ' expected 0' > >* in the next query a cartesian product is used and result is not correct >SELECT * FROM T1 WHERE F1 NOT IN (SELECT .T. FROM T1) INTO CURSOR R_NOT_IN >? _TALLY, ' expected 0' > > >>