| Index: third_party/sqlite/src/tool/genfkey.test
 | 
| diff --git a/third_party/sqlite/src/tool/genfkey.test b/third_party/sqlite/src/tool/genfkey.test
 | 
| index e1011d62f1f3f525775c9dab840e8f6367441e83..3c0073e953dc0a2e60b421181b631c3bcaa37b96 100644
 | 
| --- a/third_party/sqlite/src/tool/genfkey.test
 | 
| +++ b/third_party/sqlite/src/tool/genfkey.test
 | 
| @@ -292,3 +292,63 @@ do_test genfkey-5.5 {
 | 
|    }
 | 
|  } {0 {}}
 | 
|  
 | 
| +# Test also column names that require quoting.
 | 
| +do_test genfkey-6.1 {
 | 
| +  execsql {
 | 
| +    DROP TABLE "t.3";
 | 
| +    DROP TABLE t13;
 | 
| +    CREATE TABLE p(
 | 
| +      "a.1 first", "b.2 second", 
 | 
| +      UNIQUE("a.1 first", "b.2 second")
 | 
| +    );
 | 
| +    CREATE TABLE c(
 | 
| +      "c.1 I", "d.2 II", 
 | 
| +        FOREIGN KEY("c.1 I", "d.2 II") 
 | 
| +        REFERENCES p("a.1 first", "b.2 second")
 | 
| +        ON UPDATE CASCADE ON DELETE CASCADE
 | 
| +    );
 | 
| +  }
 | 
| +} {}
 | 
| +do_test genfkey-6.2 {
 | 
| +  set rc [catch {exec ./sqlite3 test.db .genfkey} msg]
 | 
| +} {0}
 | 
| +do_test genfkey-6.3 {
 | 
| +  execsql $msg
 | 
| +  execsql {
 | 
| +    INSERT INTO p VALUES('A', 'B');
 | 
| +    INSERT INTO p VALUES('C', 'D');
 | 
| +    INSERT INTO c VALUES('A', 'B');
 | 
| +    INSERT INTO c VALUES('C', 'D');
 | 
| +    UPDATE p SET "a.1 first" = 'X' WHERE rowid = 1;
 | 
| +    DELETE FROM p WHERE rowid = 2;
 | 
| +  }
 | 
| +  execsql { SELECT * FROM c }
 | 
| +} {X B}
 | 
| +
 | 
| +do_test genfkey-6.4 {
 | 
| +  execsql {
 | 
| +    DROP TABLE p;
 | 
| +    DROP TABLE c;
 | 
| +    CREATE TABLE parent("a.1", PRIMARY KEY("a.1"));
 | 
| +    CREATE TABLE child("b.2", FOREIGN KEY("b.2") REFERENCES parent("a.1"));
 | 
| +  }
 | 
| +  set rc [catch {exec ./sqlite3 test.db .genfkey} msg]
 | 
| +} {0}
 | 
| +do_test genfkey-6.5 {
 | 
| +  execsql $msg
 | 
| +  execsql {
 | 
| +    INSERT INTO parent VALUES(1);
 | 
| +    INSERT INTO child VALUES(1);
 | 
| +  }
 | 
| +  catchsql { UPDATE parent SET "a.1"=0 }
 | 
| +} {1 {constraint failed}}
 | 
| +do_test genfkey-6.6 {
 | 
| +  catchsql { UPDATE child SET "b.2"=7 }
 | 
| +} {1 {constraint failed}}
 | 
| +do_test genfkey-6.7 {
 | 
| +  execsql {
 | 
| +    SELECT * FROM parent;
 | 
| +    SELECT * FROM child;
 | 
| +  }
 | 
| +} {1 1}
 | 
| +
 | 
| 
 |