Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Allow sqlite3WalCheckpoint() to be called even if the WAL is in the SQLITE_SHM_READ state, as sometimes happens after an error. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
175b296f9b9680f605537f52a8a53944 |
User & Date: | drh 2010-05-13 15:44:00.000 |
Context
2010-05-13
| ||
20:19 | Make debugging elements of the sqlite3_mutex object volatile and make them only appear when compiling with SQLITE_DEBUG. Ticket [51914f6acd2cb462]. (check-in: e823c60ca4 user: drh tags: trunk) | |
15:44 | Allow sqlite3WalCheckpoint() to be called even if the WAL is in the SQLITE_SHM_READ state, as sometimes happens after an error. (check-in: 175b296f9b user: drh tags: trunk) | |
09:40 | Remerge mistaken test_osinst.c changes. (check-in: e8c10d3cf6 user: dan tags: trunk) | |
Changes
Changes to src/wal.c.
︙ | ︙ | |||
1463 1464 1465 1466 1467 1468 1469 | ** Normally, the connection will be in UNLOCK state at this point. But ** if the connection is in exclusive-mode it may still be in READ state ** even though the upper layer has no active read-transaction (because ** WalCloseSnapshot() is not called in exclusive mode). The state will ** be set to UNLOCK when this function returns. This is Ok. */ assert( (pWal->lockState==SQLITE_SHM_UNLOCK) | | | | 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 | ** Normally, the connection will be in UNLOCK state at this point. But ** if the connection is in exclusive-mode it may still be in READ state ** even though the upper layer has no active read-transaction (because ** WalCloseSnapshot() is not called in exclusive mode). The state will ** be set to UNLOCK when this function returns. This is Ok. */ assert( (pWal->lockState==SQLITE_SHM_UNLOCK) || (pWal->lockState==SQLITE_SHM_READ) ); walSetLock(pWal, SQLITE_SHM_UNLOCK); do { rc = walSetLock(pWal, SQLITE_SHM_CHECKPOINT); }while( rc==SQLITE_BUSY && xBusyHandler(pBusyHandlerArg) ); if( rc!=SQLITE_OK ){ walSetLock(pWal, SQLITE_SHM_UNLOCK); return rc; } |
︙ | ︙ |