-C Changes\sto\ssupport\smedium\ssector\ssizes\slarger\sthan\sthe\sdatabase\spage\ssize.\s(CVS\s3701)
-D 2007-03-19T11:25:20
+C Fix\sa\scomment\sin\sbtree.c\s(CVS\s3702)
+D 2007-03-19T11:54:10
F Makefile.in 1fe3d0b46e40fd684e1e61f8e8056cefed16de9f
F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
F src/analyze.c 7d2b7ab9a9c2fd6e55700f69064dfdd3e36d7a8a
F src/attach.c fd286a9140a2df84b1482f052b67ff5fad9569a1
F src/auth.c 902f4722661c796b97f007d9606bd7529c02597f
-F src/btree.c 4336ada77332acb947af6d382f0f3648ea9d8b6c
+F src/btree.c f5278b44929198098ed382101ce97b58ceacb5cd
F src/btree.h 066444ee25bd6e6accb997bfd2cf5ace14dbcd00
F src/build.c f2edc786b5bf165a7d0949ed3a5872455a610c0e
F src/callback.c 31d22b4919c7645cbcbb1591ce2453e8c677c558
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
-P 5752d84d374205e011d49b0221d6237967fe0743
-R 35e0cdc81bf64a560c8bcc30c7e3b7e8
-U danielk1977
-Z 835c96473334a1bbc531e7fce3e63932
+P 3a3e8eb25d8e04cfccc5c0513ed04efcc25d3dbf
+R a297b1419430310b47806366b750440a
+U drh
+Z 55992e8d0ba687290ede6e38f8418c27
** May you share freely, never taking more than you give.
**
*************************************************************************
-** $Id: btree.c,v 1.339 2007/03/19 11:25:20 danielk1977 Exp $
+** $Id: btree.c,v 1.340 2007/03/19 11:54:10 drh Exp $
**
** This file implements a external (disk-based) database using BTrees.
** For a detailed discussion of BTrees, refer to
**
** 1: The cursor must have been opened with wrFlag==1
**
-** 2: No other cursors may be open with wrFlag==0 on the same table
+** 2: Other database connections that share the same pager cache
+** but which are not in the READ_UNCOMMITTED state may not have
+** cursors open with wrFlag==0 on the same table. Otherwise
+** the changes made by this write cursor would be visible to
+** the read cursors in the other database connection.
**
** 3: The database must be writable (not on read-only media)
**
** 4: There must be an active transaction.
**
-** Condition 2 warrants further discussion. If any cursor is opened
-** on a table with wrFlag==0, that prevents all other cursors from
-** writing to that table. This is a kind of "read-lock". When a cursor
-** is opened with wrFlag==0 it is guaranteed that the table will not
-** change as long as the cursor is open. This allows the cursor to
-** do a sequential scan of the table without having to worry about
-** entries being inserted or deleted during the scan. Cursors should
-** be opened with wrFlag==0 only if this read-lock property is needed.
-** That is to say, cursors should be opened with wrFlag==0 only if they
-** intend to use the sqlite3BtreeNext() system call. All other cursors
-** should be opened with wrFlag==1 even if they never really intend
-** to write.
-**
** No checking is done to make sure that page iTable really is the
** root page of a b-tree. If it is not, then the cursor acquired
** will not work correctly.