diff options
author | stephan <stephan@noemail.net> | 2025-03-14 11:14:52 +0000 |
---|---|---|
committer | stephan <stephan@noemail.net> | 2025-03-14 11:14:52 +0000 |
commit | 5390f95f071ae83d2d89742b7a94ec1bfec6f6ff (patch) | |
tree | 3eba9019d68ded8463afa908365f262326ede5d9 /src/vdbeblob.c | |
parent | 69eaadbee3dc5912aba995288bfb20eeeb1222e6 (diff) | |
parent | 1560045c328e5dc3b9a09e9c975b8626f984ef4f (diff) | |
download | sqlite-5390f95f071ae83d2d89742b7a94ec1bfec6f6ff.tar.gz sqlite-5390f95f071ae83d2d89742b7a94ec1bfec6f6ff.zip |
Minor doc corrections for the sahpool-digest fix and merge in current trunk.
FossilOrigin-Name: 500f2e6ec74b4c0e4ac0365ba4e0d81ed6df8dd09dc0f8af65d294c3453f8865
Diffstat (limited to 'src/vdbeblob.c')
-rw-r--r-- | src/vdbeblob.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/vdbeblob.c b/src/vdbeblob.c index 79698d0af..42edcf7de 100644 --- a/src/vdbeblob.c +++ b/src/vdbeblob.c @@ -133,6 +133,7 @@ int sqlite3_blob_open( char *zErr = 0; Table *pTab; Incrblob *pBlob = 0; + int iDb; Parse sParse; #ifdef SQLITE_ENABLE_API_ARMOR @@ -178,7 +179,10 @@ int sqlite3_blob_open( sqlite3ErrorMsg(&sParse, "cannot open view: %s", zTable); } #endif - if( !pTab ){ + if( pTab==0 + || ((iDb = sqlite3SchemaToIndex(db, pTab->pSchema))==1 && + sqlite3OpenTempDatabase(&sParse)) + ){ if( sParse.zErrMsg ){ sqlite3DbFree(db, zErr); zErr = sParse.zErrMsg; @@ -189,7 +193,7 @@ int sqlite3_blob_open( goto blob_open_out; } pBlob->pTab = pTab; - pBlob->zDb = db->aDb[sqlite3SchemaToIndex(db, pTab->pSchema)].zDbSName; + pBlob->zDb = db->aDb[iDb].zDbSName; /* Now search pTab for the exact column. */ iCol = sqlite3ColumnIndex(pTab, zColumn); @@ -273,7 +277,6 @@ int sqlite3_blob_open( {OP_Halt, 0, 0, 0}, /* 5 */ }; Vdbe *v = (Vdbe *)pBlob->pStmt; - int iDb = sqlite3SchemaToIndex(db, pTab->pSchema); VdbeOp *aOp; sqlite3VdbeAddOp4Int(v, OP_Transaction, iDb, wrFlag, |