| 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 |