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)
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

View File

@ -1 +1 @@
2d2805785f473afc202df532df84c45e6f0dc0f1
d50c37975de7639627422cbed40eb03a431874d5

View File

@ -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;
}

View File

@ -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)