Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Be sure to hold the database connection mutex while calling sqlite3VdbeExpand() from within sqlite3_expanded_sql(). |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | sqlite3_trace_v2 |
Files: | files | file ages | folders |
SHA1: |
527b5ba68c0b0185958b945b197f9022 |
User & Date: | drh 2016-07-22 20:45:03.857 |
Context
2016-07-23
| ||
00:43 | Fix sqlite3VdbeExpandSql() so that it handles OOMs by always returning NULL. (check-in: 5a027fe412 user: drh tags: sqlite3_trace_v2) | |
2016-07-22
| ||
20:45 | Be sure to hold the database connection mutex while calling sqlite3VdbeExpand() from within sqlite3_expanded_sql(). (check-in: 527b5ba68c user: drh tags: sqlite3_trace_v2) | |
20:20 | Add requirements marks to the sqlite3_expanded_sql() documentation. (check-in: 409535e6df user: drh tags: sqlite3_trace_v2) | |
Changes
Changes to src/vdbeaux.c.
︙ | ︙ | |||
82 83 84 85 86 87 88 89 | ** expanded bound parameters. */ char *sqlite3_expanded_sql(sqlite3_stmt *pStmt){ #ifdef SQLITE_OMIT_TRACE return 0; #else Vdbe *p = (Vdbe *)pStmt; if( p==0 || p->zSql==0 ) return 0; | > > | > > | 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | ** expanded bound parameters. */ char *sqlite3_expanded_sql(sqlite3_stmt *pStmt){ #ifdef SQLITE_OMIT_TRACE return 0; #else Vdbe *p = (Vdbe *)pStmt; char *z; if( p==0 || p->zSql==0 ) return 0; sqlite3_mutex_enter(p->db->mutex); z = sqlite3VdbeExpandSql(p, p->zSql); sqlite3_mutex_leave(p->db->mutex); return z; #endif } /* ** Swap all content between two VDBE structures. */ void sqlite3VdbeSwap(Vdbe *pA, Vdbe *pB){ |
︙ | ︙ |