| Index: third_party/sqlite/src/test/insert.test
|
| diff --git a/third_party/sqlite/src/test/insert.test b/third_party/sqlite/src/test/insert.test
|
| index 9ea9cd727d52802a7be0c05a5bd31c5932141c46..cb675b90d166685377a5cc29f9be4667fe9b86c0 100644
|
| --- a/third_party/sqlite/src/test/insert.test
|
| +++ b/third_party/sqlite/src/test/insert.test
|
| @@ -386,6 +386,56 @@ do_test insert-9.2 {
|
| }
|
| } {1 1 2 2 3 3 12 101 13 102 16 103}
|
|
|
| +# Multiple VALUES clauses
|
| +#
|
| +ifcapable compound {
|
| + do_test insert-10.1 {
|
| + execsql {
|
| + CREATE TABLE t10(a,b,c);
|
| + INSERT INTO t10 VALUES(1,2,3), (4,5,6), (7,8,9);
|
| + SELECT * FROM t10;
|
| + }
|
| + } {1 2 3 4 5 6 7 8 9}
|
| + do_test insert-10.2 {
|
| + catchsql {
|
| + INSERT INTO t10 VALUES(11,12,13), (14,15), (16,17,28);
|
| + }
|
| + } {1 {all VALUES must have the same number of terms}}
|
| +}
|
| +
|
| +# Need for the OP_SoftNull opcode
|
| +#
|
| +do_execsql_test insert-11.1 {
|
| + CREATE TABLE t11a AS SELECT '123456789' AS x;
|
| + CREATE TABLE t11b (a INTEGER PRIMARY KEY, b, c);
|
| + INSERT INTO t11b SELECT x, x, x FROM t11a;
|
| + SELECT quote(a), quote(b), quote(c) FROM t11b;
|
| +} {123456789 '123456789' '123456789'}
|
| +
|
| +
|
| +# More columns of input than there are columns in the table.
|
| +# Ticket http://www.sqlite.org/src/info/e9654505cfda9361
|
| +#
|
| +do_execsql_test insert-12.1 {
|
| + CREATE TABLE t12a(a,b,c,d,e,f,g);
|
| + INSERT INTO t12a VALUES(101,102,103,104,105,106,107);
|
| + CREATE TABLE t12b(x);
|
| + INSERT INTO t12b(x,rowid,x,x,x,x,x) SELECT * FROM t12a;
|
| + SELECT rowid, x FROM t12b;
|
| +} {102 101}
|
| +do_execsql_test insert-12.2 {
|
| + CREATE TABLE tab1( value INTEGER);
|
| + INSERT INTO tab1 (value, _rowid_) values( 11, 1);
|
| + INSERT INTO tab1 (value, _rowid_) SELECT 22,999;
|
| + SELECT * FROM tab1;
|
| +} {11 22}
|
| +do_execsql_test insert-12.3 {
|
| + CREATE TABLE t12c(a, b DEFAULT 'xyzzy', c);
|
| + INSERT INTO t12c(a, rowid, c) SELECT 'one', 999, 'two';
|
| + SELECT * FROM t12c;
|
| +} {one xyzzy two}
|
| +
|
| +
|
| integrity_check insert-99.0
|
|
|
| finish_test
|
|
|