diff options
author | drh <drh@noemail.net> | 2016-02-02 02:22:30 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2016-02-02 02:22:30 +0000 |
commit | 33c1eb64772caf48a33d92e1a3c5a577c9ba1aa9 (patch) | |
tree | e820c4a4276381c4c71f8cf891e75dc67302fa8b /src/tclsqlite.c | |
parent | e1ed0bb6077cc223fa54f58ae835f133d1c4aa59 (diff) | |
parent | b8db549832d2acc2fc30327e6fb5c0474820f122 (diff) | |
download | sqlite-33c1eb64772caf48a33d92e1a3c5a577c9ba1aa9.tar.gz sqlite-33c1eb64772caf48a33d92e1a3c5a577c9ba1aa9.zip |
Merge all recent enhancements from trunk.
FossilOrigin-Name: f3f9200115caf4b356f90ec97c351d1afbcb9bf6
Diffstat (limited to 'src/tclsqlite.c')
-rw-r--r-- | src/tclsqlite.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/tclsqlite.c b/src/tclsqlite.c index 38a1b6adc..9da77e268 100644 --- a/src/tclsqlite.c +++ b/src/tclsqlite.c @@ -154,6 +154,7 @@ struct SqliteDb { IncrblobChannel *pIncrblob;/* Linked list of open incrblob channels */ int nStep, nSort, nIndex; /* Statistics for most recent operation */ int nTransaction; /* Number of nested [transaction] methods */ + int openFlags; /* Flags used to open. (SQLITE_OPEN_URI) */ #ifdef SQLITE_TEST int bLegacyPrepare; /* True to use sqlite3_prepare() */ #endif @@ -1835,7 +1836,8 @@ static int DbObjCmd(void *cd, Tcl_Interp *interp, int objc,Tcl_Obj *const*objv){ Tcl_WrongNumArgs(interp, 2, objv, "?DATABASE? FILENAME"); return TCL_ERROR; } - rc = sqlite3_open(zDestFile, &pDest); + rc = sqlite3_open_v2(zDestFile, &pDest, + SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE| pDb->openFlags, 0); if( rc!=SQLITE_OK ){ Tcl_AppendResult(interp, "cannot open target database: ", sqlite3_errmsg(pDest), (char*)0); @@ -2698,7 +2700,8 @@ static int DbObjCmd(void *cd, Tcl_Interp *interp, int objc,Tcl_Obj *const*objv){ Tcl_WrongNumArgs(interp, 2, objv, "?DATABASE? FILENAME"); return TCL_ERROR; } - rc = sqlite3_open_v2(zSrcFile, &pSrc, SQLITE_OPEN_READONLY, 0); + rc = sqlite3_open_v2(zSrcFile, &pSrc, + SQLITE_OPEN_READONLY | pDb->openFlags, 0); if( rc!=SQLITE_OK ){ Tcl_AppendResult(interp, "cannot open source database: ", sqlite3_errmsg(pSrc), (char*)0); @@ -3234,6 +3237,7 @@ static int DbMain(void *cd, Tcl_Interp *interp, int objc,Tcl_Obj *const*objv){ return TCL_ERROR; } p->maxStmt = NUM_PREPARED_STMTS; + p->openFlags = flags & SQLITE_OPEN_URI; p->interp = interp; zArg = Tcl_GetStringFromObj(objv[1], 0); if( DbUseNre() ){ |