diff options
author | danielk1977 <danielk1977@noemail.net> | 2005-01-25 04:27:54 +0000 |
---|---|---|
committer | danielk1977 <danielk1977@noemail.net> | 2005-01-25 04:27:54 +0000 |
commit | 9636c4e102faefacb28423c310f4a46dbcbddcc9 (patch) | |
tree | 915a805b38aea0cb32222914c99205d5a560577f /src/tclsqlite.c | |
parent | 86c4948198f9dd057a63a62193730ed3a8d468b5 (diff) | |
download | sqlite-9636c4e102faefacb28423c310f4a46dbcbddcc9.tar.gz sqlite-9636c4e102faefacb28423c310f4a46dbcbddcc9.zip |
Prevent collation sequences and user functions from being deleted or changed while SQL statements are executing. (CVS 2275)
FossilOrigin-Name: cabab62bc10568d435806a7059fad7274f0dd4c8
Diffstat (limited to 'src/tclsqlite.c')
-rw-r--r-- | src/tclsqlite.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/tclsqlite.c b/src/tclsqlite.c index dc05eab0a..a5ef6106c 100644 --- a/src/tclsqlite.c +++ b/src/tclsqlite.c @@ -11,7 +11,7 @@ ************************************************************************* ** A TCL Interface to SQLite ** -** $Id: tclsqlite.c,v 1.117 2005/01/24 10:25:59 danielk1977 Exp $ +** $Id: tclsqlite.c,v 1.118 2005/01/25 04:27:55 danielk1977 Exp $ */ #ifndef NO_TCL /* Omit this whole file if TCL is unavailable */ @@ -696,6 +696,7 @@ static int DbObjCmd(void *cd, Tcl_Interp *interp, int objc,Tcl_Obj *const*objv){ strcpy(pCollate->zScript, zScript); if( sqlite3_create_collation(pDb->db, zName, SQLITE_UTF8, pCollate, tclSqlCollate) ){ + Tcl_SetResult(interp, (char *)sqlite3_errmsg(pDb->db), TCL_VOLATILE); return TCL_ERROR; } break; @@ -1128,7 +1129,8 @@ static int DbObjCmd(void *cd, Tcl_Interp *interp, int objc,Tcl_Obj *const*objv){ rc = sqlite3_create_function(pDb->db, zName, -1, SQLITE_UTF8, pFunc, tclSqlFunc, 0, 0); if( rc!=SQLITE_OK ){ - rc = TCL_ERROR; + rc = TCL_ERROR; + Tcl_SetResult(interp, (char *)sqlite3_errmsg(pDb->db), TCL_VOLATILE); }else{ /* Must flush any cached statements */ flushStmtCache( pDb ); |