Annotation of embedaddon/sqlite3/test/notnull.test, revision 1.1

1.1     ! misho       1: # 2002 January 29
        !             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 for the NOT NULL constraint.
        !            14: #
        !            15: # $Id: notnull.test,v 1.4 2006/01/17 09:35:02 danielk1977 Exp $
        !            16: 
        !            17: set testdir [file dirname $argv0]
        !            18: source $testdir/tester.tcl
        !            19: 
        !            20: ifcapable !conflict {
        !            21:   finish_test
        !            22:   return
        !            23: }
        !            24: 
        !            25: do_test notnull-1.0 {
        !            26:   execsql {
        !            27:     CREATE TABLE t1 (
        !            28:       a NOT NULL,
        !            29:       b NOT NULL DEFAULT 5,
        !            30:       c NOT NULL ON CONFLICT REPLACE DEFAULT 6,
        !            31:       d NOT NULL ON CONFLICT IGNORE DEFAULT 7,
        !            32:       e NOT NULL ON CONFLICT ABORT DEFAULT 8
        !            33:     );
        !            34:     SELECT * FROM t1;
        !            35:   }
        !            36: } {}
        !            37: do_test notnull-1.1 {
        !            38:   catchsql {
        !            39:     DELETE FROM t1;
        !            40:     INSERT INTO t1(a,b,c,d,e) VALUES(1,2,3,4,5);
        !            41:     SELECT * FROM t1 order by a;
        !            42:   }
        !            43: } {0 {1 2 3 4 5}}
        !            44: do_test notnull-1.2 {
        !            45:   catchsql {
        !            46:     DELETE FROM t1;
        !            47:     INSERT INTO t1(b,c,d,e) VALUES(2,3,4,5);
        !            48:     SELECT * FROM t1 order by a;
        !            49:   }
        !            50: } {1 {t1.a may not be NULL}}
        !            51: do_test notnull-1.3 {
        !            52:   catchsql {
        !            53:     DELETE FROM t1;
        !            54:     INSERT OR IGNORE INTO t1(b,c,d,e) VALUES(2,3,4,5);
        !            55:     SELECT * FROM t1 order by a;
        !            56:   }
        !            57: } {0 {}}
        !            58: do_test notnull-1.4 {
        !            59:   catchsql {
        !            60:     DELETE FROM t1;
        !            61:     INSERT OR REPLACE INTO t1(b,c,d,e) VALUES(2,3,4,5);
        !            62:     SELECT * FROM t1 order by a;
        !            63:   }
        !            64: } {1 {t1.a may not be NULL}}
        !            65: do_test notnull-1.5 {
        !            66:   catchsql {
        !            67:     DELETE FROM t1;
        !            68:     INSERT OR ABORT INTO t1(b,c,d,e) VALUES(2,3,4,5);
        !            69:     SELECT * FROM t1 order by a;
        !            70:   }
        !            71: } {1 {t1.a may not be NULL}}
        !            72: do_test notnull-1.6 {
        !            73:   catchsql {
        !            74:     DELETE FROM t1;
        !            75:     INSERT INTO t1(a,c,d,e) VALUES(1,3,4,5);
        !            76:     SELECT * FROM t1 order by a;
        !            77:   }
        !            78: } {0 {1 5 3 4 5}}
        !            79: do_test notnull-1.7 {
        !            80:   catchsql {
        !            81:     DELETE FROM t1;
        !            82:     INSERT OR IGNORE INTO t1(a,c,d,e) VALUES(1,3,4,5);
        !            83:     SELECT * FROM t1 order by a;
        !            84:   }
        !            85: } {0 {1 5 3 4 5}}
        !            86: do_test notnull-1.8 {
        !            87:   catchsql {
        !            88:     DELETE FROM t1;
        !            89:     INSERT OR REPLACE INTO t1(a,c,d,e) VALUES(1,3,4,5);
        !            90:     SELECT * FROM t1 order by a;
        !            91:   }
        !            92: } {0 {1 5 3 4 5}}
        !            93: do_test notnull-1.9 {
        !            94:   catchsql {
        !            95:     DELETE FROM t1;
        !            96:     INSERT OR ABORT INTO t1(a,c,d,e) VALUES(1,3,4,5);
        !            97:     SELECT * FROM t1 order by a;
        !            98:   }
        !            99: } {0 {1 5 3 4 5}}
        !           100: do_test notnull-1.10 {
        !           101:   catchsql {
        !           102:     DELETE FROM t1;
        !           103:     INSERT INTO t1(a,b,c,d,e) VALUES(1,null,3,4,5);
        !           104:     SELECT * FROM t1 order by a;
        !           105:   }
        !           106: } {1 {t1.b may not be NULL}}
        !           107: do_test notnull-1.11 {
        !           108:   catchsql {
        !           109:     DELETE FROM t1;
        !           110:     INSERT OR IGNORE INTO t1(a,b,c,d,e) VALUES(1,null,3,4,5);
        !           111:     SELECT * FROM t1 order by a;
        !           112:   }
        !           113: } {0 {}}
        !           114: do_test notnull-1.12 {
        !           115:   catchsql {
        !           116:     DELETE FROM t1;
        !           117:     INSERT OR REPLACE INTO t1(a,b,c,d,e) VALUES(1,null,3,4,5);
        !           118:     SELECT * FROM t1 order by a;
        !           119:   }
        !           120: } {0 {1 5 3 4 5}}
        !           121: do_test notnull-1.13 {
        !           122:   catchsql {
        !           123:     DELETE FROM t1;
        !           124:     INSERT INTO t1(a,b,c,d,e) VALUES(1,2,null,4,5);
        !           125:     SELECT * FROM t1 order by a;
        !           126:   }
        !           127: } {0 {1 2 6 4 5}}
        !           128: do_test notnull-1.14 {
        !           129:   catchsql {
        !           130:     DELETE FROM t1;
        !           131:     INSERT OR IGNORE INTO t1(a,b,c,d,e) VALUES(1,2,null,4,5);
        !           132:     SELECT * FROM t1 order by a;
        !           133:   }
        !           134: } {0 {}}
        !           135: do_test notnull-1.15 {
        !           136:   catchsql {
        !           137:     DELETE FROM t1;
        !           138:     INSERT OR REPLACE INTO t1(a,b,c,d,e) VALUES(1,2,null,4,5);
        !           139:     SELECT * FROM t1 order by a;
        !           140:   }
        !           141: } {0 {1 2 6 4 5}}
        !           142: do_test notnull-1.16 {
        !           143:   catchsql {
        !           144:     DELETE FROM t1;
        !           145:     INSERT OR ABORT INTO t1(a,b,c,d,e) VALUES(1,2,null,4,5);
        !           146:     SELECT * FROM t1 order by a;
        !           147:   }
        !           148: } {1 {t1.c may not be NULL}}
        !           149: do_test notnull-1.17 {
        !           150:   catchsql {
        !           151:     DELETE FROM t1;
        !           152:     INSERT OR ABORT INTO t1(a,b,c,d,e) VALUES(1,2,3,null,5);
        !           153:     SELECT * FROM t1 order by a;
        !           154:   }
        !           155: } {1 {t1.d may not be NULL}}
        !           156: do_test notnull-1.18 {
        !           157:   catchsql {
        !           158:     DELETE FROM t1;
        !           159:     INSERT OR ABORT INTO t1(a,b,c,e) VALUES(1,2,3,5);
        !           160:     SELECT * FROM t1 order by a;
        !           161:   }
        !           162: } {0 {1 2 3 7 5}}
        !           163: do_test notnull-1.19 {
        !           164:   catchsql {
        !           165:     DELETE FROM t1;
        !           166:     INSERT INTO t1(a,b,c,d) VALUES(1,2,3,4);
        !           167:     SELECT * FROM t1 order by a;
        !           168:   }
        !           169: } {0 {1 2 3 4 8}}
        !           170: do_test notnull-1.20 {
        !           171:   catchsql {
        !           172:     DELETE FROM t1;
        !           173:     INSERT INTO t1(a,b,c,d,e) VALUES(1,2,3,4,null);
        !           174:     SELECT * FROM t1 order by a;
        !           175:   }
        !           176: } {1 {t1.e may not be NULL}}
        !           177: do_test notnull-1.21 {
        !           178:   catchsql {
        !           179:     DELETE FROM t1;
        !           180:     INSERT OR REPLACE INTO t1(e,d,c,b,a) VALUES(1,2,3,null,5);
        !           181:     SELECT * FROM t1 order by a;
        !           182:   }
        !           183: } {0 {5 5 3 2 1}}
        !           184: 
        !           185: do_test notnull-2.1 {
        !           186:   catchsql {
        !           187:     DELETE FROM t1;
        !           188:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           189:     UPDATE t1 SET a=null;
        !           190:     SELECT * FROM t1 ORDER BY a;
        !           191:   }
        !           192: } {1 {t1.a may not be NULL}}
        !           193: do_test notnull-2.2 {
        !           194:   catchsql {
        !           195:     DELETE FROM t1;
        !           196:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           197:     UPDATE OR REPLACE t1 SET a=null;
        !           198:     SELECT * FROM t1 ORDER BY a;
        !           199:   }
        !           200: } {1 {t1.a may not be NULL}}
        !           201: do_test notnull-2.3 {
        !           202:   catchsql {
        !           203:     DELETE FROM t1;
        !           204:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           205:     UPDATE OR IGNORE t1 SET a=null;
        !           206:     SELECT * FROM t1 ORDER BY a;
        !           207:   }
        !           208: } {0 {1 2 3 4 5}}
        !           209: do_test notnull-2.4 {
        !           210:   catchsql {
        !           211:     DELETE FROM t1;
        !           212:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           213:     UPDATE OR ABORT t1 SET a=null;
        !           214:     SELECT * FROM t1 ORDER BY a;
        !           215:   }
        !           216: } {1 {t1.a may not be NULL}}
        !           217: do_test notnull-2.5 {
        !           218:   catchsql {
        !           219:     DELETE FROM t1;
        !           220:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           221:     UPDATE t1 SET b=null;
        !           222:     SELECT * FROM t1 ORDER BY a;
        !           223:   }
        !           224: } {1 {t1.b may not be NULL}}
        !           225: do_test notnull-2.6 {
        !           226:   catchsql {
        !           227:     DELETE FROM t1;
        !           228:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           229:     UPDATE OR REPLACE t1 SET b=null, d=e, e=d;
        !           230:     SELECT * FROM t1 ORDER BY a;
        !           231:   }
        !           232: } {0 {1 5 3 5 4}}
        !           233: do_test notnull-2.7 {
        !           234:   catchsql {
        !           235:     DELETE FROM t1;
        !           236:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           237:     UPDATE OR IGNORE t1 SET b=null, d=e, e=d;
        !           238:     SELECT * FROM t1 ORDER BY a;
        !           239:   }
        !           240: } {0 {1 2 3 4 5}}
        !           241: do_test notnull-2.8 {
        !           242:   catchsql {
        !           243:     DELETE FROM t1;
        !           244:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           245:     UPDATE t1 SET c=null, d=e, e=d;
        !           246:     SELECT * FROM t1 ORDER BY a;
        !           247:   }
        !           248: } {0 {1 2 6 5 4}}
        !           249: do_test notnull-2.9 {
        !           250:   catchsql {
        !           251:     DELETE FROM t1;
        !           252:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           253:     UPDATE t1 SET d=null, a=b, b=a;
        !           254:     SELECT * FROM t1 ORDER BY a;
        !           255:   }
        !           256: } {0 {1 2 3 4 5}}
        !           257: do_test notnull-2.10 {
        !           258:   catchsql {
        !           259:     DELETE FROM t1;
        !           260:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           261:     UPDATE t1 SET e=null, a=b, b=a;
        !           262:     SELECT * FROM t1 ORDER BY a;
        !           263:   }
        !           264: } {1 {t1.e may not be NULL}}
        !           265: 
        !           266: do_test notnull-3.0 {
        !           267:   execsql {
        !           268:     CREATE INDEX t1a ON t1(a);
        !           269:     CREATE INDEX t1b ON t1(b);
        !           270:     CREATE INDEX t1c ON t1(c);
        !           271:     CREATE INDEX t1d ON t1(d);
        !           272:     CREATE INDEX t1e ON t1(e);
        !           273:     CREATE INDEX t1abc ON t1(a,b,c);
        !           274:   }
        !           275: } {}
        !           276: do_test notnull-3.1 {
        !           277:   catchsql {
        !           278:     DELETE FROM t1;
        !           279:     INSERT INTO t1(a,b,c,d,e) VALUES(1,2,3,4,5);
        !           280:     SELECT * FROM t1 order by a;
        !           281:   }
        !           282: } {0 {1 2 3 4 5}}
        !           283: do_test notnull-3.2 {
        !           284:   catchsql {
        !           285:     DELETE FROM t1;
        !           286:     INSERT INTO t1(b,c,d,e) VALUES(2,3,4,5);
        !           287:     SELECT * FROM t1 order by a;
        !           288:   }
        !           289: } {1 {t1.a may not be NULL}}
        !           290: do_test notnull-3.3 {
        !           291:   catchsql {
        !           292:     DELETE FROM t1;
        !           293:     INSERT OR IGNORE INTO t1(b,c,d,e) VALUES(2,3,4,5);
        !           294:     SELECT * FROM t1 order by a;
        !           295:   }
        !           296: } {0 {}}
        !           297: do_test notnull-3.4 {
        !           298:   catchsql {
        !           299:     DELETE FROM t1;
        !           300:     INSERT OR REPLACE INTO t1(b,c,d,e) VALUES(2,3,4,5);
        !           301:     SELECT * FROM t1 order by a;
        !           302:   }
        !           303: } {1 {t1.a may not be NULL}}
        !           304: do_test notnull-3.5 {
        !           305:   catchsql {
        !           306:     DELETE FROM t1;
        !           307:     INSERT OR ABORT INTO t1(b,c,d,e) VALUES(2,3,4,5);
        !           308:     SELECT * FROM t1 order by a;
        !           309:   }
        !           310: } {1 {t1.a may not be NULL}}
        !           311: do_test notnull-3.6 {
        !           312:   catchsql {
        !           313:     DELETE FROM t1;
        !           314:     INSERT INTO t1(a,c,d,e) VALUES(1,3,4,5);
        !           315:     SELECT * FROM t1 order by a;
        !           316:   }
        !           317: } {0 {1 5 3 4 5}}
        !           318: do_test notnull-3.7 {
        !           319:   catchsql {
        !           320:     DELETE FROM t1;
        !           321:     INSERT OR IGNORE INTO t1(a,c,d,e) VALUES(1,3,4,5);
        !           322:     SELECT * FROM t1 order by a;
        !           323:   }
        !           324: } {0 {1 5 3 4 5}}
        !           325: do_test notnull-3.8 {
        !           326:   catchsql {
        !           327:     DELETE FROM t1;
        !           328:     INSERT OR REPLACE INTO t1(a,c,d,e) VALUES(1,3,4,5);
        !           329:     SELECT * FROM t1 order by a;
        !           330:   }
        !           331: } {0 {1 5 3 4 5}}
        !           332: do_test notnull-3.9 {
        !           333:   catchsql {
        !           334:     DELETE FROM t1;
        !           335:     INSERT OR ABORT INTO t1(a,c,d,e) VALUES(1,3,4,5);
        !           336:     SELECT * FROM t1 order by a;
        !           337:   }
        !           338: } {0 {1 5 3 4 5}}
        !           339: do_test notnull-3.10 {
        !           340:   catchsql {
        !           341:     DELETE FROM t1;
        !           342:     INSERT INTO t1(a,b,c,d,e) VALUES(1,null,3,4,5);
        !           343:     SELECT * FROM t1 order by a;
        !           344:   }
        !           345: } {1 {t1.b may not be NULL}}
        !           346: do_test notnull-3.11 {
        !           347:   catchsql {
        !           348:     DELETE FROM t1;
        !           349:     INSERT OR IGNORE INTO t1(a,b,c,d,e) VALUES(1,null,3,4,5);
        !           350:     SELECT * FROM t1 order by a;
        !           351:   }
        !           352: } {0 {}}
        !           353: do_test notnull-3.12 {
        !           354:   catchsql {
        !           355:     DELETE FROM t1;
        !           356:     INSERT OR REPLACE INTO t1(a,b,c,d,e) VALUES(1,null,3,4,5);
        !           357:     SELECT * FROM t1 order by a;
        !           358:   }
        !           359: } {0 {1 5 3 4 5}}
        !           360: do_test notnull-3.13 {
        !           361:   catchsql {
        !           362:     DELETE FROM t1;
        !           363:     INSERT INTO t1(a,b,c,d,e) VALUES(1,2,null,4,5);
        !           364:     SELECT * FROM t1 order by a;
        !           365:   }
        !           366: } {0 {1 2 6 4 5}}
        !           367: do_test notnull-3.14 {
        !           368:   catchsql {
        !           369:     DELETE FROM t1;
        !           370:     INSERT OR IGNORE INTO t1(a,b,c,d,e) VALUES(1,2,null,4,5);
        !           371:     SELECT * FROM t1 order by a;
        !           372:   }
        !           373: } {0 {}}
        !           374: do_test notnull-3.15 {
        !           375:   catchsql {
        !           376:     DELETE FROM t1;
        !           377:     INSERT OR REPLACE INTO t1(a,b,c,d,e) VALUES(1,2,null,4,5);
        !           378:     SELECT * FROM t1 order by a;
        !           379:   }
        !           380: } {0 {1 2 6 4 5}}
        !           381: do_test notnull-3.16 {
        !           382:   catchsql {
        !           383:     DELETE FROM t1;
        !           384:     INSERT OR ABORT INTO t1(a,b,c,d,e) VALUES(1,2,null,4,5);
        !           385:     SELECT * FROM t1 order by a;
        !           386:   }
        !           387: } {1 {t1.c may not be NULL}}
        !           388: do_test notnull-3.17 {
        !           389:   catchsql {
        !           390:     DELETE FROM t1;
        !           391:     INSERT OR ABORT INTO t1(a,b,c,d,e) VALUES(1,2,3,null,5);
        !           392:     SELECT * FROM t1 order by a;
        !           393:   }
        !           394: } {1 {t1.d may not be NULL}}
        !           395: do_test notnull-3.18 {
        !           396:   catchsql {
        !           397:     DELETE FROM t1;
        !           398:     INSERT OR ABORT INTO t1(a,b,c,e) VALUES(1,2,3,5);
        !           399:     SELECT * FROM t1 order by a;
        !           400:   }
        !           401: } {0 {1 2 3 7 5}}
        !           402: do_test notnull-3.19 {
        !           403:   catchsql {
        !           404:     DELETE FROM t1;
        !           405:     INSERT INTO t1(a,b,c,d) VALUES(1,2,3,4);
        !           406:     SELECT * FROM t1 order by a;
        !           407:   }
        !           408: } {0 {1 2 3 4 8}}
        !           409: do_test notnull-3.20 {
        !           410:   catchsql {
        !           411:     DELETE FROM t1;
        !           412:     INSERT INTO t1(a,b,c,d,e) VALUES(1,2,3,4,null);
        !           413:     SELECT * FROM t1 order by a;
        !           414:   }
        !           415: } {1 {t1.e may not be NULL}}
        !           416: do_test notnull-3.21 {
        !           417:   catchsql {
        !           418:     DELETE FROM t1;
        !           419:     INSERT OR REPLACE INTO t1(e,d,c,b,a) VALUES(1,2,3,null,5);
        !           420:     SELECT * FROM t1 order by a;
        !           421:   }
        !           422: } {0 {5 5 3 2 1}}
        !           423: 
        !           424: do_test notnull-4.1 {
        !           425:   catchsql {
        !           426:     DELETE FROM t1;
        !           427:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           428:     UPDATE t1 SET a=null;
        !           429:     SELECT * FROM t1 ORDER BY a;
        !           430:   }
        !           431: } {1 {t1.a may not be NULL}}
        !           432: do_test notnull-4.2 {
        !           433:   catchsql {
        !           434:     DELETE FROM t1;
        !           435:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           436:     UPDATE OR REPLACE t1 SET a=null;
        !           437:     SELECT * FROM t1 ORDER BY a;
        !           438:   }
        !           439: } {1 {t1.a may not be NULL}}
        !           440: do_test notnull-4.3 {
        !           441:   catchsql {
        !           442:     DELETE FROM t1;
        !           443:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           444:     UPDATE OR IGNORE t1 SET a=null;
        !           445:     SELECT * FROM t1 ORDER BY a;
        !           446:   }
        !           447: } {0 {1 2 3 4 5}}
        !           448: do_test notnull-4.4 {
        !           449:   catchsql {
        !           450:     DELETE FROM t1;
        !           451:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           452:     UPDATE OR ABORT t1 SET a=null;
        !           453:     SELECT * FROM t1 ORDER BY a;
        !           454:   }
        !           455: } {1 {t1.a may not be NULL}}
        !           456: do_test notnull-4.5 {
        !           457:   catchsql {
        !           458:     DELETE FROM t1;
        !           459:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           460:     UPDATE t1 SET b=null;
        !           461:     SELECT * FROM t1 ORDER BY a;
        !           462:   }
        !           463: } {1 {t1.b may not be NULL}}
        !           464: do_test notnull-4.6 {
        !           465:   catchsql {
        !           466:     DELETE FROM t1;
        !           467:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           468:     UPDATE OR REPLACE t1 SET b=null, d=e, e=d;
        !           469:     SELECT * FROM t1 ORDER BY a;
        !           470:   }
        !           471: } {0 {1 5 3 5 4}}
        !           472: do_test notnull-4.7 {
        !           473:   catchsql {
        !           474:     DELETE FROM t1;
        !           475:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           476:     UPDATE OR IGNORE t1 SET b=null, d=e, e=d;
        !           477:     SELECT * FROM t1 ORDER BY a;
        !           478:   }
        !           479: } {0 {1 2 3 4 5}}
        !           480: do_test notnull-4.8 {
        !           481:   catchsql {
        !           482:     DELETE FROM t1;
        !           483:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           484:     UPDATE t1 SET c=null, d=e, e=d;
        !           485:     SELECT * FROM t1 ORDER BY a;
        !           486:   }
        !           487: } {0 {1 2 6 5 4}}
        !           488: do_test notnull-4.9 {
        !           489:   catchsql {
        !           490:     DELETE FROM t1;
        !           491:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           492:     UPDATE t1 SET d=null, a=b, b=a;
        !           493:     SELECT * FROM t1 ORDER BY a;
        !           494:   }
        !           495: } {0 {1 2 3 4 5}}
        !           496: do_test notnull-4.10 {
        !           497:   catchsql {
        !           498:     DELETE FROM t1;
        !           499:     INSERT INTO t1 VALUES(1,2,3,4,5);
        !           500:     UPDATE t1 SET e=null, a=b, b=a;
        !           501:     SELECT * FROM t1 ORDER BY a;
        !           502:   }
        !           503: } {1 {t1.e may not be NULL}}
        !           504: 
        !           505: # Test that bug 29ab7be99f is fixed.
        !           506: #
        !           507: do_test notnull-5.1 {
        !           508:   execsql {
        !           509:     DROP TABLE IF EXISTS t1;
        !           510:     CREATE TABLE t1(a, b NOT NULL);
        !           511:     CREATE TABLE t2(c, d);
        !           512:     INSERT INTO t2 VALUES(3, 4);
        !           513:     INSERT INTO t2 VALUES(5, NULL);
        !           514:   }
        !           515: }  {}
        !           516: do_test notnull-5.2 {
        !           517:   catchsql {
        !           518:     INSERT INTO t1 VALUES(1, 2);
        !           519:     INSERT INTO t1 SELECT * FROM t2;
        !           520:   }
        !           521: } {1 {t1.b may not be NULL}}
        !           522: do_test notnull-5.3 {
        !           523:   execsql { SELECT * FROM t1 }
        !           524: } {1 2}
        !           525: do_test notnull-5.4 {
        !           526:   catchsql {
        !           527:     DELETE FROM t1;
        !           528:     BEGIN;
        !           529:       INSERT INTO t1 VALUES(1, 2);
        !           530:       INSERT INTO t1 SELECT * FROM t2;
        !           531:     COMMIT;
        !           532:   }
        !           533: } {1 {t1.b may not be NULL}}
        !           534: do_test notnull-5.5 {
        !           535:   execsql { SELECT * FROM t1 }
        !           536: } {1 2}
        !           537: 
        !           538: finish_test
        !           539: 

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