github.com/jdgcs/sqlite3@v1.12.1-0.20210908114423-bc5f96e4dd51/testdata/tcl/tkt1473.test (about)

     1  # 2005 September 19
     2  #
     3  # The author disclaims copyright to this source code.  In place of
     4  # a legal notice, here is a blessing:
     5  #
     6  #    May you do good and not evil.
     7  #    May you find forgiveness for yourself and forgive others.
     8  #    May you share freely, never taking more than you give.
     9  #
    10  #***********************************************************************
    11  # This file implements regression tests for SQLite library.
    12  #
    13  # This file implements tests to verify that ticket #1473 has been
    14  # fixed.  
    15  #
    16  
    17  set testdir [file dirname $argv0]
    18  source $testdir/tester.tcl
    19  
    20  ifcapable !compound {
    21    finish_test
    22    return 
    23  }
    24  
    25  do_test tkt1473-1.1 {
    26    execsql {
    27      CREATE TABLE t1(a,b);
    28      INSERT INTO t1 VALUES(1,2);
    29      INSERT INTO t1 VALUES(3,4);
    30      SELECT * FROM t1
    31    }
    32  } {1 2 3 4}
    33  
    34  do_test tkt1473-1.2 {
    35    execsql {
    36      SELECT 1 FROM t1 WHERE a=1 UNION ALL SELECT 2 FROM t1 WHERE b=0
    37    }
    38  } {1}
    39  do_test tkt1473-1.3 {
    40    execsql {
    41      SELECT 1 FROM t1 WHERE a=1 UNION SELECT 2 FROM t1 WHERE b=0
    42    }
    43  } {1}
    44  do_test tkt1473-1.4 {
    45    execsql {
    46      SELECT 1 FROM t1 WHERE a=1 UNION ALL SELECT 2 FROM t1 WHERE b=4
    47    }
    48  } {1 2}
    49  do_test tkt1473-1.5 {
    50    execsql {
    51      SELECT 1 FROM t1 WHERE a=1 UNION SELECT 2 FROM t1 WHERE b=4
    52    }
    53  } {1 2}
    54  do_test tkt1473-1.6 {
    55    execsql {
    56      SELECT 1 FROM t1 WHERE a=0 UNION ALL SELECT 2 FROM t1 WHERE b=4
    57    }
    58  } {2}
    59  do_test tkt1473-1.7 {
    60    execsql {
    61      SELECT 1 FROM t1 WHERE a=0 UNION SELECT 2 FROM t1 WHERE b=4
    62    }
    63  } {2}
    64  do_test tkt1473-1.8 {
    65    execsql {
    66      SELECT 1 FROM t1 WHERE a=0 UNION ALL SELECT 2 FROM t1 WHERE b=0
    67    }
    68  } {}
    69  do_test tkt1473-1.9 {
    70    execsql {
    71      SELECT 1 FROM t1 WHERE a=0 UNION SELECT 2 FROM t1 WHERE b=0
    72    }
    73  } {}
    74  
    75  # Everything from this point on depends on sub-queries. So skip it
    76  # if sub-queries are not available.
    77  ifcapable !subquery {
    78    finish_test
    79    return
    80  }
    81  
    82  do_test tkt1473-2.2 {
    83    execsql {
    84      SELECT (SELECT 1 FROM t1 WHERE a=1 UNION ALL SELECT 2 FROM t1 WHERE b=0)
    85    }
    86  } {1}
    87  do_test tkt1473-2.3 {
    88    execsql {
    89      SELECT (SELECT 1 FROM t1 WHERE a=1 UNION SELECT 2 FROM t1 WHERE b=0)
    90    }
    91  } {1}
    92  do_test tkt1473-2.4 {
    93    execsql {
    94      SELECT (SELECT 1 FROM t1 WHERE a=1 UNION ALL SELECT 2 FROM t1 WHERE b=4)
    95    }
    96  } {1}
    97  do_test tkt1473-2.5 {
    98    execsql {
    99      SELECT (SELECT 1 FROM t1 WHERE a=1 UNION SELECT 2 FROM t1 WHERE b=4)
   100    }
   101  } {1}
   102  do_test tkt1473-2.6 {
   103    execsql {
   104      SELECT (SELECT 1 FROM t1 WHERE a=0 UNION ALL SELECT 2 FROM t1 WHERE b=4)
   105    }
   106  } {2}
   107  do_test tkt1473-2.7 {
   108    execsql {
   109      SELECT (SELECT 1 FROM t1 WHERE a=0 UNION SELECT 2 FROM t1 WHERE b=4)
   110    }
   111  } {2}
   112  do_test tkt1473-2.8 {
   113    execsql {
   114      SELECT (SELECT 1 FROM t1 WHERE a=0 UNION ALL SELECT 2 FROM t1 WHERE b=0)
   115    }
   116  } {{}}
   117  do_test tkt1473-2.9 {
   118    execsql {
   119      SELECT (SELECT 1 FROM t1 WHERE a=0 UNION SELECT 2 FROM t1 WHERE b=0)
   120    }
   121  } {{}}
   122  
   123  do_test tkt1473-3.2 {
   124    execsql {
   125      SELECT EXISTS
   126        (SELECT 1 FROM t1 WHERE a=1 UNION ALL SELECT 2 FROM t1 WHERE b=0)
   127    }
   128  } {1}
   129  do_test tkt1473-3.3 {
   130    execsql {
   131      SELECT EXISTS
   132        (SELECT 1 FROM t1 WHERE a=1 UNION SELECT 2 FROM t1 WHERE b=0)
   133    }
   134  } {1}
   135  do_test tkt1473-3.4 {
   136    execsql {
   137      SELECT EXISTS
   138        (SELECT 1 FROM t1 WHERE a=1 UNION ALL SELECT 2 FROM t1 WHERE b=4)
   139    }
   140  } {1}
   141  do_test tkt1473-3.5 {
   142    execsql {
   143      SELECT EXISTS
   144        (SELECT 1 FROM t1 WHERE a=1 UNION SELECT 2 FROM t1 WHERE b=4)
   145    }
   146  } {1}
   147  do_test tkt1473-3.6 {
   148    execsql {
   149      SELECT EXISTS
   150        (SELECT 1 FROM t1 WHERE a=0 UNION ALL SELECT 2 FROM t1 WHERE b=4)
   151    }
   152  } {1}
   153  do_test tkt1473-3.7 {
   154    execsql {
   155      SELECT EXISTS
   156        (SELECT 1 FROM t1 WHERE a=0 UNION SELECT 2 FROM t1 WHERE b=4)
   157    }
   158  } {1}
   159  do_test tkt1473-3.8 {
   160    execsql {
   161      SELECT EXISTS
   162        (SELECT 1 FROM t1 WHERE a=0 UNION ALL SELECT 2 FROM t1 WHERE b=0)
   163    }
   164  } {0}
   165  do_test tkt1473-3.9 {
   166    execsql {
   167      SELECT EXISTS
   168        (SELECT 1 FROM t1 WHERE a=0 UNION SELECT 2 FROM t1 WHERE b=0)
   169    }
   170  } {0}
   171  
   172  do_test tkt1473-4.1 {
   173    execsql {
   174      CREATE TABLE t2(x,y);
   175      INSERT INTO t2 VALUES(1,2);
   176      INSERT INTO t2 SELECT x+2, y+2 FROM t2;
   177      INSERT INTO t2 SELECT x+4, y+4 FROM t2;
   178      INSERT INTO t2 SELECT x+8, y+8 FROM t2;
   179      INSERT INTO t2 SELECT x+16, y+16 FROM t2;
   180      INSERT INTO t2 SELECT x+32, y+32 FROM t2;
   181      INSERT INTO t2 SELECT x+64, y+64 FROM t2;
   182      SELECT count(*), sum(x), sum(y) FROM t2;
   183    }
   184  } {64 4096 4160}
   185  do_test tkt1473-4.2 {
   186    execsql {
   187      SELECT 1 FROM t2 WHERE x=0
   188      UNION ALL
   189      SELECT 2 FROM t2 WHERE x=1
   190      UNION ALL
   191      SELECT 3 FROM t2 WHERE x=2
   192      UNION ALL
   193      SELECT 4 FROM t2 WHERE x=3
   194      UNION ALL
   195      SELECT 5 FROM t2 WHERE x=4
   196      UNION ALL
   197      SELECT 6 FROM t2 WHERE y=0
   198      UNION ALL
   199      SELECT 7 FROM t2 WHERE y=1
   200      UNION ALL
   201      SELECT 8 FROM t2 WHERE y=2
   202      UNION ALL
   203      SELECT 9 FROM t2 WHERE y=3
   204      UNION ALL
   205      SELECT 10 FROM t2 WHERE y=4
   206    }
   207  } {2 4 8 10}
   208  do_test tkt1473-4.3 {
   209    execsql {
   210      SELECT (
   211        SELECT 1 FROM t2 WHERE x=0
   212        UNION ALL
   213        SELECT 2 FROM t2 WHERE x=1
   214        UNION ALL
   215        SELECT 3 FROM t2 WHERE x=2
   216        UNION ALL
   217        SELECT 4 FROM t2 WHERE x=3
   218        UNION ALL
   219        SELECT 5 FROM t2 WHERE x=4
   220        UNION ALL
   221        SELECT 6 FROM t2 WHERE y=0
   222        UNION ALL
   223        SELECT 7 FROM t2 WHERE y=1
   224        UNION ALL
   225        SELECT 8 FROM t2 WHERE y=2
   226        UNION ALL
   227        SELECT 9 FROM t2 WHERE y=3
   228        UNION ALL
   229        SELECT 10 FROM t2 WHERE y=4
   230      )
   231    }
   232  } {2}
   233  do_test tkt1473-4.4 {
   234    execsql {
   235      SELECT (
   236        SELECT 1 FROM t2 WHERE x=0
   237        UNION ALL
   238        SELECT 2 FROM t2 WHERE x=-1
   239        UNION ALL
   240        SELECT 3 FROM t2 WHERE x=2
   241        UNION ALL
   242        SELECT 4 FROM t2 WHERE x=3
   243        UNION ALL
   244        SELECT 5 FROM t2 WHERE x=4
   245        UNION ALL
   246        SELECT 6 FROM t2 WHERE y=0
   247        UNION ALL
   248        SELECT 7 FROM t2 WHERE y=1
   249        UNION ALL
   250        SELECT 8 FROM t2 WHERE y=2
   251        UNION ALL
   252        SELECT 9 FROM t2 WHERE y=3
   253        UNION ALL
   254        SELECT 10 FROM t2 WHERE y=4
   255      )
   256    }
   257  } {4}
   258  do_test tkt1473-4.5 {
   259    execsql {
   260      SELECT (
   261        SELECT 1 FROM t2 WHERE x=0
   262        UNION ALL
   263        SELECT 2 FROM t2 WHERE x=-1
   264        UNION ALL
   265        SELECT 3 FROM t2 WHERE x=2
   266        UNION ALL
   267        SELECT 4 FROM t2 WHERE x=-1
   268        UNION ALL
   269        SELECT 5 FROM t2 WHERE x=4
   270        UNION ALL
   271        SELECT 6 FROM t2 WHERE y=0
   272        UNION ALL
   273        SELECT 7 FROM t2 WHERE y=1
   274        UNION ALL
   275        SELECT 8 FROM t2 WHERE y=2
   276        UNION ALL
   277        SELECT 9 FROM t2 WHERE y=3
   278        UNION ALL
   279        SELECT 10 FROM t2 WHERE y=-4
   280      )
   281    }
   282  } {8}
   283  do_test tkt1473-4.6 {
   284    execsql {
   285      SELECT (
   286        SELECT 1 FROM t2 WHERE x=0
   287        UNION ALL
   288        SELECT 2 FROM t2 WHERE x=-1
   289        UNION ALL
   290        SELECT 3 FROM t2 WHERE x=2
   291        UNION ALL
   292        SELECT 4 FROM t2 WHERE x=-2
   293        UNION ALL
   294        SELECT 5 FROM t2 WHERE x=4
   295        UNION ALL
   296        SELECT 6 FROM t2 WHERE y=0
   297        UNION ALL
   298        SELECT 7 FROM t2 WHERE y=1
   299        UNION ALL
   300        SELECT 8 FROM t2 WHERE y=-3
   301        UNION ALL
   302        SELECT 9 FROM t2 WHERE y=3
   303        UNION ALL
   304        SELECT 10 FROM t2 WHERE y=4
   305      )
   306    }
   307  } {10}
   308  do_test tkt1473-4.7 {
   309    execsql {
   310      SELECT (
   311        SELECT 1 FROM t2 WHERE x=0
   312        UNION ALL
   313        SELECT 2 FROM t2 WHERE x=-1
   314        UNION ALL
   315        SELECT 3 FROM t2 WHERE x=2
   316        UNION ALL
   317        SELECT 4 FROM t2 WHERE x=-2
   318        UNION ALL
   319        SELECT 5 FROM t2 WHERE x=4
   320        UNION ALL
   321        SELECT 6 FROM t2 WHERE y=0
   322        UNION ALL
   323        SELECT 7 FROM t2 WHERE y=1
   324        UNION ALL
   325        SELECT 8 FROM t2 WHERE y=-3
   326        UNION ALL
   327        SELECT 9 FROM t2 WHERE y=3
   328        UNION ALL
   329        SELECT 10 FROM t2 WHERE y=-4
   330      )
   331    }
   332  } {{}}
   333  
   334  do_test tkt1473-5.3 {
   335    execsql {
   336      SELECT EXISTS (
   337        SELECT 1 FROM t2 WHERE x=0
   338        UNION ALL
   339        SELECT 2 FROM t2 WHERE x=1
   340        UNION ALL
   341        SELECT 3 FROM t2 WHERE x=2
   342        UNION ALL
   343        SELECT 4 FROM t2 WHERE x=3
   344        UNION ALL
   345        SELECT 5 FROM t2 WHERE x=4
   346        UNION ALL
   347        SELECT 6 FROM t2 WHERE y=0
   348        UNION ALL
   349        SELECT 7 FROM t2 WHERE y=1
   350        UNION ALL
   351        SELECT 8 FROM t2 WHERE y=2
   352        UNION ALL
   353        SELECT 9 FROM t2 WHERE y=3
   354        UNION ALL
   355        SELECT 10 FROM t2 WHERE y=4
   356      )
   357    }
   358  } {1}
   359  do_test tkt1473-5.4 {
   360    execsql {
   361      SELECT EXISTS (
   362        SELECT 1 FROM t2 WHERE x=0
   363        UNION ALL
   364        SELECT 2 FROM t2 WHERE x=-1
   365        UNION ALL
   366        SELECT 3 FROM t2 WHERE x=2
   367        UNION ALL
   368        SELECT 4 FROM t2 WHERE x=3
   369        UNION ALL
   370        SELECT 5 FROM t2 WHERE x=4
   371        UNION ALL
   372        SELECT 6 FROM t2 WHERE y=0
   373        UNION ALL
   374        SELECT 7 FROM t2 WHERE y=1
   375        UNION ALL
   376        SELECT 8 FROM t2 WHERE y=2
   377        UNION ALL
   378        SELECT 9 FROM t2 WHERE y=3
   379        UNION ALL
   380        SELECT 10 FROM t2 WHERE y=4
   381      )
   382    }
   383  } {1}
   384  
   385  do_test tkt1473-5.5 {
   386    execsql {
   387      SELECT EXISTS (
   388        SELECT 1 FROM t2 WHERE x=0
   389        UNION ALL
   390        SELECT 2 FROM t2 WHERE x=-1
   391        UNION ALL
   392        SELECT 3 FROM t2 WHERE x=2
   393        UNION ALL
   394        SELECT 4 FROM t2 WHERE x=-1
   395        UNION ALL
   396        SELECT 5 FROM t2 WHERE x=4
   397        UNION ALL
   398        SELECT 6 FROM t2 WHERE y=0
   399        UNION ALL
   400        SELECT 7 FROM t2 WHERE y=1
   401        UNION ALL
   402        SELECT 8 FROM t2 WHERE y=2
   403        UNION ALL
   404        SELECT 9 FROM t2 WHERE y=3
   405        UNION ALL
   406        SELECT 10 FROM t2 WHERE y=-4
   407      )
   408    }
   409  } {1}
   410  do_test tkt1473-5.6 {
   411    execsql {
   412      SELECT EXISTS (
   413        SELECT 1 FROM t2 WHERE x=0
   414        UNION ALL
   415        SELECT 2 FROM t2 WHERE x=-1
   416        UNION ALL
   417        SELECT 3 FROM t2 WHERE x=2
   418        UNION ALL
   419        SELECT 4 FROM t2 WHERE x=-2
   420        UNION ALL
   421        SELECT 5 FROM t2 WHERE x=4
   422        UNION ALL
   423        SELECT 6 FROM t2 WHERE y=0
   424        UNION ALL
   425        SELECT 7 FROM t2 WHERE y=1
   426        UNION ALL
   427        SELECT 8 FROM t2 WHERE y=-3
   428        UNION ALL
   429        SELECT 9 FROM t2 WHERE y=3
   430        UNION ALL
   431        SELECT 10 FROM t2 WHERE y=4
   432      )
   433    }
   434  } {1}
   435  do_test tkt1473-5.7 {
   436    execsql {
   437      SELECT EXISTS (
   438        SELECT 1 FROM t2 WHERE x=0
   439        UNION ALL
   440        SELECT 2 FROM t2 WHERE x=-1
   441        UNION ALL
   442        SELECT 3 FROM t2 WHERE x=2
   443        UNION ALL
   444        SELECT 4 FROM t2 WHERE x=-2
   445        UNION ALL
   446        SELECT 5 FROM t2 WHERE x=4
   447        UNION ALL
   448        SELECT 6 FROM t2 WHERE y=0
   449        UNION ALL
   450        SELECT 7 FROM t2 WHERE y=1
   451        UNION ALL
   452        SELECT 8 FROM t2 WHERE y=-3
   453        UNION ALL
   454        SELECT 9 FROM t2 WHERE y=3
   455        UNION ALL
   456        SELECT 10 FROM t2 WHERE y=-4
   457      )
   458    }
   459  } {0}
   460  
   461  do_test tkt1473-6.3 {
   462    execsql {
   463      SELECT EXISTS (
   464        SELECT 1 FROM t2 WHERE x=0
   465        UNION
   466        SELECT 2 FROM t2 WHERE x=1
   467        UNION
   468        SELECT 3 FROM t2 WHERE x=2
   469        UNION
   470        SELECT 4 FROM t2 WHERE x=3
   471        UNION
   472        SELECT 5 FROM t2 WHERE x=4
   473        UNION
   474        SELECT 6 FROM t2 WHERE y=0
   475        UNION
   476        SELECT 7 FROM t2 WHERE y=1
   477        UNION
   478        SELECT 8 FROM t2 WHERE y=2
   479        UNION
   480        SELECT 9 FROM t2 WHERE y=3
   481        UNION
   482        SELECT 10 FROM t2 WHERE y=4
   483      )
   484    }
   485  } {1}
   486  do_test tkt1473-6.4 {
   487    execsql {
   488      SELECT EXISTS (
   489        SELECT 1 FROM t2 WHERE x=0
   490        UNION
   491        SELECT 2 FROM t2 WHERE x=-1
   492        UNION
   493        SELECT 3 FROM t2 WHERE x=2
   494        UNION
   495        SELECT 4 FROM t2 WHERE x=3
   496        UNION
   497        SELECT 5 FROM t2 WHERE x=4
   498        UNION
   499        SELECT 6 FROM t2 WHERE y=0
   500        UNION
   501        SELECT 7 FROM t2 WHERE y=1
   502        UNION
   503        SELECT 8 FROM t2 WHERE y=2
   504        UNION
   505        SELECT 9 FROM t2 WHERE y=3
   506        UNION
   507        SELECT 10 FROM t2 WHERE y=4
   508      )
   509    }
   510  } {1}
   511  
   512  do_test tkt1473-6.5 {
   513    execsql {
   514      SELECT EXISTS (
   515        SELECT 1 FROM t2 WHERE x=0
   516        UNION
   517        SELECT 2 FROM t2 WHERE x=-1
   518        UNION
   519        SELECT 3 FROM t2 WHERE x=2
   520        UNION
   521        SELECT 4 FROM t2 WHERE x=-1
   522        UNION
   523        SELECT 5 FROM t2 WHERE x=4
   524        UNION
   525        SELECT 6 FROM t2 WHERE y=0
   526        UNION
   527        SELECT 7 FROM t2 WHERE y=1
   528        UNION
   529        SELECT 8 FROM t2 WHERE y=2
   530        UNION
   531        SELECT 9 FROM t2 WHERE y=3
   532        UNION
   533        SELECT 10 FROM t2 WHERE y=-4
   534      )
   535    }
   536  } {1}
   537  do_test tkt1473-6.6 {
   538    execsql {
   539      SELECT EXISTS (
   540        SELECT 1 FROM t2 WHERE x=0
   541        UNION
   542        SELECT 2 FROM t2 WHERE x=-1
   543        UNION
   544        SELECT 3 FROM t2 WHERE x=2
   545        UNION
   546        SELECT 4 FROM t2 WHERE x=-2
   547        UNION
   548        SELECT 5 FROM t2 WHERE x=4
   549        UNION
   550        SELECT 6 FROM t2 WHERE y=0
   551        UNION
   552        SELECT 7 FROM t2 WHERE y=1
   553        UNION
   554        SELECT 8 FROM t2 WHERE y=-3
   555        UNION
   556        SELECT 9 FROM t2 WHERE y=3
   557        UNION
   558        SELECT 10 FROM t2 WHERE y=4
   559      )
   560    }
   561  } {1}
   562  do_test tkt1473-6.7 {
   563    execsql {
   564      SELECT EXISTS (
   565        SELECT 1 FROM t2 WHERE x=0
   566        UNION
   567        SELECT 2 FROM t2 WHERE x=-1
   568        UNION
   569        SELECT 3 FROM t2 WHERE x=2
   570        UNION
   571        SELECT 4 FROM t2 WHERE x=-2
   572        UNION
   573        SELECT 5 FROM t2 WHERE x=4
   574        UNION
   575        SELECT 6 FROM t2 WHERE y=0
   576        UNION
   577        SELECT 7 FROM t2 WHERE y=1
   578        UNION
   579        SELECT 8 FROM t2 WHERE y=-3
   580        UNION
   581        SELECT 9 FROM t2 WHERE y=3
   582        UNION
   583        SELECT 10 FROM t2 WHERE y=-4
   584      )
   585    }
   586  } {0}
   587  do_test tkt1473-6.8 {
   588    execsql {
   589      SELECT EXISTS (
   590        SELECT 1 FROM t2 WHERE x=0
   591        UNION
   592        SELECT 2 FROM t2 WHERE x=-1
   593        UNION
   594        SELECT 3 FROM t2 WHERE x=2
   595        UNION
   596        SELECT 4 FROM t2 WHERE x=-2
   597        UNION
   598        SELECT 5 FROM t2 WHERE x=4
   599        UNION ALL
   600        SELECT 6 FROM t2 WHERE y=0
   601        UNION
   602        SELECT 7 FROM t2 WHERE y=1
   603        UNION
   604        SELECT 8 FROM t2 WHERE y=-3
   605        UNION
   606        SELECT 9 FROM t2 WHERE y=3
   607        UNION
   608        SELECT 10 FROM t2 WHERE y=4
   609      )
   610    }
   611  } {1}
   612  do_test tkt1473-6.9 {
   613    execsql {
   614      SELECT EXISTS (
   615        SELECT 1 FROM t2 WHERE x=0
   616        UNION
   617        SELECT 2 FROM t2 WHERE x=-1
   618        UNION
   619        SELECT 3 FROM t2 WHERE x=2
   620        UNION
   621        SELECT 4 FROM t2 WHERE x=-2
   622        UNION
   623        SELECT 5 FROM t2 WHERE x=4
   624        UNION ALL
   625        SELECT 6 FROM t2 WHERE y=0
   626        UNION
   627        SELECT 7 FROM t2 WHERE y=1
   628        UNION
   629        SELECT 8 FROM t2 WHERE y=-3
   630        UNION
   631        SELECT 9 FROM t2 WHERE y=3
   632        UNION
   633        SELECT 10 FROM t2 WHERE y=-4
   634      )
   635    }
   636  } {0}
   637  
   638  do_test tkt1473-7.1 {
   639    execsql {
   640      SELECT 1 FROM t2 WHERE x=1 EXCEPT SELECT 2 FROM t2 WHERE y=2
   641    }
   642  } {1}
   643  do_test tkt1473-7.2 {
   644    execsql {
   645      SELECT (
   646        SELECT 1 FROM t2 WHERE x=1 EXCEPT SELECT 2 FROM t2 WHERE y=2
   647      )
   648    }
   649  } {1}
   650  do_test tkt1473-7.3 {
   651    execsql {
   652      SELECT EXISTS (
   653        SELECT 1 FROM t2 WHERE x=1 EXCEPT SELECT 2 FROM t2 WHERE y=2
   654      )
   655    }
   656  } {1}
   657  do_test tkt1473-7.4 {
   658    execsql {
   659      SELECT (
   660        SELECT 1 FROM t2 WHERE x=0 EXCEPT SELECT 2 FROM t2 WHERE y=2
   661      )
   662    }
   663  } {{}}
   664  do_test tkt1473-7.5 {
   665    execsql {
   666      SELECT EXISTS (
   667        SELECT 1 FROM t2 WHERE x=0 EXCEPT SELECT 2 FROM t2 WHERE y=2
   668      )
   669    }
   670  } {0}
   671  
   672  do_test tkt1473-8.1 {
   673    execsql {
   674      SELECT 1 FROM t2 WHERE x=1 INTERSECT SELECT 2 FROM t2 WHERE y=2
   675    }
   676  } {}
   677  do_test tkt1473-8.1 {
   678    execsql {
   679      SELECT 1 FROM t2 WHERE x=1 INTERSECT SELECT 1 FROM t2 WHERE y=2
   680    }
   681  } {1}
   682  do_test tkt1473-8.3 {
   683    execsql {
   684      SELECT (
   685        SELECT 1 FROM t2 WHERE x=1 INTERSECT SELECT 2 FROM t2 WHERE y=2
   686      )
   687    }
   688  } {{}}
   689  do_test tkt1473-8.4 {
   690    execsql {
   691      SELECT (
   692        SELECT 1 FROM t2 WHERE x=1 INTERSECT SELECT 1 FROM t2 WHERE y=2
   693      )
   694    }
   695  } {1}
   696  do_test tkt1473-8.5 {
   697    execsql {
   698      SELECT EXISTS (
   699        SELECT 1 FROM t2 WHERE x=1 INTERSECT SELECT 2 FROM t2 WHERE y=2
   700      )
   701    }
   702  } {0}
   703  do_test tkt1473-8.6 {
   704    execsql {
   705      SELECT EXISTS (
   706        SELECT 1 FROM t2 WHERE x=1 INTERSECT SELECT 1 FROM t2 WHERE y=2
   707      )
   708    }
   709  } {1}
   710  do_test tkt1473-8.7 {
   711    execsql {
   712      SELECT (
   713        SELECT 1 FROM t2 WHERE x=0 INTERSECT SELECT 1 FROM t2 WHERE y=2
   714      )
   715    }
   716  } {{}}
   717  do_test tkt1473-8.8 {
   718    execsql {
   719      SELECT EXISTS (
   720        SELECT 1 FROM t2 WHERE x=1 INTERSECT SELECT 1 FROM t2 WHERE y=0
   721      )
   722    }
   723  } {0}
   724  
   725  
   726  
   727  
   728  finish_test