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 |