From f7e678d6e9179c6ccac4a369991b0b6e3ac4fe2a Mon Sep 17 00:00:00 2001 From: drh Date: Wed, 21 Jun 2006 19:30:34 +0000 Subject: [PATCH] Make the last_insert_rowid method in the TCL interface work with 64-bit rowids. (CVS 3283) FossilOrigin-Name: d50c37975de7639627422cbed40eb03a431874d5 --- manifest | 16 ++++++++-------- manifest.uuid | 2 +- src/tclsqlite.c | 6 +++--- test/lastinsert.test | 5 +++++ 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/manifest b/manifest index 70a63a9584..ce345daad6 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Add\sthe\sdatabase\sname\sto\sthe\sparameters\spassed\sto\svirtual\stable\smodule\sxCreate\sand\sxConnect\smethods.\s(CVS\s3282) -D 2006-06-21T16:02:43 +C Make\sthe\slast_insert_rowid\smethod\sin\sthe\sTCL\sinterface\swork\swith\n64-bit\srowids.\s(CVS\s3283) +D 2006-06-21T19:30:34 F Makefile.in f839b470345d3cb4b0644068474623fe2464b5d3 F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 @@ -76,7 +76,7 @@ F src/sqlite.h.in 7855b46387f3f6ac1925301f450df9cbd7a1269b F src/sqlite3ext.h e334107f6cad0d00c0414e04189742a45ce916b1 F src/sqliteInt.h d79b031593462dfcbc8c122a5f698a00e6b124fa F src/table.c f64ec4fbfe333f8df925bc6ba494f55e05b0e75e -F src/tclsqlite.c c408a49ae44525fc69757b4ed39f6ca0f56549a5 +F src/tclsqlite.c 32d9e0147077f2e2c127c5f214fb3fe03ef97d18 F src/test1.c 233d5c83d11f34aa1c02eb72011ba9a30b72e078 F src/test2.c ca74a1d8aeb7d9606e8f6b762c5daf85c1a3f92b F src/test3.c 86e99724ee898b119ed575ef9f98618afe7e5e5d @@ -192,7 +192,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 9d7241f562d7adcf61730de83176417d7e30d76b +F test/lastinsert.test 474d519c68cb79d07ecae56a763aa7f322c72f51 F test/laststmtchanges.test 19a6d0c11f7a31dc45465b495f7b845a62cbec17 F test/like.test 5f7d76574752a9101cac13372c8a85999d0d91e6 F test/limit.test 2a87b9cb2165abb49ca0ddcf5cb43cf24074581f @@ -372,7 +372,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513 -P 7dc36d1c798aa8b30b88a528fc9e69b342f278c7 -R 766df509631bed98b63389617990a41e -U danielk1977 -Z e5ccb6373eaa19bb4db62e1fb209d911 +P 2d2805785f473afc202df532df84c45e6f0dc0f1 +R d6693457ff045b088af9dc2f8803cb5d +U drh +Z ebff9741f160eff78cf3357f860940cd diff --git a/manifest.uuid b/manifest.uuid index 6cbc14196b..8be725a07d 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -2d2805785f473afc202df532df84c45e6f0dc0f1 \ No newline at end of file +d50c37975de7639627422cbed40eb03a431874d5 \ No newline at end of file diff --git a/src/tclsqlite.c b/src/tclsqlite.c index 896738db0b..30a3c88a32 100644 --- a/src/tclsqlite.c +++ b/src/tclsqlite.c @@ -11,7 +11,7 @@ ************************************************************************* ** A TCL Interface to SQLite ** -** $Id: tclsqlite.c,v 1.160 2006/06/16 08:01:04 danielk1977 Exp $ +** $Id: tclsqlite.c,v 1.161 2006/06/21 19:30:34 drh Exp $ */ #ifndef NO_TCL /* Omit this whole file if TCL is unavailable */ @@ -1618,14 +1618,14 @@ static int DbObjCmd(void *cd, Tcl_Interp *interp, int objc,Tcl_Obj *const*objv){ */ case DB_LAST_INSERT_ROWID: { Tcl_Obj *pResult; - int rowid; + Tcl_WideInt rowid; if( objc!=2 ){ Tcl_WrongNumArgs(interp, 2, objv, ""); return TCL_ERROR; } rowid = sqlite3_last_insert_rowid(pDb->db); pResult = Tcl_GetObjResult(interp); - Tcl_SetIntObj(pResult, rowid); + Tcl_SetWideIntObj(pResult, rowid); break; } diff --git a/test/lastinsert.test b/test/lastinsert.test index 415ee5ef4c..adeb79860b 100644 --- a/test/lastinsert.test +++ b/test/lastinsert.test @@ -355,6 +355,11 @@ do_test lastinsert-8.1 { } } 5000000000 +do_test lastinsert-9.1 { + db eval {INSERT INTO t2 VALUES(123456789012345,0)} + db last_insert_rowid +} {123456789012345} + } ;# ifcapable (view && trigger)