Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add NEVER and assert macros and explanatory comments for unreachable conditions. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
ffb6596e6c80e284c1542b03f2c7bbfc |
User & Date: | drh 2010-03-08 21:40:14.000 |
Context
2010-03-09
| ||
05:01 | Version 3.6.23 release candidate 1 (check-in: 30e9f966e7 user: drh tags: trunk) | |
2010-03-08
| ||
21:40 | Add NEVER and assert macros and explanatory comments for unreachable conditions. (check-in: ffb6596e6c user: drh tags: trunk) | |
15:17 | Correct an assert() in mem2.c (test code only). (check-in: 1a88e31b03 user: dan tags: trunk) | |
Changes
Changes to src/pager.c.
︙ | ︙ | |||
5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 | /* If this is a release of the outermost savepoint, truncate ** the sub-journal to zero bytes in size. */ if( op==SAVEPOINT_RELEASE ){ if( nNew==0 && isOpen(pPager->sjfd) ){ /* Only truncate if it is an in-memory sub-journal. */ if( sqlite3IsMemJournal(pPager->sjfd) ){ rc = sqlite3OsTruncate(pPager->sjfd, 0); } pPager->nSubRec = 0; } } /* Else this is a rollback operation, playback the specified savepoint. ** If this is a temp-file, it is possible that the journal file has ** not yet been opened. In this case there have been no changes to | > | 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 | /* If this is a release of the outermost savepoint, truncate ** the sub-journal to zero bytes in size. */ if( op==SAVEPOINT_RELEASE ){ if( nNew==0 && isOpen(pPager->sjfd) ){ /* Only truncate if it is an in-memory sub-journal. */ if( sqlite3IsMemJournal(pPager->sjfd) ){ rc = sqlite3OsTruncate(pPager->sjfd, 0); assert( rc==SQLITE_OK ); } pPager->nSubRec = 0; } } /* Else this is a rollback operation, playback the specified savepoint. ** If this is a temp-file, it is possible that the journal file has ** not yet been opened. In this case there have been no changes to |
︙ | ︙ |
Changes to src/vdbeaux.c.
︙ | ︙ | |||
2123 2124 2125 2126 2127 2128 2129 | db->autoCommit = 1; } } /* If eStatementOp is non-zero, then a statement transaction needs to ** be committed or rolled back. Call sqlite3VdbeCloseStatement() to ** do so. If this operation returns an error, and the current statement | | > > > > > | | | 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 | db->autoCommit = 1; } } /* If eStatementOp is non-zero, then a statement transaction needs to ** be committed or rolled back. Call sqlite3VdbeCloseStatement() to ** do so. If this operation returns an error, and the current statement ** error code is SQLITE_OK or SQLITE_CONSTRAINT, then promote the ** current statement error code. ** ** 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 && (NEVER(p->rc==SQLITE_OK) || p->rc==SQLITE_CONSTRAINT) ){ p->rc = rc; sqlite3DbFree(db, p->zErrMsg); p->zErrMsg = 0; } } /* If this was an INSERT, UPDATE or DELETE and no statement transaction |
︙ | ︙ |