| OLD | NEW |
| 1 # 2002 January 29 | 1 # 2002 January 29 |
| 2 # | 2 # |
| 3 # The author disclaims copyright to this source code. In place of | 3 # The author disclaims copyright to this source code. In place of |
| 4 # a legal notice, here is a blessing: | 4 # a legal notice, here is a blessing: |
| 5 # | 5 # |
| 6 # May you do good and not evil. | 6 # May you do good and not evil. |
| 7 # May you find forgiveness for yourself and forgive others. | 7 # May you find forgiveness for yourself and forgive others. |
| 8 # May you share freely, never taking more than you give. | 8 # May you share freely, never taking more than you give. |
| 9 # | 9 # |
| 10 #*********************************************************************** | 10 #*********************************************************************** |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 INSERT INTO t1(a,b,c,d,e) VALUES(1,2,3,4,5); | 40 INSERT INTO t1(a,b,c,d,e) VALUES(1,2,3,4,5); |
| 41 SELECT * FROM t1 order by a; | 41 SELECT * FROM t1 order by a; |
| 42 } | 42 } |
| 43 } {0 {1 2 3 4 5}} | 43 } {0 {1 2 3 4 5}} |
| 44 do_test notnull-1.2 { | 44 do_test notnull-1.2 { |
| 45 catchsql { | 45 catchsql { |
| 46 DELETE FROM t1; | 46 DELETE FROM t1; |
| 47 INSERT INTO t1(b,c,d,e) VALUES(2,3,4,5); | 47 INSERT INTO t1(b,c,d,e) VALUES(2,3,4,5); |
| 48 SELECT * FROM t1 order by a; | 48 SELECT * FROM t1 order by a; |
| 49 } | 49 } |
| 50 } {1 {t1.a may not be NULL}} | 50 } {1 {NOT NULL constraint failed: t1.a}} |
| 51 verify_ex_errcode notnull-1.2b SQLITE_CONSTRAINT_NOTNULL |
| 51 do_test notnull-1.3 { | 52 do_test notnull-1.3 { |
| 52 catchsql { | 53 catchsql { |
| 53 DELETE FROM t1; | 54 DELETE FROM t1; |
| 54 INSERT OR IGNORE INTO t1(b,c,d,e) VALUES(2,3,4,5); | 55 INSERT OR IGNORE INTO t1(b,c,d,e) VALUES(2,3,4,5); |
| 55 SELECT * FROM t1 order by a; | 56 SELECT * FROM t1 order by a; |
| 56 } | 57 } |
| 57 } {0 {}} | 58 } {0 {}} |
| 58 do_test notnull-1.4 { | 59 do_test notnull-1.4 { |
| 59 catchsql { | 60 catchsql { |
| 60 DELETE FROM t1; | 61 DELETE FROM t1; |
| 61 INSERT OR REPLACE INTO t1(b,c,d,e) VALUES(2,3,4,5); | 62 INSERT OR REPLACE INTO t1(b,c,d,e) VALUES(2,3,4,5); |
| 62 SELECT * FROM t1 order by a; | 63 SELECT * FROM t1 order by a; |
| 63 } | 64 } |
| 64 } {1 {t1.a may not be NULL}} | 65 } {1 {NOT NULL constraint failed: t1.a}} |
| 66 verify_ex_errcode notnull-1.4b SQLITE_CONSTRAINT_NOTNULL |
| 65 do_test notnull-1.5 { | 67 do_test notnull-1.5 { |
| 66 catchsql { | 68 catchsql { |
| 67 DELETE FROM t1; | 69 DELETE FROM t1; |
| 68 INSERT OR ABORT INTO t1(b,c,d,e) VALUES(2,3,4,5); | 70 INSERT OR ABORT INTO t1(b,c,d,e) VALUES(2,3,4,5); |
| 69 SELECT * FROM t1 order by a; | 71 SELECT * FROM t1 order by a; |
| 70 } | 72 } |
| 71 } {1 {t1.a may not be NULL}} | 73 } {1 {NOT NULL constraint failed: t1.a}} |
| 74 verify_ex_errcode notnull-1.5b SQLITE_CONSTRAINT_NOTNULL |
| 72 do_test notnull-1.6 { | 75 do_test notnull-1.6 { |
| 73 catchsql { | 76 catchsql { |
| 74 DELETE FROM t1; | 77 DELETE FROM t1; |
| 75 INSERT INTO t1(a,c,d,e) VALUES(1,3,4,5); | 78 INSERT INTO t1(a,c,d,e) VALUES(1,3,4,5); |
| 76 SELECT * FROM t1 order by a; | 79 SELECT * FROM t1 order by a; |
| 77 } | 80 } |
| 78 } {0 {1 5 3 4 5}} | 81 } {0 {1 5 3 4 5}} |
| 79 do_test notnull-1.7 { | 82 do_test notnull-1.7 { |
| 80 catchsql { | 83 catchsql { |
| 81 DELETE FROM t1; | 84 DELETE FROM t1; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 96 INSERT OR ABORT INTO t1(a,c,d,e) VALUES(1,3,4,5); | 99 INSERT OR ABORT INTO t1(a,c,d,e) VALUES(1,3,4,5); |
| 97 SELECT * FROM t1 order by a; | 100 SELECT * FROM t1 order by a; |
| 98 } | 101 } |
| 99 } {0 {1 5 3 4 5}} | 102 } {0 {1 5 3 4 5}} |
| 100 do_test notnull-1.10 { | 103 do_test notnull-1.10 { |
| 101 catchsql { | 104 catchsql { |
| 102 DELETE FROM t1; | 105 DELETE FROM t1; |
| 103 INSERT INTO t1(a,b,c,d,e) VALUES(1,null,3,4,5); | 106 INSERT INTO t1(a,b,c,d,e) VALUES(1,null,3,4,5); |
| 104 SELECT * FROM t1 order by a; | 107 SELECT * FROM t1 order by a; |
| 105 } | 108 } |
| 106 } {1 {t1.b may not be NULL}} | 109 } {1 {NOT NULL constraint failed: t1.b}} |
| 110 verify_ex_errcode notnull-1.10b SQLITE_CONSTRAINT_NOTNULL |
| 107 do_test notnull-1.11 { | 111 do_test notnull-1.11 { |
| 108 catchsql { | 112 catchsql { |
| 109 DELETE FROM t1; | 113 DELETE FROM t1; |
| 110 INSERT OR IGNORE INTO t1(a,b,c,d,e) VALUES(1,null,3,4,5); | 114 INSERT OR IGNORE INTO t1(a,b,c,d,e) VALUES(1,null,3,4,5); |
| 111 SELECT * FROM t1 order by a; | 115 SELECT * FROM t1 order by a; |
| 112 } | 116 } |
| 113 } {0 {}} | 117 } {0 {}} |
| 114 do_test notnull-1.12 { | 118 do_test notnull-1.12 { |
| 115 catchsql { | 119 catchsql { |
| 116 DELETE FROM t1; | 120 DELETE FROM t1; |
| (...skipping 21 matching lines...) Expand all Loading... |
| 138 INSERT OR REPLACE INTO t1(a,b,c,d,e) VALUES(1,2,null,4,5); | 142 INSERT OR REPLACE INTO t1(a,b,c,d,e) VALUES(1,2,null,4,5); |
| 139 SELECT * FROM t1 order by a; | 143 SELECT * FROM t1 order by a; |
| 140 } | 144 } |
| 141 } {0 {1 2 6 4 5}} | 145 } {0 {1 2 6 4 5}} |
| 142 do_test notnull-1.16 { | 146 do_test notnull-1.16 { |
| 143 catchsql { | 147 catchsql { |
| 144 DELETE FROM t1; | 148 DELETE FROM t1; |
| 145 INSERT OR ABORT INTO t1(a,b,c,d,e) VALUES(1,2,null,4,5); | 149 INSERT OR ABORT INTO t1(a,b,c,d,e) VALUES(1,2,null,4,5); |
| 146 SELECT * FROM t1 order by a; | 150 SELECT * FROM t1 order by a; |
| 147 } | 151 } |
| 148 } {1 {t1.c may not be NULL}} | 152 } {1 {NOT NULL constraint failed: t1.c}} |
| 153 verify_ex_errcode notnull-1.16b SQLITE_CONSTRAINT_NOTNULL |
| 149 do_test notnull-1.17 { | 154 do_test notnull-1.17 { |
| 150 catchsql { | 155 catchsql { |
| 151 DELETE FROM t1; | 156 DELETE FROM t1; |
| 152 INSERT OR ABORT INTO t1(a,b,c,d,e) VALUES(1,2,3,null,5); | 157 INSERT OR ABORT INTO t1(a,b,c,d,e) VALUES(1,2,3,null,5); |
| 153 SELECT * FROM t1 order by a; | 158 SELECT * FROM t1 order by a; |
| 154 } | 159 } |
| 155 } {1 {t1.d may not be NULL}} | 160 } {1 {NOT NULL constraint failed: t1.d}} |
| 161 verify_ex_errcode notnull-1.17b SQLITE_CONSTRAINT_NOTNULL |
| 156 do_test notnull-1.18 { | 162 do_test notnull-1.18 { |
| 157 catchsql { | 163 catchsql { |
| 158 DELETE FROM t1; | 164 DELETE FROM t1; |
| 159 INSERT OR ABORT INTO t1(a,b,c,e) VALUES(1,2,3,5); | 165 INSERT OR ABORT INTO t1(a,b,c,e) VALUES(1,2,3,5); |
| 160 SELECT * FROM t1 order by a; | 166 SELECT * FROM t1 order by a; |
| 161 } | 167 } |
| 162 } {0 {1 2 3 7 5}} | 168 } {0 {1 2 3 7 5}} |
| 163 do_test notnull-1.19 { | 169 do_test notnull-1.19 { |
| 164 catchsql { | 170 catchsql { |
| 165 DELETE FROM t1; | 171 DELETE FROM t1; |
| 166 INSERT INTO t1(a,b,c,d) VALUES(1,2,3,4); | 172 INSERT INTO t1(a,b,c,d) VALUES(1,2,3,4); |
| 167 SELECT * FROM t1 order by a; | 173 SELECT * FROM t1 order by a; |
| 168 } | 174 } |
| 169 } {0 {1 2 3 4 8}} | 175 } {0 {1 2 3 4 8}} |
| 170 do_test notnull-1.20 { | 176 do_test notnull-1.20 { |
| 171 catchsql { | 177 catchsql { |
| 172 DELETE FROM t1; | 178 DELETE FROM t1; |
| 173 INSERT INTO t1(a,b,c,d,e) VALUES(1,2,3,4,null); | 179 INSERT INTO t1(a,b,c,d,e) VALUES(1,2,3,4,null); |
| 174 SELECT * FROM t1 order by a; | 180 SELECT * FROM t1 order by a; |
| 175 } | 181 } |
| 176 } {1 {t1.e may not be NULL}} | 182 } {1 {NOT NULL constraint failed: t1.e}} |
| 183 verify_ex_errcode notnull-1.20b SQLITE_CONSTRAINT_NOTNULL |
| 177 do_test notnull-1.21 { | 184 do_test notnull-1.21 { |
| 178 catchsql { | 185 catchsql { |
| 179 DELETE FROM t1; | 186 DELETE FROM t1; |
| 180 INSERT OR REPLACE INTO t1(e,d,c,b,a) VALUES(1,2,3,null,5); | 187 INSERT OR REPLACE INTO t1(e,d,c,b,a) VALUES(1,2,3,null,5); |
| 181 SELECT * FROM t1 order by a; | 188 SELECT * FROM t1 order by a; |
| 182 } | 189 } |
| 183 } {0 {5 5 3 2 1}} | 190 } {0 {5 5 3 2 1}} |
| 184 | 191 |
| 185 do_test notnull-2.1 { | 192 do_test notnull-2.1 { |
| 186 catchsql { | 193 catchsql { |
| 187 DELETE FROM t1; | 194 DELETE FROM t1; |
| 188 INSERT INTO t1 VALUES(1,2,3,4,5); | 195 INSERT INTO t1 VALUES(1,2,3,4,5); |
| 189 UPDATE t1 SET a=null; | 196 UPDATE t1 SET a=null; |
| 190 SELECT * FROM t1 ORDER BY a; | 197 SELECT * FROM t1 ORDER BY a; |
| 191 } | 198 } |
| 192 } {1 {t1.a may not be NULL}} | 199 } {1 {NOT NULL constraint failed: t1.a}} |
| 200 verify_ex_errcode notnull-2.1b SQLITE_CONSTRAINT_NOTNULL |
| 193 do_test notnull-2.2 { | 201 do_test notnull-2.2 { |
| 194 catchsql { | 202 catchsql { |
| 195 DELETE FROM t1; | 203 DELETE FROM t1; |
| 196 INSERT INTO t1 VALUES(1,2,3,4,5); | 204 INSERT INTO t1 VALUES(1,2,3,4,5); |
| 197 UPDATE OR REPLACE t1 SET a=null; | 205 UPDATE OR REPLACE t1 SET a=null; |
| 198 SELECT * FROM t1 ORDER BY a; | 206 SELECT * FROM t1 ORDER BY a; |
| 199 } | 207 } |
| 200 } {1 {t1.a may not be NULL}} | 208 } {1 {NOT NULL constraint failed: t1.a}} |
| 209 verify_ex_errcode notnull-2.2b SQLITE_CONSTRAINT_NOTNULL |
| 201 do_test notnull-2.3 { | 210 do_test notnull-2.3 { |
| 202 catchsql { | 211 catchsql { |
| 203 DELETE FROM t1; | 212 DELETE FROM t1; |
| 204 INSERT INTO t1 VALUES(1,2,3,4,5); | 213 INSERT INTO t1 VALUES(1,2,3,4,5); |
| 205 UPDATE OR IGNORE t1 SET a=null; | 214 UPDATE OR IGNORE t1 SET a=null; |
| 206 SELECT * FROM t1 ORDER BY a; | 215 SELECT * FROM t1 ORDER BY a; |
| 207 } | 216 } |
| 208 } {0 {1 2 3 4 5}} | 217 } {0 {1 2 3 4 5}} |
| 209 do_test notnull-2.4 { | 218 do_test notnull-2.4 { |
| 210 catchsql { | 219 catchsql { |
| 211 DELETE FROM t1; | 220 DELETE FROM t1; |
| 212 INSERT INTO t1 VALUES(1,2,3,4,5); | 221 INSERT INTO t1 VALUES(1,2,3,4,5); |
| 213 UPDATE OR ABORT t1 SET a=null; | 222 UPDATE OR ABORT t1 SET a=null; |
| 214 SELECT * FROM t1 ORDER BY a; | 223 SELECT * FROM t1 ORDER BY a; |
| 215 } | 224 } |
| 216 } {1 {t1.a may not be NULL}} | 225 } {1 {NOT NULL constraint failed: t1.a}} |
| 226 verify_ex_errcode notnull-2.4b SQLITE_CONSTRAINT_NOTNULL |
| 217 do_test notnull-2.5 { | 227 do_test notnull-2.5 { |
| 218 catchsql { | 228 catchsql { |
| 219 DELETE FROM t1; | 229 DELETE FROM t1; |
| 220 INSERT INTO t1 VALUES(1,2,3,4,5); | 230 INSERT INTO t1 VALUES(1,2,3,4,5); |
| 221 UPDATE t1 SET b=null; | 231 UPDATE t1 SET b=null; |
| 222 SELECT * FROM t1 ORDER BY a; | 232 SELECT * FROM t1 ORDER BY a; |
| 223 } | 233 } |
| 224 } {1 {t1.b may not be NULL}} | 234 } {1 {NOT NULL constraint failed: t1.b}} |
| 235 verify_ex_errcode notnull-2.6b SQLITE_CONSTRAINT_NOTNULL |
| 225 do_test notnull-2.6 { | 236 do_test notnull-2.6 { |
| 226 catchsql { | 237 catchsql { |
| 227 DELETE FROM t1; | 238 DELETE FROM t1; |
| 228 INSERT INTO t1 VALUES(1,2,3,4,5); | 239 INSERT INTO t1 VALUES(1,2,3,4,5); |
| 229 UPDATE OR REPLACE t1 SET b=null, d=e, e=d; | 240 UPDATE OR REPLACE t1 SET b=null, d=e, e=d; |
| 230 SELECT * FROM t1 ORDER BY a; | 241 SELECT * FROM t1 ORDER BY a; |
| 231 } | 242 } |
| 232 } {0 {1 5 3 5 4}} | 243 } {0 {1 5 3 5 4}} |
| 233 do_test notnull-2.7 { | 244 do_test notnull-2.7 { |
| 234 catchsql { | 245 catchsql { |
| (...skipping 19 matching lines...) Expand all Loading... |
| 254 SELECT * FROM t1 ORDER BY a; | 265 SELECT * FROM t1 ORDER BY a; |
| 255 } | 266 } |
| 256 } {0 {1 2 3 4 5}} | 267 } {0 {1 2 3 4 5}} |
| 257 do_test notnull-2.10 { | 268 do_test notnull-2.10 { |
| 258 catchsql { | 269 catchsql { |
| 259 DELETE FROM t1; | 270 DELETE FROM t1; |
| 260 INSERT INTO t1 VALUES(1,2,3,4,5); | 271 INSERT INTO t1 VALUES(1,2,3,4,5); |
| 261 UPDATE t1 SET e=null, a=b, b=a; | 272 UPDATE t1 SET e=null, a=b, b=a; |
| 262 SELECT * FROM t1 ORDER BY a; | 273 SELECT * FROM t1 ORDER BY a; |
| 263 } | 274 } |
| 264 } {1 {t1.e may not be NULL}} | 275 } {1 {NOT NULL constraint failed: t1.e}} |
| 276 verify_ex_errcode notnull-2.10b SQLITE_CONSTRAINT_NOTNULL |
| 265 | 277 |
| 266 do_test notnull-3.0 { | 278 do_test notnull-3.0 { |
| 267 execsql { | 279 execsql { |
| 268 CREATE INDEX t1a ON t1(a); | 280 CREATE INDEX t1a ON t1(a); |
| 269 CREATE INDEX t1b ON t1(b); | 281 CREATE INDEX t1b ON t1(b); |
| 270 CREATE INDEX t1c ON t1(c); | 282 CREATE INDEX t1c ON t1(c); |
| 271 CREATE INDEX t1d ON t1(d); | 283 CREATE INDEX t1d ON t1(d); |
| 272 CREATE INDEX t1e ON t1(e); | 284 CREATE INDEX t1e ON t1(e); |
| 273 CREATE INDEX t1abc ON t1(a,b,c); | 285 CREATE INDEX t1abc ON t1(a,b,c); |
| 274 } | 286 } |
| 275 } {} | 287 } {} |
| 276 do_test notnull-3.1 { | 288 do_test notnull-3.1 { |
| 277 catchsql { | 289 catchsql { |
| 278 DELETE FROM t1; | 290 DELETE FROM t1; |
| 279 INSERT INTO t1(a,b,c,d,e) VALUES(1,2,3,4,5); | 291 INSERT INTO t1(a,b,c,d,e) VALUES(1,2,3,4,5); |
| 280 SELECT * FROM t1 order by a; | 292 SELECT * FROM t1 order by a; |
| 281 } | 293 } |
| 282 } {0 {1 2 3 4 5}} | 294 } {0 {1 2 3 4 5}} |
| 283 do_test notnull-3.2 { | 295 do_test notnull-3.2 { |
| 284 catchsql { | 296 catchsql { |
| 285 DELETE FROM t1; | 297 DELETE FROM t1; |
| 286 INSERT INTO t1(b,c,d,e) VALUES(2,3,4,5); | 298 INSERT INTO t1(b,c,d,e) VALUES(2,3,4,5); |
| 287 SELECT * FROM t1 order by a; | 299 SELECT * FROM t1 order by a; |
| 288 } | 300 } |
| 289 } {1 {t1.a may not be NULL}} | 301 } {1 {NOT NULL constraint failed: t1.a}} |
| 302 verify_ex_errcode notnull-3.2b SQLITE_CONSTRAINT_NOTNULL |
| 290 do_test notnull-3.3 { | 303 do_test notnull-3.3 { |
| 291 catchsql { | 304 catchsql { |
| 292 DELETE FROM t1; | 305 DELETE FROM t1; |
| 293 INSERT OR IGNORE INTO t1(b,c,d,e) VALUES(2,3,4,5); | 306 INSERT OR IGNORE INTO t1(b,c,d,e) VALUES(2,3,4,5); |
| 294 SELECT * FROM t1 order by a; | 307 SELECT * FROM t1 order by a; |
| 295 } | 308 } |
| 296 } {0 {}} | 309 } {0 {}} |
| 297 do_test notnull-3.4 { | 310 do_test notnull-3.4 { |
| 298 catchsql { | 311 catchsql { |
| 299 DELETE FROM t1; | 312 DELETE FROM t1; |
| 300 INSERT OR REPLACE INTO t1(b,c,d,e) VALUES(2,3,4,5); | 313 INSERT OR REPLACE INTO t1(b,c,d,e) VALUES(2,3,4,5); |
| 301 SELECT * FROM t1 order by a; | 314 SELECT * FROM t1 order by a; |
| 302 } | 315 } |
| 303 } {1 {t1.a may not be NULL}} | 316 } {1 {NOT NULL constraint failed: t1.a}} |
| 317 verify_ex_errcode notnull-3.4b SQLITE_CONSTRAINT_NOTNULL |
| 304 do_test notnull-3.5 { | 318 do_test notnull-3.5 { |
| 305 catchsql { | 319 catchsql { |
| 306 DELETE FROM t1; | 320 DELETE FROM t1; |
| 307 INSERT OR ABORT INTO t1(b,c,d,e) VALUES(2,3,4,5); | 321 INSERT OR ABORT INTO t1(b,c,d,e) VALUES(2,3,4,5); |
| 308 SELECT * FROM t1 order by a; | 322 SELECT * FROM t1 order by a; |
| 309 } | 323 } |
| 310 } {1 {t1.a may not be NULL}} | 324 } {1 {NOT NULL constraint failed: t1.a}} |
| 325 verify_ex_errcode notnull-3.5b SQLITE_CONSTRAINT_NOTNULL |
| 311 do_test notnull-3.6 { | 326 do_test notnull-3.6 { |
| 312 catchsql { | 327 catchsql { |
| 313 DELETE FROM t1; | 328 DELETE FROM t1; |
| 314 INSERT INTO t1(a,c,d,e) VALUES(1,3,4,5); | 329 INSERT INTO t1(a,c,d,e) VALUES(1,3,4,5); |
| 315 SELECT * FROM t1 order by a; | 330 SELECT * FROM t1 order by a; |
| 316 } | 331 } |
| 317 } {0 {1 5 3 4 5}} | 332 } {0 {1 5 3 4 5}} |
| 318 do_test notnull-3.7 { | 333 do_test notnull-3.7 { |
| 319 catchsql { | 334 catchsql { |
| 320 DELETE FROM t1; | 335 DELETE FROM t1; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 335 INSERT OR ABORT INTO t1(a,c,d,e) VALUES(1,3,4,5); | 350 INSERT OR ABORT INTO t1(a,c,d,e) VALUES(1,3,4,5); |
| 336 SELECT * FROM t1 order by a; | 351 SELECT * FROM t1 order by a; |
| 337 } | 352 } |
| 338 } {0 {1 5 3 4 5}} | 353 } {0 {1 5 3 4 5}} |
| 339 do_test notnull-3.10 { | 354 do_test notnull-3.10 { |
| 340 catchsql { | 355 catchsql { |
| 341 DELETE FROM t1; | 356 DELETE FROM t1; |
| 342 INSERT INTO t1(a,b,c,d,e) VALUES(1,null,3,4,5); | 357 INSERT INTO t1(a,b,c,d,e) VALUES(1,null,3,4,5); |
| 343 SELECT * FROM t1 order by a; | 358 SELECT * FROM t1 order by a; |
| 344 } | 359 } |
| 345 } {1 {t1.b may not be NULL}} | 360 } {1 {NOT NULL constraint failed: t1.b}} |
| 361 verify_ex_errcode notnull-3.10b SQLITE_CONSTRAINT_NOTNULL |
| 346 do_test notnull-3.11 { | 362 do_test notnull-3.11 { |
| 347 catchsql { | 363 catchsql { |
| 348 DELETE FROM t1; | 364 DELETE FROM t1; |
| 349 INSERT OR IGNORE INTO t1(a,b,c,d,e) VALUES(1,null,3,4,5); | 365 INSERT OR IGNORE INTO t1(a,b,c,d,e) VALUES(1,null,3,4,5); |
| 350 SELECT * FROM t1 order by a; | 366 SELECT * FROM t1 order by a; |
| 351 } | 367 } |
| 352 } {0 {}} | 368 } {0 {}} |
| 353 do_test notnull-3.12 { | 369 do_test notnull-3.12 { |
| 354 catchsql { | 370 catchsql { |
| 355 DELETE FROM t1; | 371 DELETE FROM t1; |
| (...skipping 21 matching lines...) Expand all Loading... |
| 377 INSERT OR REPLACE INTO t1(a,b,c,d,e) VALUES(1,2,null,4,5); | 393 INSERT OR REPLACE INTO t1(a,b,c,d,e) VALUES(1,2,null,4,5); |
| 378 SELECT * FROM t1 order by a; | 394 SELECT * FROM t1 order by a; |
| 379 } | 395 } |
| 380 } {0 {1 2 6 4 5}} | 396 } {0 {1 2 6 4 5}} |
| 381 do_test notnull-3.16 { | 397 do_test notnull-3.16 { |
| 382 catchsql { | 398 catchsql { |
| 383 DELETE FROM t1; | 399 DELETE FROM t1; |
| 384 INSERT OR ABORT INTO t1(a,b,c,d,e) VALUES(1,2,null,4,5); | 400 INSERT OR ABORT INTO t1(a,b,c,d,e) VALUES(1,2,null,4,5); |
| 385 SELECT * FROM t1 order by a; | 401 SELECT * FROM t1 order by a; |
| 386 } | 402 } |
| 387 } {1 {t1.c may not be NULL}} | 403 } {1 {NOT NULL constraint failed: t1.c}} |
| 404 verify_ex_errcode notnull-3.16b SQLITE_CONSTRAINT_NOTNULL |
| 388 do_test notnull-3.17 { | 405 do_test notnull-3.17 { |
| 389 catchsql { | 406 catchsql { |
| 390 DELETE FROM t1; | 407 DELETE FROM t1; |
| 391 INSERT OR ABORT INTO t1(a,b,c,d,e) VALUES(1,2,3,null,5); | 408 INSERT OR ABORT INTO t1(a,b,c,d,e) VALUES(1,2,3,null,5); |
| 392 SELECT * FROM t1 order by a; | 409 SELECT * FROM t1 order by a; |
| 393 } | 410 } |
| 394 } {1 {t1.d may not be NULL}} | 411 } {1 {NOT NULL constraint failed: t1.d}} |
| 412 verify_ex_errcode notnull-3.17b SQLITE_CONSTRAINT_NOTNULL |
| 395 do_test notnull-3.18 { | 413 do_test notnull-3.18 { |
| 396 catchsql { | 414 catchsql { |
| 397 DELETE FROM t1; | 415 DELETE FROM t1; |
| 398 INSERT OR ABORT INTO t1(a,b,c,e) VALUES(1,2,3,5); | 416 INSERT OR ABORT INTO t1(a,b,c,e) VALUES(1,2,3,5); |
| 399 SELECT * FROM t1 order by a; | 417 SELECT * FROM t1 order by a; |
| 400 } | 418 } |
| 401 } {0 {1 2 3 7 5}} | 419 } {0 {1 2 3 7 5}} |
| 402 do_test notnull-3.19 { | 420 do_test notnull-3.19 { |
| 403 catchsql { | 421 catchsql { |
| 404 DELETE FROM t1; | 422 DELETE FROM t1; |
| 405 INSERT INTO t1(a,b,c,d) VALUES(1,2,3,4); | 423 INSERT INTO t1(a,b,c,d) VALUES(1,2,3,4); |
| 406 SELECT * FROM t1 order by a; | 424 SELECT * FROM t1 order by a; |
| 407 } | 425 } |
| 408 } {0 {1 2 3 4 8}} | 426 } {0 {1 2 3 4 8}} |
| 409 do_test notnull-3.20 { | 427 do_test notnull-3.20 { |
| 410 catchsql { | 428 catchsql { |
| 411 DELETE FROM t1; | 429 DELETE FROM t1; |
| 412 INSERT INTO t1(a,b,c,d,e) VALUES(1,2,3,4,null); | 430 INSERT INTO t1(a,b,c,d,e) VALUES(1,2,3,4,null); |
| 413 SELECT * FROM t1 order by a; | 431 SELECT * FROM t1 order by a; |
| 414 } | 432 } |
| 415 } {1 {t1.e may not be NULL}} | 433 } {1 {NOT NULL constraint failed: t1.e}} |
| 434 verify_ex_errcode notnull-3.20b SQLITE_CONSTRAINT_NOTNULL |
| 416 do_test notnull-3.21 { | 435 do_test notnull-3.21 { |
| 417 catchsql { | 436 catchsql { |
| 418 DELETE FROM t1; | 437 DELETE FROM t1; |
| 419 INSERT OR REPLACE INTO t1(e,d,c,b,a) VALUES(1,2,3,null,5); | 438 INSERT OR REPLACE INTO t1(e,d,c,b,a) VALUES(1,2,3,null,5); |
| 420 SELECT * FROM t1 order by a; | 439 SELECT * FROM t1 order by a; |
| 421 } | 440 } |
| 422 } {0 {5 5 3 2 1}} | 441 } {0 {5 5 3 2 1}} |
| 423 | 442 |
| 424 do_test notnull-4.1 { | 443 do_test notnull-4.1 { |
| 425 catchsql { | 444 catchsql { |
| 426 DELETE FROM t1; | 445 DELETE FROM t1; |
| 427 INSERT INTO t1 VALUES(1,2,3,4,5); | 446 INSERT INTO t1 VALUES(1,2,3,4,5); |
| 428 UPDATE t1 SET a=null; | 447 UPDATE t1 SET a=null; |
| 429 SELECT * FROM t1 ORDER BY a; | 448 SELECT * FROM t1 ORDER BY a; |
| 430 } | 449 } |
| 431 } {1 {t1.a may not be NULL}} | 450 } {1 {NOT NULL constraint failed: t1.a}} |
| 451 verify_ex_errcode notnull-4.1b SQLITE_CONSTRAINT_NOTNULL |
| 432 do_test notnull-4.2 { | 452 do_test notnull-4.2 { |
| 433 catchsql { | 453 catchsql { |
| 434 DELETE FROM t1; | 454 DELETE FROM t1; |
| 435 INSERT INTO t1 VALUES(1,2,3,4,5); | 455 INSERT INTO t1 VALUES(1,2,3,4,5); |
| 436 UPDATE OR REPLACE t1 SET a=null; | 456 UPDATE OR REPLACE t1 SET a=null; |
| 437 SELECT * FROM t1 ORDER BY a; | 457 SELECT * FROM t1 ORDER BY a; |
| 438 } | 458 } |
| 439 } {1 {t1.a may not be NULL}} | 459 } {1 {NOT NULL constraint failed: t1.a}} |
| 460 verify_ex_errcode notnull-4.2b SQLITE_CONSTRAINT_NOTNULL |
| 440 do_test notnull-4.3 { | 461 do_test notnull-4.3 { |
| 441 catchsql { | 462 catchsql { |
| 442 DELETE FROM t1; | 463 DELETE FROM t1; |
| 443 INSERT INTO t1 VALUES(1,2,3,4,5); | 464 INSERT INTO t1 VALUES(1,2,3,4,5); |
| 444 UPDATE OR IGNORE t1 SET a=null; | 465 UPDATE OR IGNORE t1 SET a=null; |
| 445 SELECT * FROM t1 ORDER BY a; | 466 SELECT * FROM t1 ORDER BY a; |
| 446 } | 467 } |
| 447 } {0 {1 2 3 4 5}} | 468 } {0 {1 2 3 4 5}} |
| 448 do_test notnull-4.4 { | 469 do_test notnull-4.4 { |
| 449 catchsql { | 470 catchsql { |
| 450 DELETE FROM t1; | 471 DELETE FROM t1; |
| 451 INSERT INTO t1 VALUES(1,2,3,4,5); | 472 INSERT INTO t1 VALUES(1,2,3,4,5); |
| 452 UPDATE OR ABORT t1 SET a=null; | 473 UPDATE OR ABORT t1 SET a=null; |
| 453 SELECT * FROM t1 ORDER BY a; | 474 SELECT * FROM t1 ORDER BY a; |
| 454 } | 475 } |
| 455 } {1 {t1.a may not be NULL}} | 476 } {1 {NOT NULL constraint failed: t1.a}} |
| 477 verify_ex_errcode notnull-4.4b SQLITE_CONSTRAINT_NOTNULL |
| 456 do_test notnull-4.5 { | 478 do_test notnull-4.5 { |
| 457 catchsql { | 479 catchsql { |
| 458 DELETE FROM t1; | 480 DELETE FROM t1; |
| 459 INSERT INTO t1 VALUES(1,2,3,4,5); | 481 INSERT INTO t1 VALUES(1,2,3,4,5); |
| 460 UPDATE t1 SET b=null; | 482 UPDATE t1 SET b=null; |
| 461 SELECT * FROM t1 ORDER BY a; | 483 SELECT * FROM t1 ORDER BY a; |
| 462 } | 484 } |
| 463 } {1 {t1.b may not be NULL}} | 485 } {1 {NOT NULL constraint failed: t1.b}} |
| 486 verify_ex_errcode notnull-4.5b SQLITE_CONSTRAINT_NOTNULL |
| 464 do_test notnull-4.6 { | 487 do_test notnull-4.6 { |
| 465 catchsql { | 488 catchsql { |
| 466 DELETE FROM t1; | 489 DELETE FROM t1; |
| 467 INSERT INTO t1 VALUES(1,2,3,4,5); | 490 INSERT INTO t1 VALUES(1,2,3,4,5); |
| 468 UPDATE OR REPLACE t1 SET b=null, d=e, e=d; | 491 UPDATE OR REPLACE t1 SET b=null, d=e, e=d; |
| 469 SELECT * FROM t1 ORDER BY a; | 492 SELECT * FROM t1 ORDER BY a; |
| 470 } | 493 } |
| 471 } {0 {1 5 3 5 4}} | 494 } {0 {1 5 3 5 4}} |
| 472 do_test notnull-4.7 { | 495 do_test notnull-4.7 { |
| 473 catchsql { | 496 catchsql { |
| (...skipping 19 matching lines...) Expand all Loading... |
| 493 SELECT * FROM t1 ORDER BY a; | 516 SELECT * FROM t1 ORDER BY a; |
| 494 } | 517 } |
| 495 } {0 {1 2 3 4 5}} | 518 } {0 {1 2 3 4 5}} |
| 496 do_test notnull-4.10 { | 519 do_test notnull-4.10 { |
| 497 catchsql { | 520 catchsql { |
| 498 DELETE FROM t1; | 521 DELETE FROM t1; |
| 499 INSERT INTO t1 VALUES(1,2,3,4,5); | 522 INSERT INTO t1 VALUES(1,2,3,4,5); |
| 500 UPDATE t1 SET e=null, a=b, b=a; | 523 UPDATE t1 SET e=null, a=b, b=a; |
| 501 SELECT * FROM t1 ORDER BY a; | 524 SELECT * FROM t1 ORDER BY a; |
| 502 } | 525 } |
| 503 } {1 {t1.e may not be NULL}} | 526 } {1 {NOT NULL constraint failed: t1.e}} |
| 527 verify_ex_errcode notnull-4.10b SQLITE_CONSTRAINT_NOTNULL |
| 504 | 528 |
| 505 # Test that bug 29ab7be99f is fixed. | 529 # Test that bug 29ab7be99f is fixed. |
| 506 # | 530 # |
| 507 do_test notnull-5.1 { | 531 do_test notnull-5.1 { |
| 508 execsql { | 532 execsql { |
| 509 DROP TABLE IF EXISTS t1; | 533 DROP TABLE IF EXISTS t1; |
| 510 CREATE TABLE t1(a, b NOT NULL); | 534 CREATE TABLE t1(a, b NOT NULL); |
| 511 CREATE TABLE t2(c, d); | 535 CREATE TABLE t2(c, d); |
| 512 INSERT INTO t2 VALUES(3, 4); | 536 INSERT INTO t2 VALUES(3, 4); |
| 513 INSERT INTO t2 VALUES(5, NULL); | 537 INSERT INTO t2 VALUES(5, NULL); |
| 514 } | 538 } |
| 515 } {} | 539 } {} |
| 516 do_test notnull-5.2 { | 540 do_test notnull-5.2 { |
| 517 catchsql { | 541 catchsql { |
| 518 INSERT INTO t1 VALUES(1, 2); | 542 INSERT INTO t1 VALUES(1, 2); |
| 519 INSERT INTO t1 SELECT * FROM t2; | 543 INSERT INTO t1 SELECT * FROM t2; |
| 520 } | 544 } |
| 521 } {1 {t1.b may not be NULL}} | 545 } {1 {NOT NULL constraint failed: t1.b}} |
| 546 verify_ex_errcode notnull-5.2b SQLITE_CONSTRAINT_NOTNULL |
| 522 do_test notnull-5.3 { | 547 do_test notnull-5.3 { |
| 523 execsql { SELECT * FROM t1 } | 548 execsql { SELECT * FROM t1 } |
| 524 } {1 2} | 549 } {1 2} |
| 525 do_test notnull-5.4 { | 550 do_test notnull-5.4 { |
| 526 catchsql { | 551 catchsql { |
| 527 DELETE FROM t1; | 552 DELETE FROM t1; |
| 528 BEGIN; | 553 BEGIN; |
| 529 INSERT INTO t1 VALUES(1, 2); | 554 INSERT INTO t1 VALUES(1, 2); |
| 530 INSERT INTO t1 SELECT * FROM t2; | 555 INSERT INTO t1 SELECT * FROM t2; |
| 531 COMMIT; | 556 COMMIT; |
| 532 } | 557 } |
| 533 } {1 {t1.b may not be NULL}} | 558 } {1 {NOT NULL constraint failed: t1.b}} |
| 559 verify_ex_errcode notnull-5.4b SQLITE_CONSTRAINT_NOTNULL |
| 534 do_test notnull-5.5 { | 560 do_test notnull-5.5 { |
| 535 execsql { SELECT * FROM t1 } | 561 execsql { SELECT * FROM t1 } |
| 536 } {1 2} | 562 } {1 2} |
| 537 | 563 |
| 538 finish_test | 564 finish_test |
| 539 | |
| OLD | NEW |