-C Add\sthe\sability\sto\sINSERT\sor\sUPDATE\susing\sthe\s"rowid"\scolumn\seven\son\stables\nthat\slack\san\sinteger\sprimary\skey.\s(CVS\s991)
-D 2003-06-01T01:10:33
+C Additions\sand\scorrections\sto\svdbe\sdocumentation\scomments.\s(CVS\s992)
+D 2003-06-02T06:15:59
F Makefile.in 1ff85c27d4350c74118341024e8a4fb2a04a3a43
F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
F src/update.c 24260b4fda00c9726d27699a0561d53c0dccc397
F src/util.c 8065b78806a5132119452d9e0417cf071e6f02f9
F src/vacuum.c 0820984615786c9ccdaad8032a792309b354a8eb
-F src/vdbe.c 81b9868acd7e7d54ddd26af4ffe8442c312ad374
+F src/vdbe.c 0f09d140c311a843676c0e9f9a8272ed47cad7a4
F src/vdbe.h 985c24f312d10f9ef8f9a8b8ea62fcdf68e82f21
F src/where.c 1e645d430cb4b347159c28c6085e9801160f2099
F test/all.test 569a92a8ee88f5300c057cc4a8f50fbbc69a3242
F www/sqlite.tcl 4bd1729e320f5fa9125f0022b281fbe839192125
F www/tclsqlite.tcl 1db15abeb446aad0caf0b95b8b9579720e4ea331
F www/vdbe.tcl 2013852c27a02a091d39a766bc87cff329f21218
-P 7202d4f1a8853368954a967b7ccca9d8a6645a2e
-R 78a35eda55ae030d880c09b0469ac05c
-U drh
-Z 9f07a102a17f0c5b3ce38940ef0d6b8b
+P 903adbe802ca0e987b867e5ad33aae02ad2a43d4
+R 1faee166345b5258cc454681cf26ee88
+U jplyon
+Z 9b96c607be8d8a960afc568f1f869702
** 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.223 2003/05/17 17:35:12 drh Exp $
+** $Id: vdbe.c,v 1.224 2003/06/02 06:15:59 jplyon Exp $
*/
#include "sqliteInt.h"
#include <ctype.h>
** Open a read/write cursor named P1 on the table or index whose root
** page is P2. If P2==0 then take the root page number from the stack.
**
+** The P3 value is the name of the table or index being opened.
+** The P3 value is not actually used by this opcode and may be
+** omitted. But the code generator usually inserts the index or
+** table name into P3 to make the code easier to read.
+**
** This instruction works just like OpenRead except that it opens the cursor
** in read/write mode. For a given table, there can be one or more read-only
** cursors or a single read/write cursor but not both.
/* Opcode: PutIntKey P1 P2 *
**
-** Write an entry into the database file P1. A new entry is
+** Write an entry into the table of cursor P1. A new entry is
** created if it doesn't already exist or the data for an existing
** entry is overwritten. The data is the value on the top of the
** stack. The key is the next value down on the stack. The key must
*/
/* Opcode: PutStrKey P1 * *
**
-** Write an entry into the database file P1. A new entry is
+** Write an entry into the table of cursor P1. A new entry is
** created if it doesn't already exist or the data for an existing
** entry is overwritten. The data is the value on the top of the
** stack. The key is the next value down on the stack. The key must
/* Opcode: IdxPut P1 P2 P3
**
-** The top of the stack hold an SQL index key made using the
+** The top of the stack holds a SQL index key made using the
** MakeIdxKey instruction. This opcode writes that key into the
** index P1. Data for the entry is nil.
**
** If P2==1, then the key must be unique. If the key is not unique,
** the program aborts with a SQLITE_CONSTRAINT error and the database
-** is rolled back. If P3 is not null, then it because part of the
+** is rolled back. If P3 is not null, then it becomes part of the
** error message returned with the SQLITE_CONSTRAINT.
*/
case OP_IdxPut: {
/* Opcode: ListRewind * * *
**
-** Rewind the temporary buffer back to the beginning.
+** Rewind the temporary buffer back to the beginning. This is
+** now a no-op.
*/
case OP_ListRewind: {
/* This is now a no-op */