Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Clarify some comments. No changes to code. (CVS 5049) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
7f80539225b17a62e4aa09e6d514e3e9 |
User & Date: | drh 2008-04-25 12:25:42.000 |
Context
2008-04-26
| ||
13:39 | Use "(void)" function arguments in declarations instead of "()". Both are legal but some pedantic compilers complain about the latter. Ticket #3086. (CVS 5050) (check-in: a4149ca317 user: drh tags: trunk) | |
2008-04-25
| ||
12:25 | Clarify some comments. No changes to code. (CVS 5049) (check-in: 7f80539225 user: drh tags: trunk) | |
12:10 | Add test cases to prove that ticket #3082 has been fixed. (CVS 5048) (check-in: 776e702410 user: drh tags: trunk) | |
Changes
Changes to src/pager.c.
︙ | ︙ | |||
14 15 16 17 18 19 20 | ** The pager is used to access a database disk file. It implements ** atomic commit and rollback through the use of a journal file that ** is separate from the database file. The pager also implements file ** locking to prevent two processes from writing the same database ** file simultaneously, or one process from reading the database while ** another is writing. ** | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | ** The pager is used to access a database disk file. It implements ** atomic commit and rollback through the use of a journal file that ** is separate from the database file. The pager also implements file ** locking to prevent two processes from writing the same database ** file simultaneously, or one process from reading the database while ** another is writing. ** ** @(#) $Id: pager.c,v 1.435 2008/04/25 12:25:42 drh Exp $ */ #ifndef SQLITE_OMIT_DISKIO #include "sqliteInt.h" #include <assert.h> #include <string.h> /* |
︙ | ︙ | |||
3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 | ** A hot journal is one that needs to be played back. ** ** If the current size of the database file is 0 but a journal file ** exists, that is probably an old journal left over from a prior ** database with the same name. Just delete the journal. ** ** Return negative if unable to determine the status of the journal. */ static int hasHotJournal(Pager *pPager){ sqlite3_vfs *pVfs = pPager->pVfs; int rc; if( !pPager->useJournal ) return 0; if( !pPager->fd->pMethods ) return 0; rc = sqlite3OsAccess(pVfs, pPager->zJournal, SQLITE_ACCESS_EXISTS); | > > > > > > > > > | 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 | ** A hot journal is one that needs to be played back. ** ** If the current size of the database file is 0 but a journal file ** exists, that is probably an old journal left over from a prior ** database with the same name. Just delete the journal. ** ** Return negative if unable to determine the status of the journal. ** ** This routine does not open the journal file to examine its ** content. Hence, the journal might contain the name of a master ** journal file that has been deleted, and hence not be hot. Or ** the header of the journal might be zeroed out. This routine ** does not discover these cases of a non-hot journal - if the ** journal file exists and is not empty this routine assumes it ** is hot. The pager_playback() routine will discover that the ** journal file is not really hot and will no-op. */ static int hasHotJournal(Pager *pPager){ sqlite3_vfs *pVfs = pPager->pVfs; int rc; if( !pPager->useJournal ) return 0; if( !pPager->fd->pMethods ) return 0; rc = sqlite3OsAccess(pVfs, pPager->zJournal, SQLITE_ACCESS_EXISTS); |
︙ | ︙ |
Changes to src/vdbe.c.
︙ | ︙ | |||
39 40 41 42 43 44 45 | ** ** Various scripts scan this source file in order to generate HTML ** documentation, headers files, or other derived files. The formatting ** of the code in this file is, therefore, important. See other comments ** in this file for details. If in doubt, do not deviate from existing ** commenting and indentation practices when changing or adding code. ** | | | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | ** ** Various scripts scan this source file in order to generate HTML ** documentation, headers files, or other derived files. The formatting ** of the code in this file is, therefore, important. See other comments ** in this file for details. If in doubt, do not deviate from existing ** commenting and indentation practices when changing or adding code. ** ** $Id: vdbe.c,v 1.735 2008/04/25 12:25:42 drh Exp $ */ #include "sqliteInt.h" #include <ctype.h> #include "vdbeInt.h" /* ** The following global variable is incremented every time a cursor |
︙ | ︙ | |||
2264 2265 2266 2267 2268 2269 2270 | UPDATE_MAX_BLOBSIZE(pOut); break; } /* Opcode: Statement P1 * * * * ** ** Begin an individual statement transaction which is part of a larger | | > > > > > > > > > > | 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 | UPDATE_MAX_BLOBSIZE(pOut); break; } /* Opcode: Statement P1 * * * * ** ** Begin an individual statement transaction which is part of a larger ** transaction. This is needed so that the statement ** can be rolled back after an error without having to roll back the ** entire transaction. The statement transaction will automatically ** commit when the VDBE halts. ** ** If the database connection is currently in autocommit mode (that ** is to say, if it is in between BEGIN and COMMIT) ** and if there are no other active statements on the same database ** connection, then this operation is a no-op. No statement transaction ** is needed since any error can use the normal ROLLBACK process to ** undo changes. ** ** If a statement transaction is started, then a statement journal file ** will be allocated and initialized. ** ** The statement is begun on the database file with index P1. The main ** database file has an index of 0 and the file used for temporary tables ** has an index of 1. */ case OP_Statement: { if( db->autoCommit==0 || db->activeVdbeCnt>1 ){ |
︙ | ︙ |