Make the last_insert_rowid method in the TCL interface work with

64-bit rowids. (CVS 3283)

FossilOrigin-Name: d50c37975de7639627422cbed40eb03a431874d5
This commit is contained in:
drh 2006-06-21 19:30:34 +00:00
parent 70ba164098
commit f7e678d6e9
4 changed files with 17 additions and 12 deletions

View File

@ -1,5 +1,5 @@
C Add\sthe\sdatabase\sname\sto\sthe\sparameters\spassed\sto\svirtual\stable\smodule\sxCreate\sand\sxConnect\smethods.\s(CVS\s3282) C Make\sthe\slast_insert_rowid\smethod\sin\sthe\sTCL\sinterface\swork\swith\n64-bit\srowids.\s(CVS\s3283)
D 2006-06-21T16:02:43 D 2006-06-21T19:30:34
F Makefile.in f839b470345d3cb4b0644068474623fe2464b5d3 F Makefile.in f839b470345d3cb4b0644068474623fe2464b5d3
F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935 F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@ -76,7 +76,7 @@ F src/sqlite.h.in 7855b46387f3f6ac1925301f450df9cbd7a1269b
F src/sqlite3ext.h e334107f6cad0d00c0414e04189742a45ce916b1 F src/sqlite3ext.h e334107f6cad0d00c0414e04189742a45ce916b1
F src/sqliteInt.h d79b031593462dfcbc8c122a5f698a00e6b124fa F src/sqliteInt.h d79b031593462dfcbc8c122a5f698a00e6b124fa
F src/table.c f64ec4fbfe333f8df925bc6ba494f55e05b0e75e F src/table.c f64ec4fbfe333f8df925bc6ba494f55e05b0e75e
F src/tclsqlite.c c408a49ae44525fc69757b4ed39f6ca0f56549a5 F src/tclsqlite.c 32d9e0147077f2e2c127c5f214fb3fe03ef97d18
F src/test1.c 233d5c83d11f34aa1c02eb72011ba9a30b72e078 F src/test1.c 233d5c83d11f34aa1c02eb72011ba9a30b72e078
F src/test2.c ca74a1d8aeb7d9606e8f6b762c5daf85c1a3f92b F src/test2.c ca74a1d8aeb7d9606e8f6b762c5daf85c1a3f92b
F src/test3.c 86e99724ee898b119ed575ef9f98618afe7e5e5d F src/test3.c 86e99724ee898b119ed575ef9f98618afe7e5e5d
@ -192,7 +192,7 @@ F test/join3.test 6f0c774ff1ba0489e6c88a3e77b9d3528fb4fda0
F test/join4.test 1a352e4e267114444c29266ce79e941af5885916 F test/join4.test 1a352e4e267114444c29266ce79e941af5885916
F test/join5.test 2646825693a6e066ea89b498176d4a68df45ab68 F test/join5.test 2646825693a6e066ea89b498176d4a68df45ab68
F test/journal1.test 36f2d1bb9bf03f790f43fbdb439e44c0657fab19 F test/journal1.test 36f2d1bb9bf03f790f43fbdb439e44c0657fab19
F test/lastinsert.test 9d7241f562d7adcf61730de83176417d7e30d76b F test/lastinsert.test 474d519c68cb79d07ecae56a763aa7f322c72f51
F test/laststmtchanges.test 19a6d0c11f7a31dc45465b495f7b845a62cbec17 F test/laststmtchanges.test 19a6d0c11f7a31dc45465b495f7b845a62cbec17
F test/like.test 5f7d76574752a9101cac13372c8a85999d0d91e6 F test/like.test 5f7d76574752a9101cac13372c8a85999d0d91e6
F test/limit.test 2a87b9cb2165abb49ca0ddcf5cb43cf24074581f F test/limit.test 2a87b9cb2165abb49ca0ddcf5cb43cf24074581f
@ -372,7 +372,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513 F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
P 7dc36d1c798aa8b30b88a528fc9e69b342f278c7 P 2d2805785f473afc202df532df84c45e6f0dc0f1
R 766df509631bed98b63389617990a41e R d6693457ff045b088af9dc2f8803cb5d
U danielk1977 U drh
Z e5ccb6373eaa19bb4db62e1fb209d911 Z ebff9741f160eff78cf3357f860940cd

View File

@ -1 +1 @@
2d2805785f473afc202df532df84c45e6f0dc0f1 d50c37975de7639627422cbed40eb03a431874d5

View File

@ -11,7 +11,7 @@
************************************************************************* *************************************************************************
** A TCL Interface to SQLite ** 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 */ #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: { case DB_LAST_INSERT_ROWID: {
Tcl_Obj *pResult; Tcl_Obj *pResult;
int rowid; Tcl_WideInt rowid;
if( objc!=2 ){ if( objc!=2 ){
Tcl_WrongNumArgs(interp, 2, objv, ""); Tcl_WrongNumArgs(interp, 2, objv, "");
return TCL_ERROR; return TCL_ERROR;
} }
rowid = sqlite3_last_insert_rowid(pDb->db); rowid = sqlite3_last_insert_rowid(pDb->db);
pResult = Tcl_GetObjResult(interp); pResult = Tcl_GetObjResult(interp);
Tcl_SetIntObj(pResult, rowid); Tcl_SetWideIntObj(pResult, rowid);
break; break;
} }

View File

@ -355,6 +355,11 @@ do_test lastinsert-8.1 {
} }
} 5000000000 } 5000000000
do_test lastinsert-9.1 {
db eval {INSERT INTO t2 VALUES(123456789012345,0)}
db last_insert_rowid
} {123456789012345}
} ;# ifcapable (view && trigger) } ;# ifcapable (view && trigger)