OLD | NEW |
1 # 2001 September 15 | 1 # 2001 September 15 |
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 434 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
445 catchsql { | 445 catchsql { |
446 UPDATE t1 SET a=1, e=9 WHERE f=6; | 446 UPDATE t1 SET a=1, e=9 WHERE f=6; |
447 SELECT * FROM t1; | 447 SELECT * FROM t1; |
448 } | 448 } |
449 } {0 {1 2 3 4 9 6 2 3 4 4 6 7}} | 449 } {0 {1 2 3 4 9 6 2 3 4 4 6 7}} |
450 do_test update-10.3 { | 450 do_test update-10.3 { |
451 catchsql { | 451 catchsql { |
452 UPDATE t1 SET a=1, e=10 WHERE f=7; | 452 UPDATE t1 SET a=1, e=10 WHERE f=7; |
453 SELECT * FROM t1; | 453 SELECT * FROM t1; |
454 } | 454 } |
455 } {1 {PRIMARY KEY must be unique}} | 455 } {1 {UNIQUE constraint failed: t1.a}} |
456 do_test update-10.4 { | 456 do_test update-10.4 { |
457 catchsql { | 457 catchsql { |
458 SELECT * FROM t1; | 458 SELECT * FROM t1; |
459 } | 459 } |
460 } {0 {1 2 3 4 9 6 2 3 4 4 6 7}} | 460 } {0 {1 2 3 4 9 6 2 3 4 4 6 7}} |
461 do_test update-10.5 { | 461 do_test update-10.5 { |
462 catchsql { | 462 catchsql { |
463 UPDATE t1 SET b=2, e=11 WHERE f=6; | 463 UPDATE t1 SET b=2, e=11 WHERE f=6; |
464 SELECT * FROM t1; | 464 SELECT * FROM t1; |
465 } | 465 } |
466 } {0 {1 2 3 4 11 6 2 3 4 4 6 7}} | 466 } {0 {1 2 3 4 11 6 2 3 4 4 6 7}} |
467 do_test update-10.6 { | 467 do_test update-10.6 { |
468 catchsql { | 468 catchsql { |
469 UPDATE t1 SET b=2, e=12 WHERE f=7; | 469 UPDATE t1 SET b=2, e=12 WHERE f=7; |
470 SELECT * FROM t1; | 470 SELECT * FROM t1; |
471 } | 471 } |
472 } {1 {column b is not unique}} | 472 } {1 {UNIQUE constraint failed: t1.b}} |
473 do_test update-10.7 { | 473 do_test update-10.7 { |
474 catchsql { | 474 catchsql { |
475 SELECT * FROM t1; | 475 SELECT * FROM t1; |
476 } | 476 } |
477 } {0 {1 2 3 4 11 6 2 3 4 4 6 7}} | 477 } {0 {1 2 3 4 11 6 2 3 4 4 6 7}} |
478 do_test update-10.8 { | 478 do_test update-10.8 { |
479 catchsql { | 479 catchsql { |
480 UPDATE t1 SET c=3, d=4, e=13 WHERE f=6; | 480 UPDATE t1 SET c=3, d=4, e=13 WHERE f=6; |
481 SELECT * FROM t1; | 481 SELECT * FROM t1; |
482 } | 482 } |
483 } {0 {1 2 3 4 13 6 2 3 4 4 6 7}} | 483 } {0 {1 2 3 4 13 6 2 3 4 4 6 7}} |
484 do_test update-10.9 { | 484 do_test update-10.9 { |
485 catchsql { | 485 catchsql { |
486 UPDATE t1 SET c=3, d=4, e=14 WHERE f=7; | 486 UPDATE t1 SET c=3, d=4, e=14 WHERE f=7; |
487 SELECT * FROM t1; | 487 SELECT * FROM t1; |
488 } | 488 } |
489 } {1 {columns c, d are not unique}} | 489 } {1 {UNIQUE constraint failed: t1.c, t1.d}} |
490 do_test update-10.10 { | 490 do_test update-10.10 { |
491 catchsql { | 491 catchsql { |
492 SELECT * FROM t1; | 492 SELECT * FROM t1; |
493 } | 493 } |
494 } {0 {1 2 3 4 13 6 2 3 4 4 6 7}} | 494 } {0 {1 2 3 4 13 6 2 3 4 4 6 7}} |
495 | 495 |
496 # Make sure we can handle a subquery in the where clause. | 496 # Make sure we can handle a subquery in the where clause. |
497 # | 497 # |
498 ifcapable subquery { | 498 ifcapable subquery { |
499 do_test update-11.1 { | 499 do_test update-11.1 { |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
597 } | 597 } |
598 } {} | 598 } {} |
599 do_test update-14.4 { | 599 do_test update-14.4 { |
600 catchsql { | 600 catchsql { |
601 UPDATE t4 SET a=1; | 601 UPDATE t4 SET a=1; |
602 } | 602 } |
603 } {1 {no such column: nosuchcol}} | 603 } {1 {no such column: nosuchcol}} |
604 | 604 |
605 } ;# ifcapable {trigger} | 605 } ;# ifcapable {trigger} |
606 | 606 |
| 607 # Ticket [https://www.sqlite.org/src/tktview/43107840f1c02] on 2014-10-29 |
| 608 # An assertion fault on UPDATE |
| 609 # |
| 610 do_execsql_test update-15.1 { |
| 611 CREATE TABLE t15(a INTEGER PRIMARY KEY, b); |
| 612 INSERT INTO t15(a,b) VALUES(10,'abc'),(20,'def'),(30,'ghi'); |
| 613 ALTER TABLE t15 ADD COLUMN c; |
| 614 CREATE INDEX t15c ON t15(c); |
| 615 INSERT INTO t15(a,b) |
| 616 VALUES(5,'zyx'),(15,'wvu'),(25,'tsr'),(35,'qpo'); |
| 617 UPDATE t15 SET c=printf("y%d",a) WHERE c IS NULL; |
| 618 SELECT a,b,c,'|' FROM t15 ORDER BY a; |
| 619 } {5 zyx y5 | 10 abc y10 | 15 wvu y15 | 20 def y20 | 25 tsr y25 | 30 ghi y30 | 3
5 qpo y35 |} |
| 620 |
607 | 621 |
608 finish_test | 622 finish_test |
OLD | NEW |