Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | If an error (OOM or SQLITE_FULL error) occurs while executing an SQL statement and a statement-transaction is automatically rolled back as a result, if a second error occurs during the statement rollback do a full transaction rollback instead. Otherwise the client can be left with an inconsistent cache. This can affect both WAL and rollback modes. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
eb80ddc665132c607c258b59131025a2 |
User & Date: | dan 2010-06-03 09:17:38.000 |
Original Comment: | If an error (OOM or SQLITE_FULL error) occurs while executing an SQL statement and a statement-transaction is automatically rolled back as a result, if a second error occurs during the statement rollback do a full transaction rollback instead. Otherwise the client can be left with an inconsistent cache. |
Context
2010-06-03
| ||
09:25 | Enhancements to test_vfs.c and walfault.test. (check-in: ac0de2f39e user: dan tags: trunk) | |
09:17 | If an error (OOM or SQLITE_FULL error) occurs while executing an SQL statement and a statement-transaction is automatically rolled back as a result, if a second error occurs during the statement rollback do a full transaction rollback instead. Otherwise the client can be left with an inconsistent cache. This can affect both WAL and rollback modes. (check-in: eb80ddc665 user: dan tags: trunk) | |
09:01 | If a malloc fails while allocating a savepoint object at the pager level, do not try to roll that savepoint back later on. (check-in: 91cb08ffb6 user: dan tags: trunk) | |
Changes
Changes to src/vdbeaux.c.
︙ | |||
2139 2140 2141 2142 2143 2144 2145 | 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 | + + - - - - + + + + + + + + + | ** Note that sqlite3VdbeCloseStatement() can only fail if eStatementOp ** is SAVEPOINT_ROLLBACK. But if p->rc==SQLITE_OK then eStatementOp ** must be SAVEPOINT_RELEASE. Hence the NEVER(p->rc==SQLITE_OK) in ** the following code. */ if( eStatementOp ){ rc = sqlite3VdbeCloseStatement(p, eStatementOp); if( rc ){ assert( eStatementOp==SAVEPOINT_ROLLBACK ); |
︙ |