mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-07 02:42:48 +03:00
Added the last_insert_rowid API function. Improved documentation of
the random ROWID algorithm. (CVS 349) FossilOrigin-Name: f74d61aaf3fec06cde2c4a6f1465f86ac9058ad2
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
*************************************************************************
|
||||
** A TCL Interface to SQLite
|
||||
**
|
||||
** $Id: tclsqlite.c,v 1.28 2001/11/09 13:41:10 drh Exp $
|
||||
** $Id: tclsqlite.c,v 1.29 2002/01/16 21:00:27 drh Exp $
|
||||
*/
|
||||
#ifndef NO_TCL /* Omit this whole file if TCL is unavailable */
|
||||
|
||||
@@ -268,10 +268,10 @@ static int DbObjCmd(void *cd, Tcl_Interp *interp, int objc,Tcl_Obj *const*objv){
|
||||
SqliteDb *pDb = (SqliteDb*)cd;
|
||||
int choice;
|
||||
static char *DB_optStrs[] = {
|
||||
"busy", "close", "complete", "eval", "timeout", 0
|
||||
"busy", "close", "complete", "eval", "last_insert_rowid", "timeout", 0
|
||||
};
|
||||
enum DB_opts {
|
||||
DB_BUSY, DB_CLOSE, DB_COMPLETE, DB_EVAL, DB_TIMEOUT
|
||||
DB_BUSY, DB_CLOSE, DB_COMPLETE, DB_EVAL, DB_LAST_INSERT_ROWID, DB_TIMEOUT
|
||||
};
|
||||
|
||||
if( objc<2 ){
|
||||
@@ -424,6 +424,24 @@ static int DbObjCmd(void *cd, Tcl_Interp *interp, int objc,Tcl_Obj *const*objv){
|
||||
return rc;
|
||||
}
|
||||
|
||||
/*
|
||||
** $db last_insert_rowid
|
||||
**
|
||||
** Return an integer which is the ROWID for the most recent insert.
|
||||
*/
|
||||
case DB_LAST_INSERT_ROWID: {
|
||||
Tcl_Obj *pResult;
|
||||
int rowid;
|
||||
if( objc!=2 ){
|
||||
Tcl_WrongNumArgs(interp, 2, objv, "");
|
||||
return TCL_ERROR;
|
||||
}
|
||||
rowid = sqlite_last_insert_rowid(pDb->db);
|
||||
pResult = Tcl_GetObjResult(interp);
|
||||
Tcl_SetIntObj(pResult, rowid);
|
||||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
** $db timeout MILLESECONDS
|
||||
**
|
||||
|
Reference in New Issue
Block a user