]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Preserve 64-bit last insert rowids across triggers. (CVS 2779)
authordrh <drh@noemail.net>
Fri, 25 Nov 2005 02:43:50 +0000 (02:43 +0000)
committerdrh <drh@noemail.net>
Fri, 25 Nov 2005 02:43:50 +0000 (02:43 +0000)
FossilOrigin-Name: 4dd7cfaa587fd5f76a0b60db0f02d5f57f801564

manifest
manifest.uuid
src/vdbeInt.h
test/lastinsert.test

index 87df26e4e47c7e53a53409277759782395b03068..089d1fdaac13219898851e0fea1b6605179c64d9 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C The\s--enable-cross-thread-connect\sconfiguration\soption\sor\sthe\n-DSQLITE_ALLOW_XTHREAD_CONNECT\scompile-time\soption\spermits\sdatabase\nconnections\sto\sbe\smoved\sacross\sthreads.\s\sThis\swill\scause\slatch-ups\nand\sfailures\son\ssome\slinux\ssystems\ssuch\sas\sRedHat-9.\s\sDo\snot\suse\sthese\noptions\sif\syou\swant\sa\sportable\sbuild.\s(CVS\s2778)
-D 2005-11-24T23:14:01
+C Preserve\s64-bit\slast\sinsert\srowids\sacross\striggers.\s(CVS\s2779)
+D 2005-11-25T02:43:51
 F Makefile.in 7bed51530f32af7fe1945261c388d80998b39a12
 F Makefile.linux-gcc aee18d8a05546dcf1888bd4547e442008a49a092
 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -84,7 +84,7 @@ F src/util.c 48fecbbef4391d102a23096d32f0d74173428406
 F src/vacuum.c baae8681282c7a03900043043dc7ce07d43b5a1e
 F src/vdbe.c f90a0fff5dac2ae11f880fb54e78132640199c44
 F src/vdbe.h 8729a4ee16ff9aeab2af9667df3cf300ff978e13
-F src/vdbeInt.h 7824d7be3b659ad177c8f151d9612b45b1805878
+F src/vdbeInt.h 0055c37eccbf3a189fd893a90f8eb6a5fa60c871
 F src/vdbeapi.c 85bbe1d0243a89655433d60711b4bd71979b59cd
 F src/vdbeaux.c eb5f7185a4a714b352c0b6dc804ad3180e03ec06
 F src/vdbefifo.c 9efb94c8c3f4c979ebd0028219483f88e57584f5
@@ -167,7 +167,7 @@ F test/join3.test 6f0c774ff1ba0489e6c88a3e77b9d3528fb4fda0
 F test/join4.test 1a352e4e267114444c29266ce79e941af5885916
 F test/join5.test 2646825693a6e066ea89b498176d4a68df45ab68
 F test/journal1.test 36f2d1bb9bf03f790f43fbdb439e44c0657fab19
-F test/lastinsert.test eaa89c6ee1f13062d87139fd32c1e56753d2fd89
+F test/lastinsert.test 9d7241f562d7adcf61730de83176417d7e30d76b
 F test/laststmtchanges.test 19a6d0c11f7a31dc45465b495f7b845a62cbec17
 F test/like.test 145382e6a1f3d2edf266ca7d0236ab1b7c0ba66f
 F test/limit.test 39f084f4e5f11e0b984cb517b56867cbf88df156
@@ -321,7 +321,7 @@ F www/tclsqlite.tcl ddcf912ea48695603c8ed7efb29f0812ef8d1b49
 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
 F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b
 F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
-P ab76453553bea7c2371b35e7643a98967bb04582
-R 0b4af885de2ca817be0934b37ce5ef2d
+P 84aa4d58001ed943295f21f429c58c3c99b771d8
+R 70d5788f0bbefc851ca5be71e587e730
 U drh
-Z c8c6cacd38c20efbd6914c121908cdb8
+Z 95428906cd2e78e3ce76462c301ac152
index df862bea31a6996ff9399c62ef4fe22432dd304d..4bb1240f9694bbdd1b6675b5076ab1f69cee9d8e 100644 (file)
@@ -1 +1 @@
-84aa4d58001ed943295f21f429c58c3c99b771d8
\ No newline at end of file
+4dd7cfaa587fd5f76a0b60db0f02d5f57f801564
\ No newline at end of file
index 46584986d4860b5e534114e90ad56569067eff2a..a4db1f73af8c865ae2cf8f2986df171b2dff63bf 100644 (file)
@@ -250,7 +250,7 @@ struct Fifo {
 */
 typedef struct Context Context;
 struct Context {
-  int lastRowid;    /* Last insert rowid (sqlite3.lastRowid) */
+  i64 lastRowid;    /* Last insert rowid (sqlite3.lastRowid) */
   int nChange;      /* Statement changes (Vdbe.nChanges)     */
   Fifo sFifo;       /* Records that will participate in a DELETE or UPDATE */
 };
index 35f1ba66022b78c2b0f762b957d6508c032c8b9c..415ee5ef4c161362016e106650913257311f9af9 100644 (file)
@@ -341,6 +341,21 @@ do_test lastinsert-7.6 {
     }
 } {0 1205}
 
+do_test lastinsert-8.1 {
+  db close
+  sqlite3 db test.db
+  execsql {
+    CREATE TABLE t2(x INTEGER PRIMARY KEY, y);
+    CREATE TABLE t3(a, b);
+    CREATE TRIGGER after_t2 AFTER INSERT ON t2 BEGIN
+      INSERT INTO t3 VALUES(new.x, new.y);
+    END;
+    INSERT INTO t2 VALUES(5000000000, 1);
+    SELECT last_insert_rowid();
+  }
+} 5000000000
+
+
 } ;# ifcapable (view && trigger)
 
 finish_test