-C Add\stest\scases\sto\sprove\sthat\sticket\s#3082\shas\sbeen\sfixed.\s(CVS\s5048)
-D 2008-04-25T12:10:15
+C Clarify\ssome\scomments.\s\sNo\schanges\sto\scode.\s(CVS\s5049)
+D 2008-04-25T12:25:42
F Makefile.arm-wince-mingw32ce-gcc ac5f7b2cef0cd850d6f755ba6ee4ab961b1fadf7
F Makefile.in 25b3282a4ac39388632c2fb0e044ff494d490952
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
F src/os_os2.c 41015b3fa91568761eb10cbf6ca27a0624ba0bda
F src/os_unix.c fdec4e5ee5dd555a6ad4a69f38ab35f0788536b4
F src/os_win.c 3a60bddd07ea6f8adb2314dd5996ac97b988f403
-F src/pager.c 90df64b9c18545e3eb6d8d1dccf95dafe3373b8f
+F src/pager.c 2361c00a4cf7936ef7e1463c224214c6fe6ee2cd
F src/pager.h 45ec2188593afd48a25c743529646771d75e83e4
F src/parse.y fc4bd35c6088901f7c8daead26c6fb11c87d22e7
F src/pragma.c 2e4bb2e76e48a32750529fdc4bfe86ac5f54e01b
F src/utf.c 8c94fa10efc78c2568d08d436acc59df4df7191b
F src/util.c 943caa4071488b20ed90588f0704c6825f91836b
F src/vacuum.c 3524411bfb58aac0d87eadd3e5b7cd532772af30
-F src/vdbe.c 062c597e167a2284985c0b64e2514b130abde49e
+F src/vdbe.c 2d75ac15ec69721340f0320e5b2fefbbd1aa2831
F src/vdbe.h bfd84bda447f39cb599302c7ec85067dae20453c
F src/vdbeInt.h 05316345da487b0cf540482576f9ae3337d133cd
F src/vdbeapi.c 0e1b5a808bb0e556f2a975eb7d11fd3153e922bf
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl fc46eae081251c3c181bd79c5faef8195d7991a5
-P f6313311ddfb1ee2d6660b9be99afe721a8a9aff
-R c1be9ae2c20e9ded54c75945b051f5cb
+P 776e7024101dd2eeb29484a36c7e1ac751444ec8
+R 211bc01b0b10749f82de03c7c0880d70
U drh
-Z 3138e5436c93d4ce1252743b1e0e1968
+Z 5d82caa22f30cf196f067fd76ef02178
-776e7024101dd2eeb29484a36c7e1ac751444ec8
\ No newline at end of file
+7f80539225b17a62e4aa09e6d514e3e9e1b22c36
\ No newline at end of file
** file simultaneously, or one process from reading the database while
** another is writing.
**
-** @(#) $Id: pager.c,v 1.434 2008/04/24 12:37:40 danielk1977 Exp $
+** @(#) $Id: pager.c,v 1.435 2008/04/25 12:25:42 drh Exp $
*/
#ifndef SQLITE_OMIT_DISKIO
#include "sqliteInt.h"
** 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;
** 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.734 2008/04/24 19:15:11 shane Exp $
+** $Id: vdbe.c,v 1.735 2008/04/25 12:25:42 drh Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
/* Opcode: Statement P1 * * * *
**
** Begin an individual statement transaction which is part of a larger
-** BEGIN..COMMIT transaction. This is needed so that the statement
+** 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.