-C Modify\sthe\soptimizer\sso\sthat\sit\sdoes\snot\sassume\sthat\sfunctions\sare\nconstant.\s(CVS\s920)
-D 2003-04-19T17:27:25
+C Update\scomments.\s\sRemove\sunused\sfield\sfrom\sthe\sIndex\sstructure.\s(CVS\s921)
+D 2003-04-20T00:00:24
F Makefile.in df3a4db41a7450468b5fe934d9dd8f723b631249
F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
F src/btree.c b9487cceb9ea78af9cbae9def34114902f511736
F src/btree.h 529c98cb0715c62214544fbbe50b946f99a85540
F src/btree_rb.c b14803c84dc1c8fb51f5db1542237b7b7d411957
-F src/build.c 6694013c86c4c480754f515ddab561302c6e732a
+F src/build.c 66f8ca2457dfdcc6c45e1606696f337418a8c556
F src/copy.c 8699e571994934c78f70761a1458d7b9e9e75073
F src/delete.c af65b26d9d13abbf63fdc4e97b88d26c700b04bb
F src/encode.c faf03741efe921755ec371cf4a6984536de00042
F src/shell.c a0b7043713713ff45f666ce6b3c03a64109a8bb5
F src/shell.tcl 27ecbd63dd88396ad16d81ab44f73e6c0ea9d20e
F src/sqlite.h.in f49c2cdec7d24cb03e496a1ca519e16306495ee1
-F src/sqliteInt.h 757c82342dbcf90867471e59a1f4e34ed4d34290
+F src/sqliteInt.h c4f4866cce8f069574268969167b5f8041802edd
F src/table.c eed2098c9b577aa17f8abe89313a9c4413f57d63
F src/tclsqlite.c 7a072c3c8ba9796edc25e5ffa62b68558134e192
F src/test1.c 7ad4e6308dde0bf5a0f0775ce20cb2ec37a328f8
F www/sqlite.tcl ae3dcfb077e53833b59d4fcc94d8a12c50a44098
F www/tclsqlite.tcl 1db15abeb446aad0caf0b95b8b9579720e4ea331
F www/vdbe.tcl 2013852c27a02a091d39a766bc87cff329f21218
-P 9b619c98b586a207a87942640d3a94220ff8ab02
-R 7412289c17f86b36c7e9e5ef2d7e5a25
+P 767f1af236d115e8388e1dcc28a4df1be48d6c85
+R 36dfa6d5306b8b01a3a590f7c2277b76
U drh
-Z f9b7a3e33fd7e690b2414333a1a1aca5
+Z 7a756c9352dc04a8dce7c22eae170166
*************************************************************************
** Internal interface definitions for SQLite.
**
-** @(#) $Id: sqliteInt.h,v 1.175 2003/04/17 22:57:54 drh Exp $
+** @(#) $Id: sqliteInt.h,v 1.176 2003/04/20 00:00:24 drh Exp $
*/
#include "config.h"
#include "sqlite.h"
#endif
};
-/*
-** The following are the indices of in sqlite.aDb[] of the main database
-** file and the file used to store TEMP tables.
-*/
-#define DB_TMP 0
-#define DB_MAIN 1
-
/*
** Possible values for the sqlite.flags.
*/
** the from-table is created. The existance of the to-table is not checked
** until an attempt is made to insert data into the from-table.
**
-** The sqlite.aFKey hash table stores pointers to to this structure
+** The sqlite.aFKey hash table stores pointers to this structure
** given the name of a to-table. For each to-table, all foreign keys
** associated with that table are on a linked list using the FKey.pNextTo
** field.
** first column to be indexed (c3) has an index of 2 in Ex1.aCol[].
** The second column to be indexed (c1) has an index of 0 in
** Ex1.aCol[], hence Ex2.aiColumn[1]==0.
+**
+** The Index.onError field determines whether or not the indexed columns
+** must be unique and what to do if they are not. When Index.onError=OE_None,
+** it means this is not a unique index. Otherwise it is a unique index
+** and the value of Index.onError indicate the which conflict resolution
+** algorithm to employ whenever an attempt is made to insert a non-unique
+** element.
*/
struct Index {
char *zName; /* Name of this index */
int *aiColumn; /* Which columns are used by this index. 1st is 0 */
Table *pTable; /* The SQL table being indexed */
int tnum; /* Page containing root of this index in database file */
- u8 isUnique; /* OE_Abort, OE_Ignore, OE_Replace, or OE_None */
u8 onError; /* OE_Abort, OE_Ignore, OE_Replace, or OE_None */
u8 autoIndex; /* True if is automatically created (ex: by UNIQUE) */
u8 iDb; /* Index in sqlite.aDb[] of where this index is stored */
*
* The "step_list" member points to the first element of a linked list
* containing the SQL statements specified as the trigger program.
- *
- * When a trigger is initially created, the "isCommit" member is set to FALSE.
- * When a transaction is rolled back, any Trigger structures with "isCommit" set
- * to FALSE are deleted by the logic in sqliteRollbackInternalChanges(). When
- * a transaction is commited, the "isCommit" member is set to TRUE for any
- * Trigger structures for which it is FALSE.
- *
- * When a trigger is dropped, using the sqliteDropTrigger() interfaced, it is
- * removed from the trigHash hash table and added to the trigDrop hash table.
- * If the transaction is rolled back, the trigger is re-added into the trigHash
- * hash table (and hence the database schema). If the transaction is commited,
- * then the Trigger structure is deleted permanently.
*/
struct Trigger {
char *name; /* The name of the trigger */