-C Version\s2.5.1\s(CVS\s629)
-D 2002-06-19T14:27:23
+C Fix\sfor\sticket\s#75:\sAutoincrement\sINTEGER\sPRIMARY\sKEY\sfields\son\san\sINSERT\neven\sif\sthe\sdata\sis\scoming\sfrom\sa\sSELECT\sstatement.\s(CVS\s630)
+D 2002-06-19T20:32:44
F Makefile.in 6291a33b87d2a395aafd7646ee1ed562c6f2c28c
F Makefile.template 4e11752e0b5c7a043ca50af4296ec562857ba495
F README a4c0ba11354ef6ba0776b400d057c59da47a4cc0
F src/func.c b8d0fd3011f53ea0e46b6bab857612eb36b5d1ea
F src/hash.c 6a6236b89c8c060c65dabd300a1c8ce7c10edb72
F src/hash.h cd0433998bc1a3759d244e1637fe5a3c13b53bf8
-F src/insert.c 3a90bb98cd246f88cc26c44f24d5b47760bc5cba
+F src/insert.c 4bb40ed9dbaba4516fc2abbcff3f08d5687b073c
F src/main.c 07f56387147f00e69eea7cea369071452bc4706f
F src/md5.c 0ae1f3e2cac92d06fc6246d1b4b8f61a2fe66d3b
F src/os.c 9cc40c5384baba4a85e160e67807645ca98ba3cc
F test/index.test c8a471243bbf878974b99baf5badd59407237cf3
F test/insert.test 58d44c19b3557f67f4aeb5110ed9ef02038c3684
F test/insert2.test eb8481878a7f52ccb4e3346f87550f5afdd77f76
-F test/intpkey.test 31b5f28b2c44273e6695cf36ab2e4133aee7753c
+F test/intpkey.test 69a6a9b41e541f27a2ffcd20264fb35adc3c2680
F test/ioerr.test 57d9bffaca18b34f9e976f786eadc2591d6efc6a
F test/join.test ea6a4097e4fcebbb16eac7ec819569e759336a74
F test/limit.test 96b33e108e134b5cc674a660064229d15fa278b9
F www/sqlite.tcl 8b5884354cb615049aed83039f8dfe1552a44279
F www/tclsqlite.tcl 1db15abeb446aad0caf0b95b8b9579720e4ea331
F www/vdbe.tcl 2013852c27a02a091d39a766bc87cff329f21218
-P f09e19b43ef61073713cf32282c90ea666229eba
-R e3b8c707333c1ebbf7616bf0a643f3ed
+P 5e8a3131aba25e22f3e25b9b1c051019381f11d1
+R 524db4044083fd865802aa3a7659d610
U drh
-Z 8383f6bd0a1652a6736946631d343146
+Z 7f1cd27c410e1c7fc4e1a09a08e84965
-5e8a3131aba25e22f3e25b9b1c051019381f11d1
\ No newline at end of file
+d599f75b659809a6e5eee09b0e9e6e90bde5af1e
\ No newline at end of file
** This file contains C code routines that are called by the parser
** to handle INSERT statements in SQLite.
**
-** $Id: insert.c,v 1.61 2002/06/11 02:25:42 danielk1977 Exp $
+** $Id: insert.c,v 1.62 2002/06/19 20:32:44 drh Exp $
*/
#include "sqliteInt.h"
sqliteVdbeAddOp(v, OP_Column, srcTab, keyColumn);
}else{
sqliteExprCode(pParse, pList->a[keyColumn].pExpr);
-
- /* If the PRIMARY KEY expression is NULL, then use OP_NewRecno
- ** to generate a unique primary key value.
- */
- sqliteVdbeAddOp(v, OP_NotNull, -1, sqliteVdbeCurrentAddr(v)+3);
- sqliteVdbeAddOp(v, OP_Pop, 1, 0);
- sqliteVdbeAddOp(v, OP_NewRecno, base, 0);
}
+ /* If the PRIMARY KEY expression is NULL, then use OP_NewRecno
+ ** to generate a unique primary key value.
+ */
+ sqliteVdbeAddOp(v, OP_NotNull, -1, sqliteVdbeCurrentAddr(v)+3);
+ sqliteVdbeAddOp(v, OP_Pop, 1, 0);
+ sqliteVdbeAddOp(v, OP_NewRecno, base, 0);
sqliteVdbeAddOp(v, OP_MustBeInt, 0, 0);
}else{
sqliteVdbeAddOp(v, OP_NewRecno, base, 0);
# This file implements tests for the special processing associated
# with INTEGER PRIMARY KEY columns.
#
-# $Id: intpkey.test,v 1.9 2002/03/31 18:29:03 drh Exp $
+# $Id: intpkey.test,v 1.10 2002/06/19 20:32:45 drh Exp $
set testdir [file dirname $argv0]
source $testdir/tester.tcl
SELECT * from t2 WHERE x=2;
}
} {2 2 3}
+do_test intpkey-10.3 {
+ execsql {
+ INSERT INTO t2 SELECT NULL, z, y FROM t2;
+ SELECT * FROM t2;
+ }
+} {1 1 2 2 2 3 3 2 1 4 3 2}
finish_test