os/persistentdata/persistentstorage/sqlite3api/TEST/TclScript/tkt1473.test
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     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