Annotation of embedaddon/sqlite3/test/tkt2927.test, revision 1.1.1.1

1.1       misho       1: # 2008 Feb 6
                      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: #
                     12: # This file is to test that ticket #2927 is fixed.
                     13: #
                     14: # $Id: tkt2927.test,v 1.4 2008/08/04 03:51:24 danielk1977 Exp $
                     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: # Create a database.
                     26: #
                     27: do_test tkt2927-1.1 {
                     28:   db eval {
                     29:     CREATE TABLE t1(a, b);
                     30:     INSERT INTO t1 VALUES(1,11);
                     31:     INSERT INTO t1 VALUES(2,22);
                     32:     INSERT INTO t1 VALUES(3,33);
                     33:     INSERT INTO t1 VALUES(4,44);
                     34:     INSERT INTO t1 VALUES(5,55);
                     35:     SELECT * FROM t1;
                     36:   }
                     37: } {1 11 2 22 3 33 4 44 5 55}
                     38: 
                     39: 
                     40: do_test tkt2927-2.1 {
                     41:   db eval {
                     42:     SELECT a, b FROM t1
                     43:     UNION ALL
                     44:     SELECT a, b FROM t1
                     45:   }
                     46: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55}
                     47: do_test tkt2927-2.2 {
                     48: #set sqlite_addop_trace 1
                     49:   db eval {
                     50:     SELECT a, b FROM t1
                     51:     UNION ALL
                     52:     SELECT a, abs(b) FROM t1
                     53:   }
                     54: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55}
                     55: do_test tkt2927-2.3 {
                     56:   db eval {
                     57:     SELECT a, b FROM t1
                     58:     UNION ALL
                     59:     SELECT abs(a), b FROM t1
                     60:   }
                     61: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55}
                     62: do_test tkt2927-2.4 {
                     63:   db eval {
                     64:     SELECT a, b FROM t1
                     65:     UNION ALL
                     66:     SELECT abs(a), abs(b) FROM t1
                     67:   }
                     68: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55}
                     69: do_test tkt2927-2.5 {
                     70:   db eval {
                     71:     SELECT a, abs(b) FROM t1
                     72:     UNION ALL
                     73:     SELECT a, b FROM t1
                     74:   }
                     75: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55}
                     76: do_test tkt2927-2.6 {
                     77:   db eval {
                     78:     SELECT a, abs(b) FROM t1
                     79:     UNION ALL
                     80:     SELECT a, abs(b) FROM t1
                     81:   }
                     82: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55}
                     83: do_test tkt2927-2.7 {
                     84:   db eval {
                     85:     SELECT a, abs(b) FROM t1
                     86:     UNION ALL
                     87:     SELECT abs(a), b FROM t1
                     88:   }
                     89: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55}
                     90: do_test tkt2927-2.8 {
                     91:   db eval {
                     92:     SELECT a, abs(b) FROM t1
                     93:     UNION ALL
                     94:     SELECT abs(a), abs(b) FROM t1
                     95:   }
                     96: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55}
                     97: do_test tkt2927-2.9 {
                     98:   db eval {
                     99:     SELECT abs(a), b FROM t1
                    100:     UNION ALL
                    101:     SELECT a, b FROM t1
                    102:   }
                    103: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55}
                    104: do_test tkt2927-2.10 {
                    105:   db eval {
                    106:     SELECT abs(a), b FROM t1
                    107:     UNION ALL
                    108:     SELECT a, abs(b) FROM t1
                    109:   }
                    110: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55}
                    111: do_test tkt2927-2.11 {
                    112:   db eval {
                    113:     SELECT abs(a), b FROM t1
                    114:     UNION ALL
                    115:     SELECT abs(a), b FROM t1
                    116:   }
                    117: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55}
                    118: do_test tkt2927-2.12 {
                    119:   db eval {
                    120:     SELECT abs(a), b FROM t1
                    121:     UNION ALL
                    122:     SELECT abs(a), abs(b) FROM t1
                    123:   }
                    124: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55}
                    125: do_test tkt2927-2.13 {
                    126:   db eval {
                    127:     SELECT abs(a), abs(b) FROM t1
                    128:     UNION ALL
                    129:     SELECT a, b FROM t1
                    130:   }
                    131: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55}
                    132: do_test tkt2927-2.14 {
                    133:   db eval {
                    134:     SELECT abs(a), abs(b) FROM t1
                    135:     UNION ALL
                    136:     SELECT a, abs(b) FROM t1
                    137:   }
                    138: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55}
                    139: do_test tkt2927-2.15 {
                    140:   db eval {
                    141:     SELECT abs(a), abs(b) FROM t1
                    142:     UNION ALL
                    143:     SELECT abs(a), b FROM t1
                    144:   }
                    145: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55}
                    146: do_test tkt2927-2.16 {
                    147:   db eval {
                    148:     SELECT abs(a), abs(b) FROM t1
                    149:     UNION ALL
                    150:     SELECT abs(a), abs(b) FROM t1
                    151:   }
                    152: } {1 11 2 22 3 33 4 44 5 55 1 11 2 22 3 33 4 44 5 55}
                    153: 
                    154: 
                    155: do_test tkt2927-3.1 {
                    156:   db eval {
                    157:     SELECT a, b FROM t1
                    158:     UNION 
                    159:     SELECT a, b FROM t1
                    160:     ORDER BY 1
                    161:   }
                    162: } {1 11 2 22 3 33 4 44 5 55}
                    163: do_test tkt2927-3.2 {
                    164:   db eval {
                    165:     SELECT a, b FROM t1
                    166:     UNION 
                    167:     SELECT a, abs(b) FROM t1
                    168:     ORDER BY 1
                    169:   }
                    170: } {1 11 2 22 3 33 4 44 5 55}
                    171: do_test tkt2927-3.3 {
                    172:   db eval {
                    173:     SELECT a, b FROM t1
                    174:     UNION 
                    175:     SELECT abs(a), b FROM t1
                    176:     ORDER BY 1
                    177:   }
                    178: } {1 11 2 22 3 33 4 44 5 55}
                    179: do_test tkt2927-3.4 {
                    180:   db eval {
                    181:     SELECT a, b FROM t1
                    182:     UNION 
                    183:     SELECT abs(a), abs(b) FROM t1
                    184:     ORDER BY 1
                    185:   }
                    186: } {1 11 2 22 3 33 4 44 5 55}
                    187: do_test tkt2927-3.5 {
                    188:   db eval {
                    189:     SELECT a, abs(b) FROM t1
                    190:     UNION 
                    191:     SELECT a, b FROM t1
                    192:     ORDER BY 1
                    193:   }
                    194: } {1 11 2 22 3 33 4 44 5 55}
                    195: do_test tkt2927-3.6 {
                    196:   db eval {
                    197:     SELECT a, abs(b) FROM t1
                    198:     UNION 
                    199:     SELECT a, abs(b) FROM t1
                    200:     ORDER BY 1
                    201:   }
                    202: } {1 11 2 22 3 33 4 44 5 55}
                    203: do_test tkt2927-3.7 {
                    204:   db eval {
                    205:     SELECT a, abs(b) FROM t1
                    206:     UNION 
                    207:     SELECT abs(a), b FROM t1
                    208:     ORDER BY 1
                    209:   }
                    210: } {1 11 2 22 3 33 4 44 5 55}
                    211: do_test tkt2927-3.8 {
                    212:   db eval {
                    213:     SELECT a, abs(b) FROM t1
                    214:     UNION 
                    215:     SELECT abs(a), abs(b) FROM t1
                    216:     ORDER BY 1
                    217:   }
                    218: } {1 11 2 22 3 33 4 44 5 55}
                    219: do_test tkt2927-3.9 {
                    220:   db eval {
                    221:     SELECT abs(a), b FROM t1
                    222:     UNION 
                    223:     SELECT a, b FROM t1
                    224:     ORDER BY 1
                    225:   }
                    226: } {1 11 2 22 3 33 4 44 5 55}
                    227: do_test tkt2927-3.10 {
                    228:   db eval {
                    229:     SELECT abs(a), b FROM t1
                    230:     UNION 
                    231:     SELECT a, abs(b) FROM t1
                    232:     ORDER BY 1
                    233:   }
                    234: } {1 11 2 22 3 33 4 44 5 55}
                    235: do_test tkt2927-3.11 {
                    236:   db eval {
                    237:     SELECT abs(a), b FROM t1
                    238:     UNION 
                    239:     SELECT abs(a), b FROM t1
                    240:     ORDER BY 1
                    241:   }
                    242: } {1 11 2 22 3 33 4 44 5 55}
                    243: do_test tkt2927-3.12 {
                    244:   db eval {
                    245:     SELECT abs(a), b FROM t1
                    246:     UNION 
                    247:     SELECT abs(a), abs(b) FROM t1
                    248:     ORDER BY 1
                    249:   }
                    250: } {1 11 2 22 3 33 4 44 5 55}
                    251: do_test tkt2927-3.13 {
                    252:   db eval {
                    253:     SELECT abs(a), abs(b) FROM t1
                    254:     UNION 
                    255:     SELECT a, b FROM t1
                    256:     ORDER BY 1
                    257:   }
                    258: } {1 11 2 22 3 33 4 44 5 55}
                    259: do_test tkt2927-3.14 {
                    260:   db eval {
                    261:     SELECT abs(a), abs(b) FROM t1
                    262:     UNION 
                    263:     SELECT a, abs(b) FROM t1
                    264:     ORDER BY 1
                    265:   }
                    266: } {1 11 2 22 3 33 4 44 5 55}
                    267: do_test tkt2927-3.15 {
                    268:   db eval {
                    269:     SELECT abs(a), abs(b) FROM t1
                    270:     UNION 
                    271:     SELECT abs(a), b FROM t1
                    272:     ORDER BY 1
                    273:   }
                    274: } {1 11 2 22 3 33 4 44 5 55}
                    275: do_test tkt2927-3.16 {
                    276:   db eval {
                    277:     SELECT abs(a), abs(b) FROM t1
                    278:     UNION 
                    279:     SELECT abs(a), abs(b) FROM t1
                    280:     ORDER BY 1
                    281:   }
                    282: } {1 11 2 22 3 33 4 44 5 55}
                    283: 
                    284: 
                    285: do_test tkt2927-4.1 {
                    286:   db eval {
                    287:     SELECT a+b, a-b, a, b FROM t1
                    288:     UNION ALL
                    289:     SELECT a+b, a-b, a, b FROM t1
                    290:   }
                    291: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55}
                    292: do_test tkt2927-4.2 {
                    293:   db eval {
                    294:     SELECT a+b, a-b, a, b FROM t1
                    295:     UNION ALL
                    296:     SELECT a+b, a-b, a, abs(b) FROM t1
                    297:   }
                    298: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55}
                    299: do_test tkt2927-4.3 {
                    300:   db eval {
                    301:     SELECT a+b, a-b, a, b FROM t1
                    302:     UNION ALL
                    303:     SELECT a+b, a-b, abs(a), b FROM t1
                    304:   }
                    305: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55}
                    306: do_test tkt2927-4.4 {
                    307:   db eval {
                    308:     SELECT a+b, a-b, a, b FROM t1
                    309:     UNION ALL
                    310:     SELECT a+b, a-b, abs(a), abs(b) FROM t1
                    311:   }
                    312: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55}
                    313: do_test tkt2927-4.5 {
                    314:   db eval {
                    315:     SELECT a+b, a-b, a, abs(b) FROM t1
                    316:     UNION ALL
                    317:     SELECT a+b, a-b, a, b FROM t1
                    318:   }
                    319: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55}
                    320: do_test tkt2927-4.6 {
                    321:   db eval {
                    322:     SELECT a+b, a-b, a, abs(b) FROM t1
                    323:     UNION ALL
                    324:     SELECT a+b, a-b, a, abs(b) FROM t1
                    325:   }
                    326: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55}
                    327: do_test tkt2927-4.7 {
                    328:   db eval {
                    329:     SELECT a+b, a-b, a, abs(b) FROM t1
                    330:     UNION ALL
                    331:     SELECT a+b, a-b, abs(a), b FROM t1
                    332:   }
                    333: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55}
                    334: do_test tkt2927-4.8 {
                    335:   db eval {
                    336:     SELECT a+b, a-b, a, abs(b) FROM t1
                    337:     UNION ALL
                    338:     SELECT a+b, a-b, abs(a), abs(b) FROM t1
                    339:   }
                    340: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55}
                    341: do_test tkt2927-4.9 {
                    342:   db eval {
                    343:     SELECT a+b, a-b, abs(a), b FROM t1
                    344:     UNION ALL
                    345:     SELECT a+b, a-b, a, b FROM t1
                    346:   }
                    347: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55}
                    348: do_test tkt2927-4.10 {
                    349:   db eval {
                    350:     SELECT a+b, a-b, abs(a), b FROM t1
                    351:     UNION ALL
                    352:     SELECT a+b, a-b, a, abs(b) FROM t1
                    353:   }
                    354: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55}
                    355: do_test tkt2927-4.11 {
                    356:   db eval {
                    357:     SELECT a+b, a-b, abs(a), b FROM t1
                    358:     UNION ALL
                    359:     SELECT a+b, a-b, abs(a), b FROM t1
                    360:   }
                    361: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55}
                    362: do_test tkt2927-4.12 {
                    363:   db eval {
                    364:     SELECT a+b, a-b, abs(a), b FROM t1
                    365:     UNION ALL
                    366:     SELECT a+b, a-b, abs(a), abs(b) FROM t1
                    367:   }
                    368: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55}
                    369: do_test tkt2927-4.13 {
                    370:   db eval {
                    371:     SELECT a+b, a-b, abs(a), abs(b) FROM t1
                    372:     UNION ALL
                    373:     SELECT a+b, a-b, a, b FROM t1
                    374:   }
                    375: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55}
                    376: do_test tkt2927-4.14 {
                    377:   db eval {
                    378:     SELECT a+b, a-b, abs(a), abs(b) FROM t1
                    379:     UNION ALL
                    380:     SELECT a+b, a-b, a, abs(b) FROM t1
                    381:   }
                    382: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55}
                    383: do_test tkt2927-4.15 {
                    384:   db eval {
                    385:     SELECT a+b, a-b, abs(a), abs(b) FROM t1
                    386:     UNION ALL
                    387:     SELECT a+b, a-b, abs(a), b FROM t1
                    388:   }
                    389: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55}
                    390: do_test tkt2927-4.16 {
                    391:   db eval {
                    392:     SELECT a+b, a-b, abs(a), abs(b) FROM t1
                    393:     UNION ALL
                    394:     SELECT a+b, a-b, abs(a), abs(b) FROM t1
                    395:   }
                    396: } {12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55 12 -10 1 11 24 -20 2 22 36 -30 3 33 48 -40 4 44 60 -50 5 55}
                    397: 
                    398: 
                    399: do_test tkt2927-5.1 {
                    400:   db eval {
                    401:     SELECT a, b FROM t1
                    402:     EXCEPT
                    403:     SELECT a, b FROM t1
                    404:   }
                    405: } {}
                    406: do_test tkt2927-5.2 {
                    407:   db eval {
                    408:     SELECT a, b FROM t1
                    409:     EXCEPT
                    410:     SELECT a, abs(b) FROM t1
                    411:   }
                    412: } {}
                    413: do_test tkt2927-5.3 {
                    414:   db eval {
                    415:     SELECT a, b FROM t1
                    416:     EXCEPT
                    417:     SELECT abs(a), b FROM t1
                    418:   }
                    419: } {}
                    420: do_test tkt2927-5.4 {
                    421:   db eval {
                    422:     SELECT a, b FROM t1
                    423:     EXCEPT
                    424:     SELECT abs(a), abs(b) FROM t1
                    425:   }
                    426: } {}
                    427: do_test tkt2927-5.5 {
                    428:   db eval {
                    429:     SELECT a, abs(b) FROM t1
                    430:     EXCEPT
                    431:     SELECT a, b FROM t1
                    432:   }
                    433: } {}
                    434: do_test tkt2927-5.6 {
                    435:   db eval {
                    436:     SELECT a, abs(b) FROM t1
                    437:     EXCEPT
                    438:     SELECT a, abs(b) FROM t1
                    439:   }
                    440: } {}
                    441: do_test tkt2927-5.7 {
                    442:   db eval {
                    443:     SELECT a, abs(b) FROM t1
                    444:     EXCEPT
                    445:     SELECT abs(a), b FROM t1
                    446:   }
                    447: } {}
                    448: do_test tkt2927-5.8 {
                    449:   db eval {
                    450:     SELECT a, abs(b) FROM t1
                    451:     EXCEPT
                    452:     SELECT abs(a), abs(b) FROM t1
                    453:   }
                    454: } {}
                    455: do_test tkt2927-5.9 {
                    456:   db eval {
                    457:     SELECT abs(a), b FROM t1
                    458:     EXCEPT
                    459:     SELECT a, b FROM t1
                    460:   }
                    461: } {}
                    462: do_test tkt2927-5.10 {
                    463:   db eval {
                    464:     SELECT abs(a), b FROM t1
                    465:     EXCEPT
                    466:     SELECT a, abs(b) FROM t1
                    467:   }
                    468: } {}
                    469: do_test tkt2927-5.11 {
                    470:   db eval {
                    471:     SELECT abs(a), b FROM t1
                    472:     EXCEPT
                    473:     SELECT abs(a), b FROM t1
                    474:   }
                    475: } {}
                    476: do_test tkt2927-5.12 {
                    477:   db eval {
                    478:     SELECT abs(a), b FROM t1
                    479:     EXCEPT
                    480:     SELECT abs(a), abs(b) FROM t1
                    481:   }
                    482: } {}
                    483: do_test tkt2927-5.13 {
                    484:   db eval {
                    485:     SELECT abs(a), abs(b) FROM t1
                    486:     EXCEPT
                    487:     SELECT a, b FROM t1
                    488:   }
                    489: } {}
                    490: do_test tkt2927-5.14 {
                    491:   db eval {
                    492:     SELECT abs(a), abs(b) FROM t1
                    493:     EXCEPT
                    494:     SELECT a, abs(b) FROM t1
                    495:   }
                    496: } {}
                    497: do_test tkt2927-5.15 {
                    498:   db eval {
                    499:     SELECT abs(a), abs(b) FROM t1
                    500:     EXCEPT
                    501:     SELECT abs(a), b FROM t1
                    502:   }
                    503: } {}
                    504: do_test tkt2927-5.16 {
                    505:   db eval {
                    506:     SELECT abs(a), abs(b) FROM t1
                    507:     EXCEPT
                    508:     SELECT abs(a), abs(b) FROM t1
                    509:   }
                    510: } {}
                    511: 
                    512: 
                    513: do_test tkt2927-6.1 {
                    514:   db eval {
                    515:     SELECT a, b FROM t1
                    516:     INTERSECT
                    517:     SELECT a, b FROM t1
                    518:     ORDER BY 1
                    519:   }
                    520: } {1 11 2 22 3 33 4 44 5 55}
                    521: do_test tkt2927-6.2 {
                    522:   db eval {
                    523:     SELECT a, b FROM t1
                    524:     INTERSECT
                    525:     SELECT a, abs(b) FROM t1
                    526:     ORDER BY 1
                    527:   }
                    528: } {1 11 2 22 3 33 4 44 5 55}
                    529: do_test tkt2927-6.3 {
                    530:   db eval {
                    531:     SELECT a, b FROM t1
                    532:     INTERSECT
                    533:     SELECT abs(a), b FROM t1
                    534:     ORDER BY 1
                    535:   }
                    536: } {1 11 2 22 3 33 4 44 5 55}
                    537: do_test tkt2927-6.4 {
                    538:   db eval {
                    539:     SELECT a, b FROM t1
                    540:     INTERSECT
                    541:     SELECT abs(a), abs(b) FROM t1
                    542:     ORDER BY 1
                    543:   }
                    544: } {1 11 2 22 3 33 4 44 5 55}
                    545: do_test tkt2927-6.5 {
                    546:   db eval {
                    547:     SELECT a, abs(b) FROM t1
                    548:     INTERSECT
                    549:     SELECT a, b FROM t1
                    550:     ORDER BY 1
                    551:   }
                    552: } {1 11 2 22 3 33 4 44 5 55}
                    553: do_test tkt2927-6.6 {
                    554:   db eval {
                    555:     SELECT a, abs(b) FROM t1
                    556:     INTERSECT
                    557:     SELECT a, abs(b) FROM t1
                    558:     ORDER BY 1
                    559:   }
                    560: } {1 11 2 22 3 33 4 44 5 55}
                    561: do_test tkt2927-6.7 {
                    562:   db eval {
                    563:     SELECT a, abs(b) FROM t1
                    564:     INTERSECT
                    565:     SELECT abs(a), b FROM t1
                    566:     ORDER BY 1
                    567:   }
                    568: } {1 11 2 22 3 33 4 44 5 55}
                    569: do_test tkt2927-6.8 {
                    570:   db eval {
                    571:     SELECT a, abs(b) FROM t1
                    572:     INTERSECT
                    573:     SELECT abs(a), abs(b) FROM t1
                    574:     ORDER BY 1
                    575:   }
                    576: } {1 11 2 22 3 33 4 44 5 55}
                    577: do_test tkt2927-6.9 {
                    578:   db eval {
                    579:     SELECT abs(a), b FROM t1
                    580:     INTERSECT
                    581:     SELECT a, b FROM t1
                    582:     ORDER BY 1
                    583:   }
                    584: } {1 11 2 22 3 33 4 44 5 55}
                    585: do_test tkt2927-6.10 {
                    586:   db eval {
                    587:     SELECT abs(a), b FROM t1
                    588:     INTERSECT
                    589:     SELECT a, abs(b) FROM t1
                    590:     ORDER BY 1
                    591:   }
                    592: } {1 11 2 22 3 33 4 44 5 55}
                    593: do_test tkt2927-6.11 {
                    594:   db eval {
                    595:     SELECT abs(a), b FROM t1
                    596:     INTERSECT
                    597:     SELECT abs(a), b FROM t1
                    598:     ORDER BY 1
                    599:   }
                    600: } {1 11 2 22 3 33 4 44 5 55}
                    601: do_test tkt2927-6.12 {
                    602:   db eval {
                    603:     SELECT abs(a), b FROM t1
                    604:     INTERSECT
                    605:     SELECT abs(a), abs(b) FROM t1
                    606:     ORDER BY 1
                    607:   }
                    608: } {1 11 2 22 3 33 4 44 5 55}
                    609: do_test tkt2927-6.13 {
                    610:   db eval {
                    611:     SELECT abs(a), abs(b) FROM t1
                    612:     INTERSECT
                    613:     SELECT a, b FROM t1
                    614:     ORDER BY 1
                    615:   }
                    616: } {1 11 2 22 3 33 4 44 5 55}
                    617: do_test tkt2927-6.14 {
                    618:   db eval {
                    619:     SELECT abs(a), abs(b) FROM t1
                    620:     INTERSECT
                    621:     SELECT a, abs(b) FROM t1
                    622:     ORDER BY 1
                    623:   }
                    624: } {1 11 2 22 3 33 4 44 5 55}
                    625: do_test tkt2927-6.15 {
                    626:   db eval {
                    627:     SELECT abs(a), abs(b) FROM t1
                    628:     INTERSECT
                    629:     SELECT abs(a), b FROM t1
                    630:     ORDER BY 1
                    631:   }
                    632: } {1 11 2 22 3 33 4 44 5 55}
                    633: do_test tkt2927-6.16 {
                    634:   db eval {
                    635:     SELECT abs(a), abs(b) FROM t1
                    636:     INTERSECT
                    637:     SELECT abs(a), abs(b) FROM t1
                    638:     ORDER BY 1
                    639:   }
                    640: } {1 11 2 22 3 33 4 44 5 55}
                    641: 
                    642: # Ticket #3092 is the same bug.  But another test case never hurts.
                    643: #
                    644: do_test tkt2927-7.1 {
                    645:   db eval {
                    646:     CREATE TABLE host (
                    647:      hostname text not null primary key,
                    648:      consoleHost text,
                    649:      consolePort text
                    650:     );
                    651:     INSERT INTO "host" VALUES('aald04','aalp03','4');
                    652:     INSERT INTO "host" VALUES('aald17','aalp01','1');
                    653:     CREATE VIEW consolemap1a as
                    654:       select hostname, consolehost, '/dev/cuaD0.' || (consoleport-1) consoleport
                    655:         from host where consolehost='aalp01';
                    656:     CREATE VIEW consolemap1b as
                    657:       select hostname hostname, consolehost consolehost, '/dev/cuaD' ||
                    658:              substr('01',1+((consoleport-1)/16),1) ||
                    659:              substr('0123456789abcdef',1+((consoleport-1)%16),1) consoleport
                    660:         from host where consolehost='aalp03';
                    661:     CREATE VIEW consolemap1 as
                    662:       select * from consolemap1a
                    663:       union
                    664:       select * from consolemap1b;
                    665:     SELECT * from consolemap1b;
                    666:   }
                    667: } {aald04 aalp03 /dev/cuaD03}
                    668: do_test tkt2927-7.2 {
                    669:   db eval {
                    670:     SELECT * FROM consolemap1
                    671:   }
                    672: } {aald04 aalp03 /dev/cuaD03 aald17 aalp01 /dev/cuaD0.0}
                    673: 
                    674: finish_test

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>