Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch named-blob-I/O Excluding Merge-Ins
This is equivalent to a diff from a874c649 to 2a1cc632
2019-05-07
| ||
02:57 | Add the exprNodeCopy() routine that will safely memcpy() an Expr node that might be a size-reduced node. (Leaf check-in: ab2ba8e7 user: drh tags: expr-node-copy-patch) | |
2019-01-06
| ||
02:06 | The page size becomes fixed as soon as page1 from a non-empty database file is read. (check-in: 6064584d user: drh tags: trunk) | |
01:46 | Give symbolic names to the special prepared statements used to implement incremental blob I/O. (Leaf check-in: 2a1cc632 user: drh tags: named-blob-I/O) | |
2019-01-05
| ||
21:56 | Add the exprNodeCopy() routine that will safely memcpy() an Expr node that might be a size-reduced node. (check-in: a874c649 user: drh tags: trunk) | |
21:09 | If the OP_ParseSchema opcode with a non-NULL P4 operand does not parse any rows out of the sqlite_master table, that indicates that the sqlite_master table is corrupt, so raise an SQLITE_CORRUPT error. (check-in: 598d7358 user: drh tags: trunk) | |
Changes to src/vdbeblob.c.
︙ | ︙ | |||
268 269 270 271 272 273 274 275 276 277 278 279 280 281 | {OP_Column, 0, 0, 1}, /* 3 */ {OP_ResultRow, 1, 0, 0}, /* 4 */ {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, pTab->pSchema->schema_cookie, pTab->pSchema->iGeneration); sqlite3VdbeChangeP5(v, 1); assert( sqlite3VdbeCurrentAddr(v)==2 || db->mallocFailed ); aOp = sqlite3VdbeAddOpList(v, ArraySize(openBlob), openBlob, iLn); | > > > > > > > > > > | 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 | {OP_Column, 0, 0, 1}, /* 3 */ {OP_ResultRow, 1, 0, 0}, /* 4 */ {OP_Halt, 0, 0, 0}, /* 5 */ }; Vdbe *v = (Vdbe *)pBlob->pStmt; int iDb = sqlite3SchemaToIndex(db, pTab->pSchema); VdbeOp *aOp; #ifdef SQLITE_DEBUG char *zName; zName = sqlite3MPrintf(db, "-- sqlite3_blob_open(%s,%s,%s)", zDb, zTable, zColumn); if( zName ){ sqlite3VdbeSetSql(v, zName, (int)strlen(zName), 0); sqlite3DbFree(db, zName); } #endif sqlite3VdbeAddOp4Int(v, OP_Transaction, iDb, wrFlag, pTab->pSchema->schema_cookie, pTab->pSchema->iGeneration); sqlite3VdbeChangeP5(v, 1); assert( sqlite3VdbeCurrentAddr(v)==2 || db->mallocFailed ); aOp = sqlite3VdbeAddOpList(v, ArraySize(openBlob), openBlob, iLn); |
︙ | ︙ |