[Freeswitch-svn] [commit] r4353 - freeswitch/trunk/libs/win32/sqlite

Freeswitch SVN mikej at freeswitch.org
Thu Feb 22 18:13:56 EST 2007


Author: mikej
Date: Thu Feb 22 18:13:56 2007
New Revision: 4353

Modified:
   freeswitch/trunk/libs/win32/sqlite/keywordhash.h
   freeswitch/trunk/libs/win32/sqlite/opcodes.c
   freeswitch/trunk/libs/win32/sqlite/opcodes.h
   freeswitch/trunk/libs/win32/sqlite/parse.c
   freeswitch/trunk/libs/win32/sqlite/parse.h
   freeswitch/trunk/libs/win32/sqlite/sqlite.vcproj
   freeswitch/trunk/libs/win32/sqlite/sqlite3.h

Log:
update windows build to use sqlite 3.3.13

Modified: freeswitch/trunk/libs/win32/sqlite/keywordhash.h
==============================================================================
--- freeswitch/trunk/libs/win32/sqlite/keywordhash.h	(original)
+++ freeswitch/trunk/libs/win32/sqlite/keywordhash.h	Thu Feb 22 18:13:56 2007
@@ -1,98 +1,98 @@
-/* Hash score: 167 */
-static int keywordCode(const char *z, int n){
-  static const char zText[544] =
-    "ABORTABLEFTEMPORARYADDATABASELECTHENDEFAULTRANSACTIONATURALTER"
-    "AISEACHECKEYAFTEREFERENCESCAPELSEXCEPTRIGGEREGEXPLAINITIALLYANALYZE"
-    "XCLUSIVEXISTSTATEMENTANDEFERRABLEATTACHAVINGLOBEFOREIGNOREINDEX"
-    "AUTOINCREMENTBEGINNERENAMEBETWEENOTNULLIKEBYCASCADEFERREDELETE"
-    "CASECASTCOLLATECOLUMNCOMMITCONFLICTCONSTRAINTERSECTCREATECROSS"
-    "CURRENT_DATECURRENT_TIMESTAMPLANDESCDETACHDISTINCTDROPRAGMATCH"
-    "FAILIMITFROMFULLGROUPDATEIFIMMEDIATEINSERTINSTEADINTOFFSETISNULL"
-    "JOINORDEREPLACEOUTERESTRICTPRIMARYQUERYRIGHTROLLBACKROWHENUNION"
-    "UNIQUEUSINGVACUUMVALUESVIEWHEREVIRTUAL";
-  static const unsigned char aHash[127] = {
-      92,  80, 107,  91,   0,   4,   0,   0, 114,   0,  83,   0,   0,
-      96,  44,  76,  93,   0, 106, 109,  97,  90,   0,  10,   0,   0,
-     113,   0, 117, 103,   0,  28,  48,   0,  41,   0,   0,  65,  71,
-       0,  63,  19,   0, 105,  36, 104,   0, 108,  75,   0,   0,  33,
-       0,  61,  37,   0,   8,   0, 115,  38,  12,   0,  77,  40,  25,
-      66,   0,   0,  31,  81,  53,  30,  50,  20,  88,   0,  34,   0,
-      74,  26,   0,  72,   0,   0,   0,  64,  47,  67,  22,  87,  29,
-      69,  86,   0,   1,   0,   9, 101,  58,  18,   0, 112,  82,  99,
-      55,   6,  85,   0,   0,  49,  94,   0, 102,   0,  70,   0,   0,
-      15,   0, 116,  51,  56,   0,   2,  54,   0, 111,
-  };
-  static const unsigned char aNext[117] = {
-       0,   0,   0,   0,   0,   3,   0,   0,   0,   0,   0,   0,   0,
-       0,   0,   0,   0,   0,   0,   0,   0,  17,   0,   0,   0,   0,
-       0,  11,   0,   0,   0,   0,   5,  13,   0,   7,   0,   0,   0,
-       0,   0,   0,   0,   0,   0,   0,  42,   0,   0,   0,   0,   0,
-       0,  16,   0,   0,  23,  52,   0,   0,   0,   0,  45,   0,  59,
-       0,   0,   0,   0,   0,   0,   0,   0,  43,  73,   0,  24,  60,
-      21,   0,  79,   0,   0,  68,   0,   0,  84,  46,   0,   0,   0,
-       0,   0,   0,   0,   0,  39,  95,  98,   0,   0, 100,   0,  32,
-       0,  14,  27,  78,   0,  57,  89,   0,  35,   0,  62,   0, 110,
-  };
-  static const unsigned char aLen[117] = {
-       5,   5,   4,   4,   9,   2,   3,   8,   2,   6,   4,   3,   7,
-      11,   2,   7,   5,   5,   4,   5,   3,   5,  10,   6,   4,   6,
-       7,   6,   7,   9,   3,   7,   9,   6,   9,   3,  10,   6,   6,
-       4,   6,   7,   3,   6,   7,   5,  13,   2,   2,   5,   5,   6,
-       7,   7,   3,   4,   4,   2,   7,   3,   8,   6,   4,   4,   7,
-       6,   6,   8,  10,   9,   6,   5,  12,  17,  12,   4,   4,   6,
-       8,   2,   4,   6,   5,   4,   5,   4,   4,   5,   6,   2,   9,
-       6,   7,   4,   6,   2,   3,   6,   4,   5,   7,   5,   8,   7,
-       5,   5,   8,   3,   4,   5,   6,   5,   6,   6,   4,   5,   7,
-  };
-  static const unsigned short int aOffset[117] = {
-       0,   4,   7,  10,  10,  14,  19,  21,  26,  27,  32,  34,  36,
-      42,  51,  52,  57,  61,  65,  67,  71,  74,  78,  86,  91,  94,
-      99, 105, 108, 113, 118, 122, 128, 136, 141, 150, 152, 162, 167,
-     172, 175, 177, 177, 181, 185, 187, 192, 194, 196, 205, 208, 212,
-     218, 224, 224, 227, 230, 234, 236, 237, 241, 248, 254, 258, 262,
-     269, 275, 281, 289, 296, 305, 311, 316, 328, 328, 344, 348, 352,
-     358, 359, 366, 369, 373, 378, 381, 386, 390, 394, 397, 403, 405,
-     414, 420, 427, 430, 430, 433, 436, 442, 446, 450, 457, 461, 469,
-     476, 481, 486, 494, 496, 500, 505, 511, 516, 522, 528, 531, 536,
-  };
-  static const unsigned char aCode[117] = {
-    TK_ABORT,      TK_TABLE,      TK_JOIN_KW,    TK_TEMP,       TK_TEMP,       
-    TK_OR,         TK_ADD,        TK_DATABASE,   TK_AS,         TK_SELECT,     
-    TK_THEN,       TK_END,        TK_DEFAULT,    TK_TRANSACTION,TK_ON,         
-    TK_JOIN_KW,    TK_ALTER,      TK_RAISE,      TK_EACH,       TK_CHECK,      
-    TK_KEY,        TK_AFTER,      TK_REFERENCES, TK_ESCAPE,     TK_ELSE,       
-    TK_EXCEPT,     TK_TRIGGER,    TK_LIKE_KW,    TK_EXPLAIN,    TK_INITIALLY,  
-    TK_ALL,        TK_ANALYZE,    TK_EXCLUSIVE,  TK_EXISTS,     TK_STATEMENT,  
-    TK_AND,        TK_DEFERRABLE, TK_ATTACH,     TK_HAVING,     TK_LIKE_KW,    
-    TK_BEFORE,     TK_FOREIGN,    TK_FOR,        TK_IGNORE,     TK_REINDEX,    
-    TK_INDEX,      TK_AUTOINCR,   TK_TO,         TK_IN,         TK_BEGIN,      
-    TK_JOIN_KW,    TK_RENAME,     TK_BETWEEN,    TK_NOTNULL,    TK_NOT,        
-    TK_NULL,       TK_LIKE_KW,    TK_BY,         TK_CASCADE,    TK_ASC,        
-    TK_DEFERRED,   TK_DELETE,     TK_CASE,       TK_CAST,       TK_COLLATE,    
-    TK_COLUMNKW,   TK_COMMIT,     TK_CONFLICT,   TK_CONSTRAINT, TK_INTERSECT,  
-    TK_CREATE,     TK_JOIN_KW,    TK_CTIME_KW,   TK_CTIME_KW,   TK_CTIME_KW,   
-    TK_PLAN,       TK_DESC,       TK_DETACH,     TK_DISTINCT,   TK_IS,         
-    TK_DROP,       TK_PRAGMA,     TK_MATCH,      TK_FAIL,       TK_LIMIT,      
-    TK_FROM,       TK_JOIN_KW,    TK_GROUP,      TK_UPDATE,     TK_IF,         
-    TK_IMMEDIATE,  TK_INSERT,     TK_INSTEAD,    TK_INTO,       TK_OFFSET,     
-    TK_OF,         TK_SET,        TK_ISNULL,     TK_JOIN,       TK_ORDER,      
-    TK_REPLACE,    TK_JOIN_KW,    TK_RESTRICT,   TK_PRIMARY,    TK_QUERY,      
-    TK_JOIN_KW,    TK_ROLLBACK,   TK_ROW,        TK_WHEN,       TK_UNION,      
-    TK_UNIQUE,     TK_USING,      TK_VACUUM,     TK_VALUES,     TK_VIEW,       
-    TK_WHERE,      TK_VIRTUAL,    
-  };
-  int h, i;
-  if( n<2 ) return TK_ID;
-  h = ((charMap(z[0])*4) ^
-      (charMap(z[n-1])*3) ^
-      n) % 127;
-  for(i=((int)aHash[h])-1; i>=0; i=((int)aNext[i])-1){
-    if( aLen[i]==n && sqlite3StrNICmp(&zText[aOffset[i]],z,n)==0 ){
-      return aCode[i];
-    }
-  }
-  return TK_ID;
-}
-int sqlite3KeywordCode(const unsigned char *z, int n){
-  return keywordCode((char*)z, n);
-}
+/* Hash score: 167 */
+static int keywordCode(const char *z, int n){
+  static const char zText[544] =
+    "ABORTABLEFTEMPORARYADDATABASELECTHENDEFAULTRANSACTIONATURALTER"
+    "AISEACHECKEYAFTEREFERENCESCAPELSEXCEPTRIGGEREGEXPLAINITIALLYANALYZE"
+    "XCLUSIVEXISTSTATEMENTANDEFERRABLEATTACHAVINGLOBEFOREIGNOREINDEX"
+    "AUTOINCREMENTBEGINNERENAMEBETWEENOTNULLIKEBYCASCADEFERREDELETE"
+    "CASECASTCOLLATECOLUMNCOMMITCONFLICTCONSTRAINTERSECTCREATECROSS"
+    "CURRENT_DATECURRENT_TIMESTAMPLANDESCDETACHDISTINCTDROPRAGMATCH"
+    "FAILIMITFROMFULLGROUPDATEIFIMMEDIATEINSERTINSTEADINTOFFSETISNULL"
+    "JOINORDEREPLACEOUTERESTRICTPRIMARYQUERYRIGHTROLLBACKROWHENUNION"
+    "UNIQUEUSINGVACUUMVALUESVIEWHEREVIRTUAL";
+  static const unsigned char aHash[127] = {
+      92,  80, 107,  91,   0,   4,   0,   0, 114,   0,  83,   0,   0,
+      95,  44,  76,  93,   0, 106, 109,  97,  90,   0,  10,   0,   0,
+     113,   0, 117, 103,   0,  28,  48,   0,  41,   0,   0,  65,  71,
+       0,  63,  19,   0, 105,  36, 104,   0, 108,  74,   0,   0,  33,
+       0,  61,  37,   0,   8,   0, 115,  38,  12,   0,  77,  40,  25,
+      66,   0,   0,  31,  81,  53,  30,  50,  20,  88,   0,  34,   0,
+      75,  26,   0,  72,   0,   0,   0,  64,  47,  67,  22,  87,  29,
+      69,  86,   0,   1,   0,   9, 101,  58,  18,   0, 112,  82,  99,
+      54,   6,  85,   0,   0,  49,  94,   0, 102,   0,  70,   0,   0,
+      15,   0, 116,  51,  56,   0,   2,  55,   0, 111,
+  };
+  static const unsigned char aNext[117] = {
+       0,   0,   0,   0,   0,   3,   0,   0,   0,   0,   0,   0,   0,
+       0,   0,   0,   0,   0,   0,   0,   0,  17,   0,   0,   0,   0,
+       0,  11,   0,   0,   0,   0,   5,  13,   0,   7,   0,   0,   0,
+       0,   0,   0,   0,   0,   0,   0,  43,   0,   0,   0,   0,   0,
+       0,   0,  16,   0,  23,  52,   0,   0,   0,   0,  45,   0,  59,
+       0,   0,   0,   0,   0,   0,   0,   0,  73,  42,   0,  24,  60,
+      21,   0,  79,   0,   0,  68,   0,   0,  84,  46,   0,   0,   0,
+       0,   0,   0,   0,   0,  39,  96,  98,   0,   0, 100,   0,  32,
+       0,  14,  27,  78,   0,  57,  89,   0,  35,   0,  62,   0, 110,
+  };
+  static const unsigned char aLen[117] = {
+       5,   5,   4,   4,   9,   2,   3,   8,   2,   6,   4,   3,   7,
+      11,   2,   7,   5,   5,   4,   5,   3,   5,  10,   6,   4,   6,
+       7,   6,   7,   9,   3,   7,   9,   6,   9,   3,  10,   6,   6,
+       4,   6,   3,   7,   6,   7,   5,  13,   2,   2,   5,   5,   6,
+       7,   3,   7,   4,   4,   2,   7,   3,   8,   6,   4,   4,   7,
+       6,   6,   8,  10,   9,   6,   5,  12,  12,  17,   4,   4,   6,
+       8,   2,   4,   6,   5,   4,   5,   4,   4,   5,   6,   2,   9,
+       6,   7,   4,   2,   6,   3,   6,   4,   5,   7,   5,   8,   7,
+       5,   5,   8,   3,   4,   5,   6,   5,   6,   6,   4,   5,   7,
+  };
+  static const unsigned short int aOffset[117] = {
+       0,   4,   7,  10,  10,  14,  19,  21,  26,  27,  32,  34,  36,
+      42,  51,  52,  57,  61,  65,  67,  71,  74,  78,  86,  91,  94,
+      99, 105, 108, 113, 118, 122, 128, 136, 141, 150, 152, 162, 167,
+     172, 175, 177, 177, 181, 185, 187, 192, 194, 196, 205, 208, 212,
+     218, 224, 224, 227, 230, 234, 236, 237, 241, 248, 254, 258, 262,
+     269, 275, 281, 289, 296, 305, 311, 316, 328, 328, 344, 348, 352,
+     358, 359, 366, 369, 373, 378, 381, 386, 390, 394, 397, 403, 405,
+     414, 420, 427, 430, 430, 433, 436, 442, 446, 450, 457, 461, 469,
+     476, 481, 486, 494, 496, 500, 505, 511, 516, 522, 528, 531, 536,
+  };
+  static const unsigned char aCode[117] = {
+    TK_ABORT,      TK_TABLE,      TK_JOIN_KW,    TK_TEMP,       TK_TEMP,       
+    TK_OR,         TK_ADD,        TK_DATABASE,   TK_AS,         TK_SELECT,     
+    TK_THEN,       TK_END,        TK_DEFAULT,    TK_TRANSACTION,TK_ON,         
+    TK_JOIN_KW,    TK_ALTER,      TK_RAISE,      TK_EACH,       TK_CHECK,      
+    TK_KEY,        TK_AFTER,      TK_REFERENCES, TK_ESCAPE,     TK_ELSE,       
+    TK_EXCEPT,     TK_TRIGGER,    TK_LIKE_KW,    TK_EXPLAIN,    TK_INITIALLY,  
+    TK_ALL,        TK_ANALYZE,    TK_EXCLUSIVE,  TK_EXISTS,     TK_STATEMENT,  
+    TK_AND,        TK_DEFERRABLE, TK_ATTACH,     TK_HAVING,     TK_LIKE_KW,    
+    TK_BEFORE,     TK_FOR,        TK_FOREIGN,    TK_IGNORE,     TK_REINDEX,    
+    TK_INDEX,      TK_AUTOINCR,   TK_TO,         TK_IN,         TK_BEGIN,      
+    TK_JOIN_KW,    TK_RENAME,     TK_BETWEEN,    TK_NOT,        TK_NOTNULL,    
+    TK_NULL,       TK_LIKE_KW,    TK_BY,         TK_CASCADE,    TK_ASC,        
+    TK_DEFERRED,   TK_DELETE,     TK_CASE,       TK_CAST,       TK_COLLATE,    
+    TK_COLUMNKW,   TK_COMMIT,     TK_CONFLICT,   TK_CONSTRAINT, TK_INTERSECT,  
+    TK_CREATE,     TK_JOIN_KW,    TK_CTIME_KW,   TK_CTIME_KW,   TK_CTIME_KW,   
+    TK_PLAN,       TK_DESC,       TK_DETACH,     TK_DISTINCT,   TK_IS,         
+    TK_DROP,       TK_PRAGMA,     TK_MATCH,      TK_FAIL,       TK_LIMIT,      
+    TK_FROM,       TK_JOIN_KW,    TK_GROUP,      TK_UPDATE,     TK_IF,         
+    TK_IMMEDIATE,  TK_INSERT,     TK_INSTEAD,    TK_INTO,       TK_OF,         
+    TK_OFFSET,     TK_SET,        TK_ISNULL,     TK_JOIN,       TK_ORDER,      
+    TK_REPLACE,    TK_JOIN_KW,    TK_RESTRICT,   TK_PRIMARY,    TK_QUERY,      
+    TK_JOIN_KW,    TK_ROLLBACK,   TK_ROW,        TK_WHEN,       TK_UNION,      
+    TK_UNIQUE,     TK_USING,      TK_VACUUM,     TK_VALUES,     TK_VIEW,       
+    TK_WHERE,      TK_VIRTUAL,    
+  };
+  int h, i;
+  if( n<2 ) return TK_ID;
+  h = ((charMap(z[0])*4) ^
+      (charMap(z[n-1])*3) ^
+      n) % 127;
+  for(i=((int)aHash[h])-1; i>=0; i=((int)aNext[i])-1){
+    if( aLen[i]==n && sqlite3StrNICmp(&zText[aOffset[i]],z,n)==0 ){
+      return aCode[i];
+    }
+  }
+  return TK_ID;
+}
+int sqlite3KeywordCode(const unsigned char *z, int n){
+  return keywordCode((char*)z, n);
+}

Modified: freeswitch/trunk/libs/win32/sqlite/opcodes.c
==============================================================================
--- freeswitch/trunk/libs/win32/sqlite/opcodes.c	(original)
+++ freeswitch/trunk/libs/win32/sqlite/opcodes.c	Thu Feb 22 18:13:56 2007
@@ -2,71 +2,71 @@
 /* See the mkopcodec.awk script for details. */
 #if !defined(SQLITE_OMIT_EXPLAIN) || !defined(NDEBUG) || defined(VDBE_PROFILE) || defined(SQLITE_DEBUG)
 const char *const sqlite3OpcodeNames[] = { "?",
- /*   1 */ "VRowid",
- /*   2 */ "VFilter",
- /*   3 */ "ContextPop",
- /*   4 */ "IntegrityCk",
- /*   5 */ "DropTrigger",
- /*   6 */ "DropIndex",
- /*   7 */ "IdxInsert",
- /*   8 */ "Delete",
- /*   9 */ "MoveGt",
- /*  10 */ "OpenEphemeral",
- /*  11 */ "VerifyCookie",
- /*  12 */ "Push",
- /*  13 */ "Dup",
- /*  14 */ "Blob",
- /*  15 */ "FifoWrite",
+ /*   1 */ "MemLoad",
+ /*   2 */ "VNext",
+ /*   3 */ "Column",
+ /*   4 */ "SetCookie",
+ /*   5 */ "IfMemPos",
+ /*   6 */ "Sequence",
+ /*   7 */ "MoveGt",
+ /*   8 */ "RowKey",
+ /*   9 */ "OpenWrite",
+ /*  10 */ "If",
+ /*  11 */ "Pop",
+ /*  12 */ "VRowid",
+ /*  13 */ "CollSeq",
+ /*  14 */ "OpenRead",
+ /*  15 */ "Expire",
  /*  16 */ "Not",
- /*  17 */ "IdxGT",
- /*  18 */ "RowKey",
- /*  19 */ "IsUnique",
- /*  20 */ "SetNumColumns",
- /*  21 */ "VUpdate",
- /*  22 */ "Expire",
- /*  23 */ "IdxIsNull",
- /*  24 */ "NullRow",
- /*  25 */ "OpenPseudo",
- /*  26 */ "OpenWrite",
- /*  27 */ "OpenRead",
- /*  28 */ "Transaction",
- /*  29 */ "AutoCommit",
- /*  30 */ "Pop",
- /*  31 */ "Halt",
- /*  32 */ "Vacuum",
- /*  33 */ "IfMemNeg",
- /*  34 */ "RowData",
- /*  35 */ "NotExists",
- /*  36 */ "MoveLe",
- /*  37 */ "SetCookie",
- /*  38 */ "Variable",
- /*  39 */ "VNext",
- /*  40 */ "VDestroy",
- /*  41 */ "TableLock",
- /*  42 */ "MemMove",
- /*  43 */ "LoadAnalysis",
- /*  44 */ "IdxDelete",
- /*  45 */ "Sort",
- /*  46 */ "ResetCount",
+ /*  17 */ "AutoCommit",
+ /*  18 */ "IntegrityCk",
+ /*  19 */ "Sort",
+ /*  20 */ "Function",
+ /*  21 */ "Noop",
+ /*  22 */ "Return",
+ /*  23 */ "NewRowid",
+ /*  24 */ "IfMemNeg",
+ /*  25 */ "Variable",
+ /*  26 */ "String",
+ /*  27 */ "RealAffinity",
+ /*  28 */ "ParseSchema",
+ /*  29 */ "VOpen",
+ /*  30 */ "Close",
+ /*  31 */ "CreateIndex",
+ /*  32 */ "IsUnique",
+ /*  33 */ "NotFound",
+ /*  34 */ "Int64",
+ /*  35 */ "MustBeInt",
+ /*  36 */ "Halt",
+ /*  37 */ "Rowid",
+ /*  38 */ "IdxLT",
+ /*  39 */ "AddImm",
+ /*  40 */ "Statement",
+ /*  41 */ "RowData",
+ /*  42 */ "MemMax",
+ /*  43 */ "Push",
+ /*  44 */ "NotExists",
+ /*  45 */ "MemIncr",
+ /*  46 */ "Gosub",
  /*  47 */ "Integer",
- /*  48 */ "AggStep",
- /*  49 */ "CreateIndex",
- /*  50 */ "NewRowid",
- /*  51 */ "MoveLt",
- /*  52 */ "Explain",
- /*  53 */ "Return",
- /*  54 */ "MemLoad",
- /*  55 */ "IdxLT",
- /*  56 */ "Rewind",
- /*  57 */ "MakeIdxRec",
- /*  58 */ "AddImm",
- /*  59 */ "Null",
- /*  60 */ "VColumn",
+ /*  48 */ "MemInt",
+ /*  49 */ "Prev",
+ /*  50 */ "VColumn",
+ /*  51 */ "CreateTable",
+ /*  52 */ "Last",
+ /*  53 */ "IdxRowid",
+ /*  54 */ "MakeIdxRec",
+ /*  55 */ "ResetCount",
+ /*  56 */ "FifoWrite",
+ /*  57 */ "Callback",
+ /*  58 */ "ContextPush",
+ /*  59 */ "DropTrigger",
+ /*  60 */ "DropIndex",
  /*  61 */ "Or",
  /*  62 */ "And",
- /*  63 */ "MemNull",
- /*  64 */ "MemIncr",
- /*  65 */ "Clear",
+ /*  63 */ "IdxGE",
+ /*  64 */ "IdxDelete",
+ /*  65 */ "Vacuum",
  /*  66 */ "IsNull",
  /*  67 */ "NotNull",
  /*  68 */ "Ne",
@@ -75,7 +75,7 @@
  /*  71 */ "Le",
  /*  72 */ "Lt",
  /*  73 */ "Ge",
- /*  74 */ "If",
+ /*  74 */ "MoveLe",
  /*  75 */ "BitAnd",
  /*  76 */ "BitOr",
  /*  77 */ "ShiftLeft",
@@ -86,57 +86,57 @@
  /*  82 */ "Divide",
  /*  83 */ "Remainder",
  /*  84 */ "Concat",
- /*  85 */ "Negative",
- /*  86 */ "RealAffinity",
- /*  87 */ "BitNot",
- /*  88 */ "String8",
- /*  89 */ "Callback",
- /*  90 */ "AggFinal",
- /*  91 */ "IfMemZero",
- /*  92 */ "Last",
- /*  93 */ "Rowid",
- /*  94 */ "Sequence",
- /*  95 */ "NotFound",
- /*  96 */ "MakeRecord",
- /*  97 */ "String",
- /*  98 */ "Goto",
- /*  99 */ "VCreate",
- /* 100 */ "MemInt",
- /* 101 */ "IfMemPos",
- /* 102 */ "DropTable",
- /* 103 */ "IdxRowid",
- /* 104 */ "Insert",
- /* 105 */ "Column",
- /* 106 */ "Noop",
- /* 107 */ "VOpen",
- /* 108 */ "CreateTable",
- /* 109 */ "Found",
- /* 110 */ "Distinct",
- /* 111 */ "Close",
- /* 112 */ "Statement",
- /* 113 */ "IfNot",
- /* 114 */ "Pull",
- /* 115 */ "VBegin",
- /* 116 */ "MemMax",
- /* 117 */ "MemStore",
- /* 118 */ "Next",
- /* 119 */ "Prev",
- /* 120 */ "MoveGe",
- /* 121 */ "MustBeInt",
- /* 122 */ "ForceInt",
- /* 123 */ "CollSeq",
- /* 124 */ "Gosub",
- /* 125 */ "ContextPush",
+ /*  85 */ "IfNot",
+ /*  86 */ "Negative",
+ /*  87 */ "DropTable",
+ /*  88 */ "BitNot",
+ /*  89 */ "String8",
+ /*  90 */ "MakeRecord",
+ /*  91 */ "Delete",
+ /*  92 */ "AggFinal",
+ /*  93 */ "Dup",
+ /*  94 */ "Goto",
+ /*  95 */ "TableLock",
+ /*  96 */ "FifoRead",
+ /*  97 */ "Clear",
+ /*  98 */ "IdxGT",
+ /*  99 */ "MoveLt",
+ /* 100 */ "VerifyCookie",
+ /* 101 */ "AggStep",
+ /* 102 */ "Pull",
+ /* 103 */ "SetNumColumns",
+ /* 104 */ "AbsValue",
+ /* 105 */ "Transaction",
+ /* 106 */ "VFilter",
+ /* 107 */ "VDestroy",
+ /* 108 */ "ContextPop",
+ /* 109 */ "Next",
+ /* 110 */ "IdxInsert",
+ /* 111 */ "Distinct",
+ /* 112 */ "Insert",
+ /* 113 */ "Destroy",
+ /* 114 */ "ReadCookie",
+ /* 115 */ "ForceInt",
+ /* 116 */ "LoadAnalysis",
+ /* 117 */ "Explain",
+ /* 118 */ "IfMemZero",
+ /* 119 */ "OpenPseudo",
+ /* 120 */ "OpenEphemeral",
+ /* 121 */ "Null",
+ /* 122 */ "Blob",
+ /* 123 */ "MemStore",
+ /* 124 */ "Rewind",
+ /* 125 */ "MoveGe",
  /* 126 */ "Real",
  /* 127 */ "HexBlob",
- /* 128 */ "FifoRead",
- /* 129 */ "ParseSchema",
- /* 130 */ "Destroy",
- /* 131 */ "IdxGE",
- /* 132 */ "ReadCookie",
- /* 133 */ "AbsValue",
- /* 134 */ "Function",
- /* 135 */ "Int64",
+ /* 128 */ "VBegin",
+ /* 129 */ "VUpdate",
+ /* 130 */ "VCreate",
+ /* 131 */ "MemMove",
+ /* 132 */ "MemNull",
+ /* 133 */ "Found",
+ /* 134 */ "NullRow",
+ /* 135 */ "NotUsed_135",
  /* 136 */ "NotUsed_136",
  /* 137 */ "NotUsed_137",
  /* 138 */ "NotUsed_138",

Modified: freeswitch/trunk/libs/win32/sqlite/opcodes.h
==============================================================================
--- freeswitch/trunk/libs/win32/sqlite/opcodes.h	(original)
+++ freeswitch/trunk/libs/win32/sqlite/opcodes.h	Thu Feb 22 18:13:56 2007
@@ -1,147 +1,147 @@
 /* Automatically generated.  Do not edit */
 /* See the mkopcodeh.awk script for details */
-#define OP_VRowid                               1
-#define OP_VFilter                              2
-#define OP_ContextPop                           3
-#define OP_IntegrityCk                          4
-#define OP_DropTrigger                          5
-#define OP_DropIndex                            6
-#define OP_IdxInsert                            7
-#define OP_Delete                               8
-#define OP_MoveGt                               9
-#define OP_OpenEphemeral                       10
-#define OP_VerifyCookie                        11
-#define OP_Push                                12
-#define OP_Dup                                 13
-#define OP_Blob                                14
-#define OP_FifoWrite                           15
-#define OP_IdxGT                               17
-#define OP_RowKey                              18
-#define OP_IsUnique                            19
-#define OP_SetNumColumns                       20
+#define OP_MemLoad                              1
+#define OP_VNext                                2
+#define OP_HexBlob                            127   /* same as TK_BLOB     */
+#define OP_Column                               3
+#define OP_SetCookie                            4
+#define OP_IfMemPos                             5
+#define OP_Real                               126   /* same as TK_FLOAT    */
+#define OP_Sequence                             6
+#define OP_MoveGt                               7
+#define OP_Ge                                  73   /* same as TK_GE       */
+#define OP_RowKey                               8
 #define OP_Eq                                  69   /* same as TK_EQ       */
-#define OP_VUpdate                             21
-#define OP_Expire                              22
-#define OP_IdxIsNull                           23
-#define OP_NullRow                             24
-#define OP_OpenPseudo                          25
-#define OP_OpenWrite                           26
-#define OP_OpenRead                            27
-#define OP_Transaction                         28
-#define OP_AutoCommit                          29
-#define OP_Negative                            85   /* same as TK_UMINUS   */
-#define OP_Pop                                 30
-#define OP_Halt                                31
-#define OP_Vacuum                              32
-#define OP_IfMemNeg                            33
-#define OP_RowData                             34
-#define OP_NotExists                           35
-#define OP_MoveLe                              36
-#define OP_SetCookie                           37
-#define OP_Variable                            38
-#define OP_VNext                               39
-#define OP_VDestroy                            40
-#define OP_TableLock                           41
-#define OP_MemMove                             42
-#define OP_LoadAnalysis                        43
-#define OP_IdxDelete                           44
-#define OP_Sort                                45
-#define OP_ResetCount                          46
+#define OP_OpenWrite                            9
 #define OP_NotNull                             67   /* same as TK_NOTNULL  */
-#define OP_Ge                                  73   /* same as TK_GE       */
+#define OP_If                                  10
+#define OP_ToInt                              142   /* same as TK_TO_INT   */
+#define OP_String8                             89   /* same as TK_STRING   */
+#define OP_Pop                                 11
+#define OP_VRowid                              12
+#define OP_CollSeq                             13
+#define OP_OpenRead                            14
+#define OP_Expire                              15
+#define OP_AutoCommit                          17
+#define OP_Gt                                  70   /* same as TK_GT       */
+#define OP_IntegrityCk                         18
+#define OP_Sort                                19
+#define OP_Function                            20
+#define OP_And                                 62   /* same as TK_AND      */
+#define OP_Subtract                            80   /* same as TK_MINUS    */
+#define OP_Noop                                21
+#define OP_Return                              22
 #define OP_Remainder                           83   /* same as TK_REM      */
+#define OP_NewRowid                            23
+#define OP_Multiply                            81   /* same as TK_STAR     */
+#define OP_IfMemNeg                            24
+#define OP_Variable                            25
+#define OP_String                              26
+#define OP_RealAffinity                        27
+#define OP_ParseSchema                         28
+#define OP_VOpen                               29
+#define OP_Close                               30
+#define OP_CreateIndex                         31
+#define OP_IsUnique                            32
+#define OP_NotFound                            33
+#define OP_Int64                               34
+#define OP_MustBeInt                           35
+#define OP_Halt                                36
+#define OP_Rowid                               37
+#define OP_IdxLT                               38
+#define OP_AddImm                              39
+#define OP_Statement                           40
+#define OP_RowData                             41
+#define OP_MemMax                              42
+#define OP_Push                                43
+#define OP_Or                                  61   /* same as TK_OR       */
+#define OP_NotExists                           44
+#define OP_MemIncr                             45
+#define OP_Gosub                               46
 #define OP_Divide                              82   /* same as TK_SLASH    */
 #define OP_Integer                             47
-#define OP_AggStep                             48
-#define OP_CreateIndex                         49
-#define OP_NewRowid                            50
-#define OP_MoveLt                              51
-#define OP_Explain                             52
-#define OP_And                                 62   /* same as TK_AND      */
-#define OP_ShiftLeft                           77   /* same as TK_LSHIFT   */
-#define OP_Real                               126   /* same as TK_FLOAT    */
-#define OP_Return                              53
-#define OP_MemLoad                             54
-#define OP_IdxLT                               55
-#define OP_Rewind                              56
-#define OP_MakeIdxRec                          57
-#define OP_Gt                                  70   /* same as TK_GT       */
-#define OP_AddImm                              58
-#define OP_Subtract                            80   /* same as TK_MINUS    */
-#define OP_Null                                59
-#define OP_VColumn                             60
-#define OP_MemNull                             63
-#define OP_MemIncr                             64
-#define OP_Clear                               65
+#define OP_ToNumeric                          141   /* same as TK_TO_NUMERIC*/
+#define OP_MemInt                              48
+#define OP_Prev                                49
+#define OP_Concat                              84   /* same as TK_CONCAT   */
+#define OP_BitAnd                              75   /* same as TK_BITAND   */
+#define OP_VColumn                             50
+#define OP_CreateTable                         51
+#define OP_Last                                52
 #define OP_IsNull                              66   /* same as TK_ISNULL   */
-#define OP_If                                  74
+#define OP_IdxRowid                            53
+#define OP_MakeIdxRec                          54
+#define OP_ShiftRight                          78   /* same as TK_RSHIFT   */
+#define OP_ResetCount                          55
+#define OP_FifoWrite                           56
+#define OP_Callback                            57
+#define OP_ContextPush                         58
+#define OP_DropTrigger                         59
+#define OP_DropIndex                           60
+#define OP_IdxGE                               63
+#define OP_IdxDelete                           64
+#define OP_Vacuum                              65
+#define OP_MoveLe                              74
+#define OP_IfNot                               85
+#define OP_DropTable                           87
+#define OP_MakeRecord                          90
 #define OP_ToBlob                             140   /* same as TK_TO_BLOB  */
-#define OP_RealAffinity                        86
-#define OP_Callback                            89
-#define OP_AggFinal                            90
-#define OP_IfMemZero                           91
-#define OP_Last                                92
-#define OP_Rowid                               93
-#define OP_Sequence                            94
-#define OP_NotFound                            95
-#define OP_MakeRecord                          96
+#define OP_Delete                              91
+#define OP_AggFinal                            92
+#define OP_ShiftLeft                           77   /* same as TK_LSHIFT   */
+#define OP_Dup                                 93
+#define OP_Goto                                94
+#define OP_TableLock                           95
+#define OP_FifoRead                            96
+#define OP_Clear                               97
+#define OP_IdxGT                               98
+#define OP_MoveLt                              99
+#define OP_Le                                  71   /* same as TK_LE       */
+#define OP_VerifyCookie                       100
+#define OP_AggStep                            101
+#define OP_Pull                               102
 #define OP_ToText                             139   /* same as TK_TO_TEXT  */
-#define OP_BitAnd                              75   /* same as TK_BITAND   */
-#define OP_Add                                 79   /* same as TK_PLUS     */
-#define OP_HexBlob                            127   /* same as TK_BLOB     */
-#define OP_String                              97
-#define OP_Goto                                98
-#define OP_VCreate                             99
-#define OP_MemInt                             100
-#define OP_IfMemPos                           101
-#define OP_DropTable                          102
-#define OP_IdxRowid                           103
-#define OP_Insert                             104
-#define OP_Column                             105
-#define OP_Noop                               106
 #define OP_Not                                 16   /* same as TK_NOT      */
-#define OP_Le                                  71   /* same as TK_LE       */
+#define OP_ToReal                             143   /* same as TK_TO_REAL  */
+#define OP_SetNumColumns                      103
+#define OP_AbsValue                           104
+#define OP_Transaction                        105
+#define OP_VFilter                            106
+#define OP_Negative                            86   /* same as TK_UMINUS   */
+#define OP_Ne                                  68   /* same as TK_NE       */
+#define OP_VDestroy                           107
+#define OP_ContextPop                         108
 #define OP_BitOr                               76   /* same as TK_BITOR    */
-#define OP_Multiply                            81   /* same as TK_STAR     */
-#define OP_String8                             88   /* same as TK_STRING   */
-#define OP_VOpen                              107
-#define OP_CreateTable                        108
-#define OP_Found                              109
-#define OP_Distinct                           110
-#define OP_Close                              111
-#define OP_Statement                          112
-#define OP_IfNot                              113
-#define OP_ToInt                              142   /* same as TK_TO_INT   */
-#define OP_Pull                               114
-#define OP_VBegin                             115
-#define OP_MemMax                             116
-#define OP_MemStore                           117
-#define OP_Next                               118
-#define OP_Prev                               119
-#define OP_MoveGe                             120
+#define OP_Next                               109
+#define OP_IdxInsert                          110
+#define OP_Distinct                           111
 #define OP_Lt                                  72   /* same as TK_LT       */
-#define OP_Ne                                  68   /* same as TK_NE       */
-#define OP_MustBeInt                          121
-#define OP_ForceInt                           122
-#define OP_ShiftRight                          78   /* same as TK_RSHIFT   */
-#define OP_CollSeq                            123
-#define OP_Gosub                              124
-#define OP_ContextPush                        125
-#define OP_FifoRead                           128
-#define OP_ParseSchema                        129
-#define OP_Destroy                            130
-#define OP_IdxGE                              131
-#define OP_ReadCookie                         132
-#define OP_BitNot                              87   /* same as TK_BITNOT   */
-#define OP_AbsValue                           133
-#define OP_Or                                  61   /* same as TK_OR       */
-#define OP_ToReal                             143   /* same as TK_TO_REAL  */
-#define OP_ToNumeric                          141   /* same as TK_TO_NUMERIC*/
-#define OP_Function                           134
-#define OP_Concat                              84   /* same as TK_CONCAT   */
-#define OP_Int64                              135
+#define OP_Insert                             112
+#define OP_Destroy                            113
+#define OP_ReadCookie                         114
+#define OP_ForceInt                           115
+#define OP_LoadAnalysis                       116
+#define OP_Explain                            117
+#define OP_IfMemZero                          118
+#define OP_OpenPseudo                         119
+#define OP_OpenEphemeral                      120
+#define OP_Null                               121
+#define OP_Blob                               122
+#define OP_Add                                 79   /* same as TK_PLUS     */
+#define OP_MemStore                           123
+#define OP_Rewind                             124
+#define OP_MoveGe                             125
+#define OP_VBegin                             128
+#define OP_VUpdate                            129
+#define OP_BitNot                              88   /* same as TK_BITNOT   */
+#define OP_VCreate                            130
+#define OP_MemMove                            131
+#define OP_MemNull                            132
+#define OP_Found                              133
+#define OP_NullRow                            134
 
 /* The following opcode values are never used */
+#define OP_NotUsed_135                        135
 #define OP_NotUsed_136                        136
 #define OP_NotUsed_137                        137
 #define OP_NotUsed_138                        138
@@ -149,13 +149,13 @@
 /* Opcodes that are guaranteed to never push a value onto the stack
 ** contain a 1 their corresponding position of the following mask
 ** set.  See the opcodeNoPush() function in vdbeaux.c  */
-#define NOPUSH_MASK_0 0x9fec
-#define NOPUSH_MASK_1 0xfffb
-#define NOPUSH_MASK_2 0x7bbb
-#define NOPUSH_MASK_3 0x65a9
+#define NOPUSH_MASK_0 0xeeb4
+#define NOPUSH_MASK_1 0x796b
+#define NOPUSH_MASK_2 0x7ddb
+#define NOPUSH_MASK_3 0xff92
 #define NOPUSH_MASK_4 0xffff
-#define NOPUSH_MASK_5 0x9eef
-#define NOPUSH_MASK_6 0xed6c
-#define NOPUSH_MASK_7 0x3fff
-#define NOPUSH_MASK_8 0xf80a
+#define NOPUSH_MASK_5 0xd9ef
+#define NOPUSH_MASK_6 0xfefe
+#define NOPUSH_MASK_7 0x39d9
+#define NOPUSH_MASK_8 0xf867
 #define NOPUSH_MASK_9 0x0000

Modified: freeswitch/trunk/libs/win32/sqlite/parse.c
==============================================================================
--- freeswitch/trunk/libs/win32/sqlite/parse.c	(original)
+++ freeswitch/trunk/libs/win32/sqlite/parse.c	Thu Feb 22 18:13:56 2007
@@ -93,36 +93,36 @@
 **                       defined, then do no error processing.
 */
 #define YYCODETYPE unsigned char
-#define YYNOCODE 248
+#define YYNOCODE 249
 #define YYACTIONTYPE unsigned short int
 #define YYWILDCARD 60
 #define sqlite3ParserTOKENTYPE Token
 typedef union {
   sqlite3ParserTOKENTYPE yy0;
-  int yy46;
-  struct LikeOp yy72;
-  Expr* yy172;
-  ExprList* yy174;
-  Select* yy219;
-  struct LimitVal yy234;
-  TriggerStep* yy243;
-  struct TrigEvent yy370;
-  SrcList* yy373;
-  Expr * yy386;
-  struct {int value; int mask;} yy405;
-  Token yy410;
-  IdList* yy432;
-  int yy495;
+  Select* yy43;
+  TriggerStep* yy75;
+  struct LimitVal yy84;
+  struct LikeOp yy86;
+  Expr * yy158;
+  Token yy178;
+  struct {int value; int mask;} yy207;
+  ExprList* yy242;
+  int yy316;
+  IdList* yy352;
+  struct TrigEvent yy354;
+  SrcList* yy419;
+  Expr* yy450;
+  int yy497;
 } YYMINORTYPE;
 #define YYSTACKDEPTH 100
 #define sqlite3ParserARG_SDECL Parse *pParse;
 #define sqlite3ParserARG_PDECL ,Parse *pParse
 #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse
 #define sqlite3ParserARG_STORE yypParser->pParse = pParse
-#define YYNSTATE 586
-#define YYNRULE 310
+#define YYNSTATE 587
+#define YYNRULE 312
 #define YYERRORSYMBOL 139
-#define YYERRSYMDT yy495
+#define YYERRSYMDT yy497
 #define YYFALLBACK 1
 #define YY_NO_ACTION      (YYNSTATE+YYNRULE+2)
 #define YY_ACCEPT_ACTION  (YYNSTATE+YYNRULE+1)
@@ -176,409 +176,415 @@
 **  yy_default[]       Default action for each state.
 */
 static const YYACTIONTYPE yy_action[] = {
- /*     0 */   290,  897,  128,  585,  237,  172,    2,  478,   89,   89,
- /*    10 */    89,   89,  302,   75,   75,   75,   75,   71,   71,   85,
- /*    20 */    85,   85,   60,  417,  418,  302,  456,  443,   67,   75,
- /*    30 */    75,   75,   75,   71,   71,   85,   85,   85,   60,  286,
- /*    40 */   324,  458,  463,  464,  171,   80,   83,  313,  435,  433,
- /*    50 */   442,  442,   91,   91,   89,   89,   89,   89,  422,   75,
- /*    60 */    75,   75,   75,   71,   71,   85,   85,   85,   60,  290,
- /*    70 */   479,  477,  478,   57,  491,   78,   75,   75,   75,   75,
- /*    80 */    71,   71,   85,   85,   85,   60,  181,  114,  243,  327,
- /*    90 */   244,  330,  182,  248,  424,  456,  443,  279,  423,   90,
- /*   100 */   253,  243,  327,  244,  330,  182,  248,  485,  485,  485,
- /*   110 */   363,  283,  290,  253,   80,   83,  313,  435,  433,  442,
- /*   120 */   442,   91,   91,   89,   89,   89,   89,  336,   75,   75,
- /*   130 */    75,   75,   71,   71,   85,   85,   85,   60,  456,  443,
- /*   140 */    71,   71,   85,   85,   85,   60,  172,  448,  478,  499,
- /*   150 */    49,  580,  887,  427,  887,  290,  573,   80,   83,  313,
- /*   160 */   435,  433,  442,  442,   91,   91,   89,   89,   89,   89,
- /*   170 */   177,   75,   75,   75,   75,   71,   71,   85,   85,   85,
- /*   180 */    60,  456,  443,  159,  565,  447,  352,  359,  364,  386,
- /*   190 */   235,  339,  575,    1,   72,   79,   64,  565,  369,  388,
- /*   200 */    80,   83,  313,  435,  433,  442,  442,   91,   91,   89,
- /*   210 */    89,   89,   89,  478,   75,   75,   75,   75,   71,   71,
- /*   220 */    85,   85,   85,   60,  462,  527,  568,  290,   92,  438,
- /*   230 */   242,  486,  565,  545,   22,  458,  341,  275,  276,  565,
- /*   240 */   466,  217,  462,  577,  315,  148,  582,  210,  258,  564,
- /*   250 */   561,  392,   22,  456,  443,  147,  145,  146,  393,  431,
- /*   260 */   533,  195,  564,  561,  479,  463,  346,  171,  491,  822,
- /*   270 */    55,   59,   80,   83,  313,  435,  433,  442,  442,   91,
- /*   280 */    91,   89,   89,   89,   89,  557,   75,   75,   75,   75,
- /*   290 */    71,   71,   85,   85,   85,   60,  290,  564,  561,  308,
- /*   300 */   490,  485,  485,  485,  564,  561,  159,  223,  565,  352,
- /*   310 */   359,  364,  336,  159,  336,  548,  352,  359,  364,  221,
- /*   320 */   151,  369,  456,  443,  413,  316,  576,  422,  369,  580,
- /*   330 */   888,  206,  888,  197,  499,   47,  499,   23,  191,  583,
- /*   340 */   232,   80,   83,  313,  435,  433,  442,  442,   91,   91,
- /*   350 */    89,   89,   89,   89,  498,   75,   75,   75,   75,   71,
- /*   360 */    71,   85,   85,   85,   60,  290,  457,  498,  529,  255,
- /*   370 */   575,  207,  498,  564,  561,  512,  529,  312,   54,  229,
- /*   380 */   528,  224,  510,   65,  336,   76,  153,  581,  528,  400,
- /*   390 */     2,  456,  443,  526,  571,  531,  287,  328,  274,    6,
- /*   400 */   410,  526,  437,  375,  133,  530,  499,   49,  290,  236,
- /*   410 */    80,   83,  313,  435,  433,  442,  442,   91,   91,   89,
- /*   420 */    89,   89,   89,  317,   75,   75,   75,   75,   71,   71,
- /*   430 */    85,   85,   85,   60,  456,  443,   58,  234,  133,  269,
- /*   440 */    85,   85,   85,   60,  164,  238,   65,  228,   76,  153,
- /*   450 */   320,  178,  149,   80,   83,  313,  435,  433,  442,  442,
- /*   460 */    91,   91,   89,   89,   89,   89,  544,   75,   75,   75,
- /*   470 */    75,   71,   71,   85,   85,   85,   60,  290,  498,  414,
- /*   480 */   543,  502,   56,  336,    9,  336,  210,  336,  565,  515,
- /*   490 */   162,  149,  565,  336,  378,  354,  265,  455,  454,  344,
- /*   500 */   318,  155,  219,  456,  443,  499,   47,  499,   24,  499,
- /*   510 */    47,  343,  473,  471,  513,  499,   26,  115,  239,  451,
- /*   520 */   444,  184,   80,   83,  313,  435,  433,  442,  442,   91,
- /*   530 */    91,   89,   89,   89,   89,  498,   75,   75,   75,   75,
- /*   540 */    71,   71,   85,   85,   85,   60,  290,  452,  296,  421,
- /*   550 */   483,  109,  384,  564,  561,  565,  336,  564,  561,  351,
- /*   560 */   400,  336,  489,  336,  400,  336,  360,  336,  429,  429,
- /*   570 */   158,   20,  456,  443,  211,  478,  184,  292,  499,   47,
- /*   580 */   293,  236,  253,  499,   48,  499,   41,  499,   48,  499,
- /*   590 */   100,   80,   83,  313,  435,  433,  442,  442,   91,   91,
- /*   600 */    89,   89,   89,   89,  498,   75,   75,   75,   75,   71,
- /*   610 */    71,   85,   85,   85,   60,  290,  558,  555,  554,  520,
- /*   620 */   564,  561,  500,  300,  473,  471,  586,  577,  315,  345,
- /*   630 */   295,  336,  292,  401,  304,  441,  360,  230,  429,  429,
- /*   640 */   478,  456,  443,   65,  396,   76,  153,  462,  434,  360,
- /*   650 */   314,  429,  429,  499,   30,  362,  566,   22,  290,  355,
- /*   660 */    80,   83,  313,  435,  433,  442,  442,   91,   91,   89,
- /*   670 */    89,   89,   89,  336,   75,   75,   75,   75,   71,   71,
- /*   680 */    85,   85,   85,   60,  456,  443,  211,  476,   65,   21,
- /*   690 */    76,  153,  405,  398,  524,  499,   27,  537,  537,  537,
- /*   700 */   404,  290,  399,   80,   83,  313,  435,  433,  442,  442,
- /*   710 */    91,   91,   89,   89,   89,   89,  336,   75,   75,   75,
- /*   720 */    75,   71,   71,   85,   85,   85,   60,  456,  443,  419,
- /*   730 */   366,  419,  204,  299,  310,  298,  119,  537,  499,   97,
- /*   740 */   537,  185,  192,  186,  290,  406,   80,   82,  313,  435,
- /*   750 */   433,  442,  442,   91,   91,   89,   89,   89,   89,  336,
- /*   760 */    75,   75,   75,   75,   71,   71,   85,   85,   85,   60,
- /*   770 */   456,  443,  305,  468,  468,  301,  225,  225,  225,  519,
- /*   780 */   518,  499,   39,  360,  142,  429,  429,  290,  157,  376,
- /*   790 */    83,  313,  435,  433,  442,  442,   91,   91,   89,   89,
- /*   800 */    89,   89,  336,   75,   75,   75,   75,   71,   71,   85,
- /*   810 */    85,   85,   60,  456,  443,  373,  225,  133,  469,  225,
- /*   820 */   195,  240,  498,  408,  499,   44,  348,  523,  264,   57,
- /*   830 */   133,  183,  193,  201,  313,  435,  433,  442,  442,   91,
- /*   840 */    91,   89,   89,   89,   89,  336,   75,   75,   75,   75,
- /*   850 */    71,   71,   85,   85,   85,   60,   88,  367,  532,    4,
- /*   860 */   336,  325,  336,  306,  180,  498,  504,  499,   25,  336,
- /*   870 */   506,  340,   88,  367,  336,    4,  534,  535,  331,  306,
- /*   880 */   439,  210,  499,   98,  499,   16,  271,  340,  374,  347,
- /*   890 */   152,  499,   35,  249,  326,  336,  499,   32,  498,  458,
- /*   900 */   336,   19,  336,  139,  374,  504,  563,  559,  336,  506,
- /*   910 */   187,  336,  537,  574,  289,  458,  408,  499,   50,   84,
- /*   920 */    86,  347,  499,   42,  499,   31,  620,   88,  333,  334,
- /*   930 */   499,   29,  491,  499,   51,   84,   86,  461,  211,  569,
- /*   940 */   336,  365,  349,   88,  333,  334,   88,  367,  491,    4,
- /*   950 */   336,  210,  336,  306,  336,  218,  542,  336,  236,  236,
- /*   960 */    18,  340,  499,   43,  515,  485,  485,  485,  484,  481,
- /*   970 */    14,  236,  499,   36,  499,   28,  499,   94,  374,  499,
- /*   980 */    53,  485,  485,  485,  484,  481,   14,  205,  356,  458,
- /*   990 */   179,  233,  336,  472,  236,  273,  268,  261,   99,  503,
- /*  1000 */   245,  336,  493,  336,  200,  336,  236,  336,  236,   84,
- /*  1010 */    86,  166,  497,  241,  499,  111,  439,   88,  333,  334,
- /*  1020 */   254,  336,  491,  499,  113,  499,  110,  499,  112,  499,
- /*  1030 */    34,  336,  188,  379,  447,  267,  439,  236,  498,  190,
- /*  1040 */   336,  422,  170,  499,   45,  336,  478,  227,  336,  329,
- /*  1050 */   560,  336,  133,  499,   52,  485,  485,  485,  484,  481,
- /*  1060 */    14,  259,  499,   33,  445,  536,  336,  499,   96,  578,
- /*  1070 */   499,   46,  336,  499,   38,  420,  336,  303,  492,  336,
- /*  1080 */   262,  342,  539,  536,  465,  332,  220,  276,  499,   93,
- /*  1090 */   402,  291,   12,  514,  499,   40,  210,  294,  499,   10,
- /*  1100 */   272,  499,   37,  499,    3,  466,  217,  549,  501,  579,
- /*  1110 */    12,  478,  278,  247,  357,  246,  281,  517,  277,  337,
- /*  1120 */   321,  144,  470,  390,  487,  524,  389,  562,  372,  488,
- /*  1130 */   440,  540,  460,  196,  467,  117,  380,  307,  323,  126,
- /*  1140 */   521,  397,  383,  194,  522,  231,  209,   74,  368,  412,
- /*  1150 */   226,  214,  199,   61,  388,  215,  387,  189,  216,  335,
- /*  1160 */   212,  134,  409,  309,  106,  285,  135,  125,  547,  210,
- /*  1170 */   496,  138,   68,  541,  509,  121,  260,   55,  507,  250,
- /*  1180 */   385,  288,  251,   87,  252,  381,   62,  266,  505,  173,
- /*  1190 */   415,  120,    8,  513,  358,  322,  175,  550,  516,   73,
- /*  1200 */   361,  263,   69,  428,  425,  432,  570,  508,  482,  551,
- /*  1210 */   495,  567,  280,  131,  552,  123,  174,  203,  553,  446,
- /*  1220 */   449,    5,  556,   12,  338,  391,  382,  213,  394,   17,
- /*  1230 */     7,  377,  102,  101,  141,   95,  118,  403,  221,  127,
- /*  1240 */   311,  202,  222,  407,  150,  156,  176,  371,  411,  257,
- /*  1250 */   108,  416,  480,  370,  297,  475,  195,  140,  453,  395,
- /*  1260 */   137,   66,  256,  122,  430,  426,  107,  168,  105,  284,
- /*  1270 */   270,  129,  104,  353,  436,   60,  584,  450,  136,  572,
- /*  1280 */   350,   81,  143,   77,  282,  459,  198,  161,   13,  103,
- /*  1290 */   319,  474,  154,  546,  169,  525,  167,  160,  116,   63,
- /*  1300 */   163,  538,   15,  208,  494,  165,  132,  124,  622,   70,
- /*  1310 */   621,  511,  130,  559,   11,
+ /*     0 */   289,  900,  121,  586,  205,  169,    2,  435,   61,   61,
+ /*    10 */    61,   61,  435,   63,   63,   63,   63,   64,   64,   65,
+ /*    20 */    65,   65,   66,  230,  198,  299,  420,  426,   68,   63,
+ /*    30 */    63,   63,   63,   64,   64,   65,   65,   65,   66,  230,
+ /*    40 */    67,  447,   69,  151,  230,   60,   59,  294,  430,  431,
+ /*    50 */   427,  427,   62,   62,   61,   61,   61,   61,  411,   63,
+ /*    60 */    63,   63,   63,   64,   64,   65,   65,   65,   66,  230,
+ /*    70 */   289,  487,  515,  435,  570,  415,   80,   67,  435,   69,
+ /*    80 */   151,   63,   63,   63,   63,   64,   64,   65,   65,   65,
+ /*    90 */    66,  230,  569,  568,  248,  386,  420,  426,    2,  572,
+ /*   100 */    58,  115,  238,  340,  243,  341,  173,  417,  417,  417,
+ /*   110 */   570,  387,  384,  249,  289,   60,   59,  294,  430,  431,
+ /*   120 */   427,  427,   62,   62,   61,   61,   61,   61,  569,   63,
+ /*   130 */    63,   63,   63,   64,   64,   65,   65,   65,   66,  230,
+ /*   140 */   420,  426,   92,   64,   64,   65,   65,   65,   66,  230,
+ /*   150 */   245,  392,   56,  171,  566,  207,  406,  443,  208,   60,
+ /*   160 */    59,  294,  430,  431,  427,  427,   62,   62,   61,   61,
+ /*   170 */    61,   61,  205,   63,   63,   63,   63,   64,   64,   65,
+ /*   180 */    65,   65,   66,  230,  289,  368,  522,  411,  522,  111,
+ /*   190 */   378,  207,  447,  467,  223,  403,   21,  532,   21,  172,
+ /*   200 */   157,  317,   66,  230,  336,  404,  520,  443,  208,  486,
+ /*   210 */   420,  426,  146,  147,  517,  488,  489,  393,  394,  148,
+ /*   220 */   531,  224,  487,  410,   41,  407,  415,  567,  289,   60,
+ /*   230 */    59,  294,  430,  431,  427,  427,   62,   62,   61,   61,
+ /*   240 */    61,   61,  476,   63,   63,   63,   63,   64,   64,   65,
+ /*   250 */    65,   65,   66,  230,  420,  426,  491,  492,  417,  417,
+ /*   260 */   417,  155,  549,  331,  211,   65,   65,   65,   66,  230,
+ /*   270 */   546,  492,  289,   60,   59,  294,  430,  431,  427,  427,
+ /*   280 */    62,   62,   61,   61,   61,   61,  467,   63,   63,   63,
+ /*   290 */    63,   64,   64,   65,   65,   65,   66,  230,  420,  426,
+ /*   300 */   548,  299,  178,  297,  522,  342,  345,  346,  472,   67,
+ /*   310 */   460,   69,  151,  577,   21,  338,  347,   60,   59,  294,
+ /*   320 */   430,  431,  427,  427,   62,   62,   61,   61,   61,   61,
+ /*   330 */   530,   63,   63,   63,   63,   64,   64,   65,   65,   65,
+ /*   340 */    66,  230,  409,  523,   76,  289,  408,  478,  452,  482,
+ /*   350 */   392,  369,  266,  265,  283,  149,  405,  445,  521,  165,
+ /*   360 */   453,  317,  205,   67,  517,   69,  151,  529,  503,  152,
+ /*   370 */   248,  420,  426,  454,  528,  493,  161,  115,  238,  340,
+ /*   380 */   243,  341,  173,  410,   35,  494,  580,  288,   79,  249,
+ /*   390 */    60,   59,  294,  430,  431,  427,  427,   62,   62,   61,
+ /*   400 */    61,   61,   61,  411,   63,   63,   63,   63,   64,   64,
+ /*   410 */    65,   65,   65,   66,  230,  289,  393,  394,  178,  485,
+ /*   420 */   508,  342,  345,  346,  178,  296,  317,  342,  345,  346,
+ /*   430 */   366,  317,  347,   20,  317,  141,  317,  457,  347,  150,
+ /*   440 */   509,  420,  426,   22,  295,  438,  439,  435,  410,   35,
+ /*   450 */   328,  260,  472,  410,   28,  232,  410,   35,  410,   36,
+ /*   460 */    60,   59,  294,  430,  431,  427,  427,   62,   62,   61,
+ /*   470 */    61,   61,   61,  411,   63,   63,   63,   63,   64,   64,
+ /*   480 */    65,   65,   65,   66,  230,  289,  436,  481,   23,  502,
+ /*   490 */   298,  234,  380,  301,  317,  217,  317,  476,  333,  317,
+ /*   500 */   392,  317,  457,  337,  168,  157,  421,  422,  207,  231,
+ /*   510 */   457,  420,  426,  435,  313,  388,  410,   35,  410,   49,
+ /*   520 */   204,  410,   41,  410,   49,  410,    3,  197,  424,  425,
+ /*   530 */    60,   59,  294,  430,  431,  427,  427,   62,   62,   61,
+ /*   540 */    61,   61,   61,  382,   63,   63,   63,   63,   64,   64,
+ /*   550 */    65,   65,   65,   66,  230,  289,  443,  423,  357,  252,
+ /*   560 */   434,  411,  210,  292,  308,  350,  393,  394,  448,  309,
+ /*   570 */   456,  322,  438,  439,  320,    1,  433,  433,   19,  392,
+ /*   580 */   541,  420,  426,  191,  540,  375,  584,  891,  543,  891,
+ /*   590 */   584,  890,  174,  890,  472,  392,  358,  445,  323,  165,
+ /*   600 */    60,   59,  294,  430,  431,  427,  427,   62,   62,   61,
+ /*   610 */    61,   61,   61,  383,   63,   63,   63,   63,   64,   64,
+ /*   620 */    65,   65,   65,   66,  230,  289,  370,  581,    9,  452,
+ /*   630 */    91,  581,   10,  236,  409,  207,  392,  359,  408,  392,
+ /*   640 */   156,  453,  169,  362,  435,  393,  394,  320,  291,  433,
+ /*   650 */   433,  420,  426,  249,  454,  320,  327,  433,  433,  260,
+ /*   660 */   462,  393,  394,  515,  515,  545,  515,  463,  270,  289,
+ /*   670 */    60,   59,  294,  430,  431,  427,  427,   62,   62,   61,
+ /*   680 */    61,   61,   61,   82,   63,   63,   63,   63,   64,   64,
+ /*   690 */    65,   65,   65,   66,  230,  420,  426,  480,  302,  216,
+ /*   700 */   261,  303,  393,  394,  822,  393,  394,  273,  515,  271,
+ /*   710 */   435,  515,  334,  289,   60,   59,  294,  430,  431,  427,
+ /*   720 */   427,   62,   62,   61,   61,   61,   61,  233,   63,   63,
+ /*   730 */    63,   63,   64,   64,   65,   65,   65,   66,  230,  420,
+ /*   740 */   426,  247,  247,  304,  247,  318,  306,  587,  387,  384,
+ /*   750 */   395,  396,  397,  320,  219,  433,  433,  289,   60,   70,
+ /*   760 */   294,  430,  431,  427,  427,   62,   62,   61,   61,   61,
+ /*   770 */    61,  317,   63,   63,   63,   63,   64,   64,   65,   65,
+ /*   780 */    65,   66,  230,  420,  426,  476,  247,  391,  272,  247,
+ /*   790 */   539,  356,  539,  410,   29,  175,  176,  177,  162,  260,
+ /*   800 */   260,  289,    5,   59,  294,  430,  431,  427,  427,   62,
+ /*   810 */    62,   61,   61,   61,   61,  377,   63,   63,   63,   63,
+ /*   820 */    64,   64,   65,   65,   65,   66,  230,  420,  426,  392,
+ /*   830 */   311,  120,  392,  319,  205,  260,  366,  465,  254,  189,
+ /*   840 */   556,  558,  260,   75,  260,   77,  307,  376,  294,  430,
+ /*   850 */   431,  427,  427,   62,   62,   61,   61,   61,   61,  260,
+ /*   860 */    63,   63,   63,   63,   64,   64,   65,   65,   65,   66,
+ /*   870 */   230,   72,  324,  411,    4,  260,  559,  258,  293,  256,
+ /*   880 */   174,  125,  317,  560,  317,  274,  321,   72,  324,  193,
+ /*   890 */     4,  153,  621,  180,  293,  393,  394,  367,  393,  394,
+ /*   900 */   374,  218,  321,  326,  410,   24,  410,   33,  183,  317,
+ /*   910 */   428,  206,  441,  441,  447,  317,  276,  317,   55,  326,
+ /*   920 */   363,  468,  239,  411,  469,  411,  455,  411,   13,  144,
+ /*   930 */   447,  410,   53,  240,   74,   73,  291,  410,   52,  410,
+ /*   940 */    96,  116,  411,   72,  315,  316,  582,  474,  415,  170,
+ /*   950 */    74,   73,  479,  317,  507,  506,  317,  500,  416,   72,
+ /*   960 */   315,  316,   72,  324,  415,    4,  205,  317,  329,  293,
+ /*   970 */   317,  458,  483,  444,   13,  410,   94,  321,  410,   99,
+ /*   980 */   417,  417,  417,  418,  419,   12,  583,  466,  317,  410,
+ /*   990 */   100,  471,  410,  110,  326,  475,  417,  417,  417,  418,
+ /*  1000 */   419,   12,  497,  498,  512,  447,  125,  159,  244,  317,
+ /*  1010 */   410,  112,  220,  221,  222,  102,  537,  538,  317,  251,
+ /*  1020 */   317,  125,  317,  504,  505,   74,   73,  349,  202,  125,
+ /*  1030 */   278,  410,   17,  510,   72,  315,  316,  279,  524,  415,
+ /*  1040 */   410,   97,  410,   34,  410,   95,  317,  511,  544,  200,
+ /*  1050 */   125,  548,  552,  253,  170,  317,  199,  255,  317,  201,
+ /*  1060 */   553,  257,   89,  317,  259,  563,  317,   89,  410,   25,
+ /*  1070 */   317,  417,  417,  417,  418,  419,   12,  410,   54,  186,
+ /*  1080 */   410,  113,  354,  317,  264,  410,  114,  317,  410,   26,
+ /*  1090 */   361,  364,  410,   37,  579,  365,  287,  317,  267,  317,
+ /*  1100 */   143,  317,  373,  275,  265,  410,   38,  268,  290,  410,
+ /*  1110 */    27,  317,  269,  205,  555,  565,  317,  277,  317,  410,
+ /*  1120 */    39,  410,   40,  410,   42,  317,  280,  317,  281,  317,
+ /*  1130 */   576,  317,  225,  410,   43,  401,  503,  379,  410,   44,
+ /*  1140 */   410,   30,  317,  325,  440,  317,  461,  410,   31,  410,
+ /*  1150 */    45,  410,   46,  410,   47,  442,  317,  551,  317,  464,
+ /*  1160 */   317,  241,  513,  516,  410,   48,  344,  410,   32,  562,
+ /*  1170 */   160,  390,  398,  399,  400,    8,  314,  412,  410,   11,
+ /*  1180 */   410,   50,  410,   51,   82,  332,  226,   81,  330,  227,
+ /*  1190 */    57,  406,  414,  228,   78,  167,  229,  209,   83,  413,
+ /*  1200 */   459,  122,  335,  339,  500,  490,  235,  495,  242,  473,
+ /*  1210 */   237,  300,  477,  499,  496,  501,  103,  284,  246,  514,
+ /*  1220 */   518,  519,  525,  526,  527,  351,  533,  181,  285,  182,
+ /*  1230 */   184,  214,  353,  185,  535,  187,  215,  355,   86,  118,
+ /*  1240 */   360,  547,  190,  129,  139,  371,  262,  372,  130,  536,
+ /*  1250 */   554,  310,  131,  132,  573,   90,  133,  135,   93,  138,
+ /*  1260 */   578,  574,  575,  109,  213,  561,  101,  119,  389,   18,
+ /*  1270 */    98,  402,  622,  623,  163,  164,  429,  312,  432,   71,
+ /*  1280 */   449,  437,  446,  140,  154,  166,  450,    6,  451,  470,
+ /*  1290 */     7,  123,   14,   13,  124,  158,  484,  212,   84,  343,
+ /*  1300 */   104,  348,  250,  105,   85,  117,  106,  240,  179,  352,
+ /*  1310 */   142,  534,  126,  305,  170,  263,  188,  107,  286,  550,
+ /*  1320 */   127,  128,   15,  542,  192,   87,  194,   88,  195,  557,
+ /*  1330 */   196,  136,  137,  134,   16,  108,  571,  282,  381,  564,
+ /*  1340 */   203,  145,  385,  901,  585,
 };
 static const YYCODETYPE yy_lookahead[] = {
- /*     0 */    16,  140,  141,  142,  148,   21,  145,   23,   70,   71,
- /*    10 */    72,   73,   16,   75,   76,   77,   78,   79,   80,   81,
- /*    20 */    82,   83,   84,   51,   52,   16,   42,   43,   74,   75,
- /*    30 */    76,   77,   78,   79,   80,   81,   82,   83,   84,  159,
- /*    40 */   148,   59,  162,  163,  164,   61,   62,   63,   64,   65,
- /*    50 */    66,   67,   68,   69,   70,   71,   72,   73,  162,   75,
- /*    60 */    76,   77,   78,   79,   80,   81,   82,   83,   84,   16,
- /*    70 */    88,   20,   88,   22,   92,   22,   75,   76,   77,   78,
- /*    80 */    79,   80,   81,   82,   83,   84,   90,   91,   92,   93,
- /*    90 */    94,   95,   96,   97,   25,   42,   43,  201,   29,   46,
- /*   100 */   104,   92,   93,   94,   95,   96,   97,  125,  126,  127,
- /*   110 */    41,  148,   16,  104,   61,   62,   63,   64,   65,   66,
- /*   120 */    67,   68,   69,   70,   71,   72,   73,  148,   75,   76,
- /*   130 */    77,   78,   79,   80,   81,   82,   83,   84,   42,   43,
- /*   140 */    79,   80,   81,   82,   83,   84,   21,   11,   23,  170,
- /*   150 */   171,   19,   20,   18,   22,   16,  179,   61,   62,   63,
- /*   160 */    64,   65,   66,   67,   68,   69,   70,   71,   72,   73,
- /*   170 */    22,   75,   76,   77,   78,   79,   80,   81,   82,   83,
- /*   180 */    84,   42,   43,   90,   23,   49,   93,   94,   95,  210,
- /*   190 */   211,   56,   60,   19,  131,   19,  133,   23,  105,   23,
- /*   200 */    61,   62,   63,   64,   65,   66,   67,   68,   69,   70,
- /*   210 */    71,   72,   73,   88,   75,   76,   77,   78,   79,   80,
- /*   220 */    81,   82,   83,   84,  148,  148,   30,   16,  132,   94,
- /*   230 */   191,   20,   23,  157,  158,   59,  100,  101,  102,   23,
- /*   240 */    79,   80,  148,    1,    2,   22,   50,  111,  154,   88,
- /*   250 */    89,  157,  158,   42,   43,   79,   80,  181,  182,   20,
- /*   260 */    99,   22,   88,   89,   88,  162,  163,  164,   92,  134,
- /*   270 */   122,  132,   61,   62,   63,   64,   65,   66,   67,   68,
- /*   280 */    69,   70,   71,   72,   73,  179,   75,   76,   77,   78,
- /*   290 */    79,   80,   81,   82,   83,   84,   16,   88,   89,  103,
- /*   300 */    20,  125,  126,  127,   88,   89,   90,   92,   23,   93,
- /*   310 */    94,   95,  148,   90,  148,  148,   93,   94,   95,  104,
- /*   320 */   156,  105,   42,   43,  115,  143,  144,  162,  105,   19,
- /*   330 */    20,  149,   22,  156,  170,  171,  170,  171,  156,  179,
- /*   340 */    14,   61,   62,   63,   64,   65,   66,   67,   68,   69,
- /*   350 */    70,   71,   72,   73,  190,   75,   76,   77,   78,   79,
- /*   360 */    80,   81,   82,   83,   84,   16,  201,  190,   12,   20,
- /*   370 */    60,  193,  190,   88,   89,   27,   12,  213,  200,   53,
- /*   380 */    24,   55,   34,  218,  148,  220,  221,  142,   24,  225,
- /*   390 */   145,   42,   43,   37,   20,   39,   22,  215,   14,  192,
- /*   400 */   115,   37,   20,   39,   22,   49,  170,  171,   16,  148,
- /*   410 */    61,   62,   63,   64,   65,   66,   67,   68,   69,   70,
- /*   420 */    71,   72,   73,  241,   75,   76,   77,   78,   79,   80,
- /*   430 */    81,   82,   83,   84,   42,   43,   44,   53,   22,   55,
- /*   440 */    81,   82,   83,   84,  156,  148,  218,  211,  220,  221,
- /*   450 */   189,  202,  203,   61,   62,   63,   64,   65,   66,   67,
- /*   460 */    68,   69,   70,   71,   72,   73,  238,   75,   76,   77,
- /*   470 */    78,   79,   80,   81,   82,   83,   84,   16,  190,   20,
- /*   480 */   168,  169,   21,  148,   19,  148,  111,  148,   23,  177,
- /*   490 */   202,  203,   23,  148,   16,  207,  146,   42,   43,  124,
- /*   500 */   239,  156,  148,   42,   43,  170,  171,  170,  171,  170,
- /*   510 */   171,  165,  166,  167,   98,  170,  171,  148,  134,   64,
- /*   520 */    65,   43,   61,   62,   63,   64,   65,   66,   67,   68,
- /*   530 */    69,   70,   71,   72,   73,  190,   75,   76,   77,   78,
- /*   540 */    79,   80,   81,   82,   83,   84,   16,   92,  213,   20,
- /*   550 */    81,   21,  213,   88,   89,   23,  148,   88,   89,   16,
- /*   560 */   225,  148,   20,  148,  225,  148,  107,  148,  109,  110,
- /*   570 */   156,   19,   42,   43,  228,   23,   43,   99,  170,  171,
- /*   580 */   151,  148,  104,  170,  171,  170,  171,  170,  171,  170,
- /*   590 */   171,   61,   62,   63,   64,   65,   66,   67,   68,   69,
- /*   600 */    70,   71,   72,   73,  190,   75,   76,   77,   78,   79,
- /*   610 */    80,   81,   82,   83,   84,   16,    7,    8,    9,   20,
- /*   620 */    88,   89,  189,  165,  166,  167,    0,    1,    2,  215,
- /*   630 */   217,  148,   99,  225,  217,   92,  107,  222,  109,  110,
- /*   640 */    88,   42,   43,  218,  219,  220,  221,  148,  148,  107,
- /*   650 */   236,  109,  110,  170,  171,  226,  157,  158,   16,  230,
- /*   660 */    61,   62,   63,   64,   65,   66,   67,   68,   69,   70,
- /*   670 */    71,   72,   73,  148,   75,   76,   77,   78,   79,   80,
- /*   680 */    81,   82,   83,   84,   42,   43,  228,   20,  218,   22,
- /*   690 */   220,  221,   22,  177,  178,  170,  171,  148,  148,  148,
- /*   700 */   184,   16,  148,   61,   62,   63,   64,   65,   66,   67,
- /*   710 */    68,   69,   70,   71,   72,   73,  148,   75,   76,   77,
- /*   720 */    78,   79,   80,   81,   82,   83,   84,   42,   43,  100,
- /*   730 */   101,  102,  183,  183,  183,  242,  243,  148,  170,  171,
- /*   740 */   148,  100,  101,  102,   16,  204,   61,   62,   63,   64,
- /*   750 */    65,   66,   67,   68,   69,   70,   71,   72,   73,  148,
- /*   760 */    75,   76,   77,   78,   79,   80,   81,   82,   83,   84,
- /*   770 */    42,   43,  183,  125,  126,  183,  227,  227,  227,    7,
- /*   780 */     8,  170,  171,  107,  114,  109,  110,   16,  156,  233,
- /*   790 */    62,   63,   64,   65,   66,   67,   68,   69,   70,   71,
- /*   800 */    72,   73,  148,   75,   76,   77,   78,   79,   80,   81,
- /*   810 */    82,   83,   84,   42,   43,   20,  227,   22,   20,  227,
- /*   820 */    22,  148,  190,   22,  170,  171,  148,   20,   20,   22,
- /*   830 */    22,  156,   19,  232,   63,   64,   65,   66,   67,   68,
- /*   840 */    69,   70,   71,   72,   73,  148,   75,   76,   77,   78,
- /*   850 */    79,   80,   81,   82,   83,   84,   16,   17,  148,   19,
- /*   860 */   148,   91,  148,   23,  156,  190,  108,  170,  171,  148,
- /*   870 */   112,   31,   16,   17,  148,   19,  166,  167,   81,   23,
- /*   880 */   148,  111,  170,  171,  170,  171,  148,   31,   48,  148,
- /*   890 */    89,  170,  171,  148,  124,  148,  170,  171,  190,   59,
- /*   900 */   148,   19,  148,   21,   48,  108,   91,   92,  148,  112,
- /*   910 */    19,  148,  148,  244,  245,   59,  115,  170,  171,   79,
- /*   920 */    80,  148,  170,  171,  170,  171,  113,   87,   88,   89,
- /*   930 */   170,  171,   92,  170,  171,   79,   80,   81,  228,  148,
- /*   940 */   148,  209,  148,   87,   88,   89,   16,   17,   92,   19,
- /*   950 */   148,  111,  148,   23,  148,  214,  169,  148,  148,  148,
- /*   960 */    69,   31,  170,  171,  177,  125,  126,  127,  128,  129,
- /*   970 */   130,  148,  170,  171,  170,  171,  170,  171,   48,  170,
- /*   980 */   171,  125,  126,  127,  128,  129,  130,  214,  174,   59,
- /*   990 */     5,  227,  148,  161,  148,   10,   11,   12,   13,  189,
- /*  1000 */   189,  148,  170,  148,  156,  148,  148,  148,  148,   79,
- /*  1010 */    80,   26,  189,   28,  170,  171,  148,   87,   88,   89,
- /*  1020 */    35,  148,   92,  170,  171,  170,  171,  170,  171,  170,
- /*  1030 */   171,  148,   47,  148,   49,  189,  148,  148,  190,   54,
- /*  1040 */   148,  162,   57,  170,  171,  148,   23,  189,  148,  189,
- /*  1050 */    20,  148,   22,  170,  171,  125,  126,  127,  128,  129,
- /*  1060 */   130,  148,  170,  171,  186,  187,  148,  170,  171,   20,
- /*  1070 */   170,  171,  148,  170,  171,  148,  148,  209,  189,  148,
- /*  1080 */   201,  148,  186,  187,  162,  100,  101,  102,  170,  171,
- /*  1090 */    20,  106,   22,  195,  170,  171,  111,  209,  170,  171,
- /*  1100 */   148,  170,  171,  170,  171,   79,   80,  150,   20,   60,
- /*  1110 */    22,   88,  148,  194,  148,  173,  148,  173,  148,  148,
- /*  1120 */   135,  192,  229,  173,  148,  178,  173,  148,  224,  148,
- /*  1130 */   148,  173,  195,  113,  229,   61,  153,   40,   99,  185,
- /*  1140 */   180,  153,   15,  152,  172,   97,  212,  131,   38,  235,
- /*  1150 */   234,  212,  152,  131,   23,  223,  161,  152,  212,   15,
- /*  1160 */   212,  188,  153,  153,   19,  175,  188,   19,   33,  111,
- /*  1170 */   190,  216,  237,  172,  172,  216,  172,  122,  161,  195,
- /*  1180 */   119,  175,  196,  120,  197,  117,  237,  198,  180,  152,
- /*  1190 */   172,  153,   22,   98,  153,  155,    6,  147,  174,   99,
- /*  1200 */   116,  205,  121,  206,  172,  172,  147,  195,  195,  147,
- /*  1210 */   199,  138,  205,  188,  147,  188,  185,  153,  153,  185,
- /*  1220 */   206,  118,  153,   22,  153,  153,   16,  176,   17,  231,
- /*  1230 */   118,  187,  240,  176,   21,  160,  243,   20,  104,   99,
- /*  1240 */   246,   22,  148,   20,  148,   19,   96,  148,   11,  148,
- /*  1250 */    19,  115,  170,   44,   36,  170,   22,   19,  182,  182,
- /*  1260 */    45,   19,  134,   19,  108,   45,   19,   99,   19,    5,
- /*  1270 */    20,   20,   19,   44,   92,   84,    4,    1,  103,    1,
- /*  1280 */     3,   69,   19,   69,  137,   20,  123,  136,   19,   14,
- /*  1290 */    58,   20,  113,   20,  114,  124,   14,  116,   32,   19,
- /*  1300 */   113,   20,   19,   44,   17,  113,  123,  103,  113,   19,
- /*  1310 */   113,   20,  114,  247,   22,
+ /*     0 */    16,  140,  141,  142,  111,   21,  145,   23,   70,   71,
+ /*    10 */    72,   73,   23,   75,   76,   77,   78,   79,   80,   81,
+ /*    20 */    82,   83,   84,   85,  156,   16,   42,   43,   74,   75,
+ /*    30 */    76,   77,   78,   79,   80,   81,   82,   83,   84,   85,
+ /*    40 */   217,   59,  219,  220,   85,   61,   62,   63,   64,   65,
+ /*    50 */    66,   67,   68,   69,   70,   71,   72,   73,  190,   75,
+ /*    60 */    76,   77,   78,   79,   80,   81,   82,   83,   84,   85,
+ /*    70 */    16,   89,  148,   89,  148,   93,   22,  217,   89,  219,
+ /*    80 */   220,   75,   76,   77,   78,   79,   80,   81,   82,   83,
+ /*    90 */    84,   85,  166,  167,   85,  142,   42,   43,  145,  239,
+ /*   100 */    46,   92,   93,   94,   95,   96,   97,  125,  126,  127,
+ /*   110 */   148,    1,    2,  104,   16,   61,   62,   63,   64,   65,
+ /*   120 */    66,   67,   68,   69,   70,   71,   72,   73,  166,   75,
+ /*   130 */    76,   77,   78,   79,   80,   81,   82,   83,   84,   85,
+ /*   140 */    42,   43,   44,   79,   80,   81,   82,   83,   84,   85,
+ /*   150 */   226,   23,   19,  156,  228,  229,   23,   79,   80,   61,
+ /*   160 */    62,   63,   64,   65,   66,   67,   68,   69,   70,   71,
+ /*   170 */    72,   73,  111,   75,   76,   77,   78,   79,   80,   81,
+ /*   180 */    82,   83,   84,   85,   16,  124,  148,  190,  148,   21,
+ /*   190 */   228,  229,   59,   22,  154,  157,  158,  157,  158,  202,
+ /*   200 */   203,  148,   84,   85,  207,  168,  169,   79,   80,  170,
+ /*   210 */    42,   43,   79,   80,  177,  170,  161,   89,   90,  181,
+ /*   220 */   182,  191,   89,  170,  171,  170,   93,   99,   16,   61,
+ /*   230 */    62,   63,   64,   65,   66,   67,   68,   69,   70,   71,
+ /*   240 */    72,   73,  148,   75,   76,   77,   78,   79,   80,   81,
+ /*   250 */    82,   83,   84,   85,   42,   43,  186,  187,  125,  126,
+ /*   260 */   127,   90,   11,  210,  211,   81,   82,   83,   84,   85,
+ /*   270 */   186,  187,   16,   61,   62,   63,   64,   65,   66,   67,
+ /*   280 */    68,   69,   70,   71,   72,   73,  115,   75,   76,   77,
+ /*   290 */    78,   79,   80,   81,   82,   83,   84,   85,   42,   43,
+ /*   300 */    49,   16,   91,  209,  148,   94,   95,   96,  162,  217,
+ /*   310 */   218,  219,  220,  157,  158,   81,  105,   61,   62,   63,
+ /*   320 */    64,   65,   66,   67,   68,   69,   70,   71,   72,   73,
+ /*   330 */   182,   75,   76,   77,   78,   79,   80,   81,   82,   83,
+ /*   340 */    84,   85,  108,  182,  132,   16,  112,  201,   12,   20,
+ /*   350 */    23,  100,  101,  102,  159,   22,  169,  162,  163,  164,
+ /*   360 */    24,  148,  111,  217,  177,  219,  220,  177,  178,  156,
+ /*   370 */    85,   42,   43,   37,  184,   39,   91,   92,   93,   94,
+ /*   380 */    95,   96,   97,  170,  171,   49,  245,  246,  132,  104,
+ /*   390 */    61,   62,   63,   64,   65,   66,   67,   68,   69,   70,
+ /*   400 */    71,   72,   73,  190,   75,   76,   77,   78,   79,   80,
+ /*   410 */    81,   82,   83,   84,   85,   16,   89,   90,   91,   20,
+ /*   420 */    30,   94,   95,   96,   91,  212,  148,   94,   95,   96,
+ /*   430 */   148,  148,  105,   19,  148,   21,  148,  224,  105,  156,
+ /*   440 */    50,   42,   43,   19,  165,  166,  167,   23,  170,  171,
+ /*   450 */   187,  148,  162,  170,  171,  148,  170,  171,  170,  171,
+ /*   460 */    61,   62,   63,   64,   65,   66,   67,   68,   69,   70,
+ /*   470 */    71,   72,   73,  190,   75,   76,   77,   78,   79,   80,
+ /*   480 */    81,   82,   83,   84,   85,   16,   20,   20,   22,   20,
+ /*   490 */   212,  201,  189,  103,  148,  213,  148,  148,  212,  148,
+ /*   500 */    23,  148,  224,  148,  202,  203,   42,   43,  229,  221,
+ /*   510 */   224,   42,   43,   89,  143,  144,  170,  171,  170,  171,
+ /*   520 */   149,  170,  171,  170,  171,  170,  171,  156,   64,   65,
+ /*   530 */    61,   62,   63,   64,   65,   66,   67,   68,   69,   70,
+ /*   540 */    71,   72,   73,  240,   75,   76,   77,   78,   79,   80,
+ /*   550 */    81,   82,   83,   84,   85,   16,   79,   93,  209,   20,
+ /*   560 */    20,  190,  211,  151,  216,   16,   89,   90,   20,  216,
+ /*   570 */   224,  165,  166,  167,  107,   19,  109,  110,   19,   23,
+ /*   580 */    25,   42,   43,   22,   29,  214,   19,   20,   18,   22,
+ /*   590 */    19,   20,   43,   22,  162,   23,   41,  162,  163,  164,
+ /*   600 */    61,   62,   63,   64,   65,   66,   67,   68,   69,   70,
+ /*   610 */    71,   72,   73,  242,   75,   76,   77,   78,   79,   80,
+ /*   620 */    81,   82,   83,   84,   85,   16,   56,   60,   69,   12,
+ /*   630 */    21,   60,   19,  201,  108,  229,   23,  225,  112,   23,
+ /*   640 */   148,   24,   21,  231,   23,   89,   90,  107,   99,  109,
+ /*   650 */   110,   42,   43,  104,   37,  107,   39,  109,  110,  148,
+ /*   660 */    27,   89,   90,  148,  148,   95,  148,   34,   14,   16,
+ /*   670 */    61,   62,   63,   64,   65,   66,   67,   68,   69,   70,
+ /*   680 */    71,   72,   73,  122,   75,   76,   77,   78,   79,   80,
+ /*   690 */    81,   82,   83,   84,   85,   42,   43,   81,  183,  183,
+ /*   700 */   189,  183,   89,   90,  134,   89,   90,   53,  148,   55,
+ /*   710 */    89,  148,  148,   16,   61,   62,   63,   64,   65,   66,
+ /*   720 */    67,   68,   69,   70,   71,   72,   73,  148,   75,   76,
+ /*   730 */    77,   78,   79,   80,   81,   82,   83,   84,   85,   42,
+ /*   740 */    43,  226,  226,  183,  226,  148,  183,    0,    1,    2,
+ /*   750 */     7,    8,    9,  107,  146,  109,  110,   16,   61,   62,
+ /*   760 */    63,   64,   65,   66,   67,   68,   69,   70,   71,   72,
+ /*   770 */    73,  148,   75,   76,   77,   78,   79,   80,   81,   82,
+ /*   780 */    83,   84,   85,   42,   43,  148,  226,  148,  134,  226,
+ /*   790 */   100,  101,  102,  170,  171,  100,  101,  102,   19,  148,
+ /*   800 */   148,   16,  192,   62,   63,   64,   65,   66,   67,   68,
+ /*   810 */    69,   70,   71,   72,   73,   92,   75,   76,   77,   78,
+ /*   820 */    79,   80,   81,   82,   83,   84,   85,   42,   43,   23,
+ /*   830 */   243,  244,   23,   16,  111,  148,  148,   22,   14,  156,
+ /*   840 */   189,  189,  148,  131,  148,  133,  209,  124,   63,   64,
+ /*   850 */    65,   66,   67,   68,   69,   70,   71,   72,   73,  148,
+ /*   860 */    75,   76,   77,   78,   79,   80,   81,   82,   83,   84,
+ /*   870 */    85,   16,   17,  190,   19,  148,  189,   53,   23,   55,
+ /*   880 */    43,   22,  148,  189,  148,  189,   31,   16,   17,  156,
+ /*   890 */    19,  156,  113,  156,   23,   89,   90,  214,   89,   90,
+ /*   900 */   189,  213,   31,   48,  170,  171,  170,  171,  156,  148,
+ /*   910 */    93,  193,  125,  126,   59,  148,  189,  148,  200,   48,
+ /*   920 */   237,  115,   93,  190,  115,  190,   20,  190,   22,  114,
+ /*   930 */    59,  170,  171,  104,   79,   80,   99,  170,  171,  170,
+ /*   940 */   171,  148,  190,   88,   89,   90,   20,   20,   93,   22,
+ /*   950 */    79,   80,   81,  148,   92,   93,  148,   98,  148,   88,
+ /*   960 */    89,   90,   16,   17,   93,   19,  111,  148,  148,   23,
+ /*   970 */   148,  148,   20,  162,   22,  170,  171,   31,  170,  171,
+ /*   980 */   125,  126,  127,  128,  129,  130,   60,  204,  148,  170,
+ /*   990 */   171,  148,  170,  171,   48,  148,  125,  126,  127,  128,
+ /*  1000 */   129,  130,    7,    8,   20,   59,   22,    5,  148,  148,
+ /*  1010 */   170,  171,   10,   11,   12,   13,   51,   52,  148,   20,
+ /*  1020 */   148,   22,  148,  148,  179,   79,   80,   20,   26,   22,
+ /*  1030 */    28,  170,  171,  179,   88,   89,   90,   35,  148,   93,
+ /*  1040 */   170,  171,  170,  171,  170,  171,  148,  179,   20,   47,
+ /*  1050 */    22,   49,   20,  148,   22,  148,   54,  148,  148,   57,
+ /*  1060 */    20,  148,   22,  148,  148,   20,  148,   22,  170,  171,
+ /*  1070 */   148,  125,  126,  127,  128,  129,  130,  170,  171,  233,
+ /*  1080 */   170,  171,  234,  148,  148,  170,  171,  148,  170,  171,
+ /*  1090 */   148,  148,  170,  171,   20,  148,   22,  148,  148,  148,
+ /*  1100 */   192,  148,  100,  101,  102,  170,  171,  148,  106,  170,
+ /*  1110 */   171,  148,  148,  111,  148,  148,  148,  148,  148,  170,
+ /*  1120 */   171,  170,  171,  170,  171,  148,  148,  148,  148,  148,
+ /*  1130 */   148,  148,  194,  170,  171,  150,  178,  135,  170,  171,
+ /*  1140 */   170,  171,  148,  223,  230,  148,  173,  170,  171,  170,
+ /*  1150 */   171,  170,  171,  170,  171,  230,  148,  195,  148,  173,
+ /*  1160 */   148,  173,  173,  173,  170,  171,  174,  170,  171,  195,
+ /*  1170 */     6,  147,  147,  147,  147,   22,  155,  190,  170,  171,
+ /*  1180 */   170,  171,  170,  171,  122,  119,  195,  120,  117,  196,
+ /*  1190 */   121,   23,  161,  197,  131,  113,  198,  222,   99,  199,
+ /*  1200 */   153,  153,  116,   99,   98,  172,  205,  172,  172,  206,
+ /*  1210 */   205,   40,  206,  174,  180,  172,   19,  175,   85,  161,
+ /*  1220 */   161,  180,  172,  172,  172,   15,  153,  152,  175,  152,
+ /*  1230 */   152,  227,  153,  153,  153,  152,  227,   38,  131,   61,
+ /*  1240 */   153,  185,  185,   19,  215,  153,  235,   15,  188,  236,
+ /*  1250 */   195,  153,  188,  188,   33,  238,  188,  185,  238,  215,
+ /*  1260 */   138,  153,  153,  241,  176,  195,  176,  244,    1,  232,
+ /*  1270 */   160,   20,  113,  113,  113,  113,   93,  247,  108,   19,
+ /*  1280 */    11,   20,   20,   19,   19,   22,   20,  118,   20,  115,
+ /*  1290 */   118,   19,   22,   22,   20,  113,   20,   44,   19,   44,
+ /*  1300 */    19,   44,   20,   19,   19,   32,   19,  104,   97,   16,
+ /*  1310 */    21,   17,   99,   36,   22,  134,   99,   19,    5,    1,
+ /*  1320 */    45,  103,   19,   45,  123,   69,  114,   69,   14,   17,
+ /*  1330 */   116,  103,  123,  114,   19,   14,   20,  137,   58,  124,
+ /*  1340 */   136,   19,    3,  248,    4,
 };
-#define YY_SHIFT_USE_DFLT (-63)
-#define YY_SHIFT_MAX 386
+#define YY_SHIFT_USE_DFLT (-108)
+#define YY_SHIFT_MAX 385
 static const short yy_shift_ofst[] = {
- /*     0 */   242,  840,  985,  -16,  840,  930,  930,  930,  216, 1058,
- /*    10 */   392,  930,  930,  930,  930,  930,  -46,  136,  161,  532,
- /*    20 */  1026, 1026, 1023,   53,  599,  349,  280,   96,  139,  211,
- /*    30 */   461,  530,  642,  642,  642,  685,  642,  642,  642,  642,
- /*    40 */   642,  642,  642,  642,  642,  642,  642,  642,  642,  642,
- /*    50 */   642,  728,  771,  771,  856,  930,  930,  930,  930,  930,
- /*    60 */   930,  930,  930,  930,  930,  930,  930,  930,  930,  930,
- /*    70 */   930,  930,  930,  930,  930,  930,  930,  930,  930,  930,
- /*    80 */   930,  930,  930,  930,  930,  930,  930,  930,  930,  930,
- /*    90 */   930,  930,  930,  -62,  -62,   -4,    1,    1,   61,  135,
- /*   100 */   359,  478,  532,  532,  532,  532,  532,  532,  532, 1023,
- /*   110 */  1191,  -63,  -63,  -63,  176,    9,  356,  356,  310,  132,
- /*   120 */   125,  770,  532,  532,  532,  532,  532,  532,  626,  125,
- /*   130 */   532,  532,  532,  532,  532,  532,  532,  532,  375, 1058,
- /*   140 */  1058, 1058,  -63,  -63,  -63,  -18,  223,  -18,   93,  465,
- /*   150 */   209,  529,  285,  174,  469,  542,  364,  459,  676,  532,
- /*   160 */   532,  532,  801,  532,  676,  532,  532,  532,  532,  532,
- /*   170 */   532,  552,  532,  532,  532,  532,  532,  532,  801,  609,
- /*   180 */   676,  532,  532,  676,  532,  196,  196,  532,  532,  532,
- /*   190 */   532,  676,  196,  797,  532,  532,  532,  676,  532,  532,
- /*   200 */   676,  629,  532,   69,  416,  148,  882,  670,  348,  348,
- /*   210 */   758,  648,  348,  533,  348,   63,  348,  648,  148, 1020,
- /*   220 */  1074, 1097, 1020, 1039, 1127, 1048, 1016, 1110, 1048, 1127,
- /*   230 */  1022, 1131, 1127, 1048, 1144, 1048, 1020, 1020, 1145, 1144,
- /*   240 */  1148, 1135, 1058, 1039, 1039, 1148, 1039, 1055, 1131, 1145,
- /*   250 */  1061, 1063, 1068, 1097, 1135, 1039, 1127, 1020, 1170, 1020,
- /*   260 */  1095, 1190, 1100, 1084, 1039, 1190, 1081, 1055, 1190, 1144,
- /*   270 */  1039, 1020, 1020, 1190, 1144, 1074, 1074, 1020, 1055, 1100,
- /*   280 */  1084, 1020, 1073, 1020,  -63,  -63,  -63,  -63,  -63,  -63,
- /*   290 */   455,  384,  641,  326,  239,   51, 1088,  -28,  374,  382,
- /*   300 */   667,  795,  215,  798,  807,  808,  813,  772,  815,  891,
- /*   310 */  1030, 1049, 1070,  543, 1276, 1277, 1278, 1263, 1147, 1151,
- /*   320 */  1232, 1275, 1273, 1266, 1281, 1171, 1283, 1259, 1183, 1204,
- /*   330 */  1290, 1291, 1198, 1197, 1195, 1287, 1192, 1187, 1181, 1282,
- /*   340 */  1280, 1180, 1179, 1271, 1269, 1163, 1265, 1214, 1212, 1175,
- /*   350 */  1272, 1182, 1229, 1253, 1251, 1264, 1250, 1249, 1168, 1247,
- /*   360 */  1156, 1244, 1128, 1220, 1242, 1234, 1215, 1238, 1218, 1209,
- /*   370 */  1231, 1136, 1237, 1150, 1226, 1223, 1140, 1219, 1134, 1217,
- /*   380 */  1213, 1112, 1211, 1210, 1201, 1103, 1292,
+ /*     0 */   110,  855, 1002,  -16,  855,  946,  946,  946,  327,  128,
+ /*    10 */  -107,   98,  946,  946,  946,  946,  946,  -46,  251,  477,
+ /*    20 */   572,  -11,   78,   78,   54,  168,  212,  256,  329,  399,
+ /*    30 */   469,  539,  609,  653,  697,  653,  653,  653,  653,  653,
+ /*    40 */   653,  653,  653,  653,  653,  653,  653,  653,  653,  653,
+ /*    50 */   653,  653,  741,  785,  785,  871,  946,  946,  946,  946,
+ /*    60 */   946,  946,  946,  946,  946,  946,  946,  946,  946,  946,
+ /*    70 */   946,  946,  946,  946,  946,  946,  946,  946,  946,  946,
+ /*    80 */   946,  946,  946,  946,  946,  946,  946,  946,  946,  946,
+ /*    90 */   946,  946,  946,  946,  -62,  -62,    6,    6,  285,   64,
+ /*   100 */   184,  549,  570,  572,  572,  572,  572,  572,  572,  572,
+ /*   110 */   118,  -11,  -41, -108, -108,  133,    9,  336,  336,  567,
+ /*   120 */   571,  747,  621,  572,  621,  572,  572,  572,  572,  572,
+ /*   130 */   572,  572,  572,  572,  572,  572,  572,  572,  723,   61,
+ /*   140 */  -107, -107, -107, -108, -108, -108,  -18,  -18,  333,  211,
+ /*   150 */   467,  556,  540,  548,  617,  806,  809,  613,  616,  743,
+ /*   160 */   572,  572,  234,  572,  572,  424,  572,  572,  171,  572,
+ /*   170 */   572,  646,  171,  572,  572,  390,  390,  390,  572,  572,
+ /*   180 */   646,  572,  572,  646,  572,  555,  690,  572,  572,  646,
+ /*   190 */   572,  572,  572,  646,  572,  572,  572,  646,  646,  572,
+ /*   200 */   572,  572,  572,  572,  414,  526,  815,  787,  787,  712,
+ /*   210 */   633,  633,  633,  837,  633,  633,  859,  561,  561, 1164,
+ /*   220 */  1164, 1164, 1164, 1153, -107, 1062, 1066, 1067, 1071, 1069,
+ /*   230 */  1168, 1063, 1082, 1082, 1099, 1086, 1099, 1086, 1104, 1104,
+ /*   240 */  1171, 1104, 1106, 1104, 1197, 1133, 1168, 1133, 1168, 1171,
+ /*   250 */  1104, 1104, 1104, 1197, 1210, 1082, 1210, 1082, 1210, 1082,
+ /*   260 */  1082, 1199, 1107, 1210, 1082, 1178, 1178, 1224, 1062, 1082,
+ /*   270 */  1232, 1232, 1232, 1232, 1062, 1178, 1224, 1082, 1221, 1221,
+ /*   280 */  1082, 1082, 1122, -108, -108, -108, -108, -108, -108,  464,
+ /*   290 */   654,  695,  824,  779,  817,  466,  906,  927,  952,  829,
+ /*   300 */   995,  862,  984,  999, 1007,  965, 1028, 1032, 1040, 1045,
+ /*   310 */   559, 1074,  926, 1267, 1251, 1159, 1160, 1161, 1162, 1183,
+ /*   320 */  1170, 1260, 1261, 1262, 1264, 1269, 1265, 1266, 1263, 1268,
+ /*   330 */  1169, 1270, 1172, 1271, 1174, 1272, 1274, 1182, 1276, 1273,
+ /*   340 */  1253, 1279, 1255, 1281, 1282, 1284, 1285, 1257, 1287, 1211,
+ /*   350 */  1203, 1293, 1294, 1289, 1213, 1277, 1275, 1292, 1278, 1181,
+ /*   360 */  1217, 1298, 1313, 1318, 1218, 1256, 1258, 1201, 1303, 1212,
+ /*   370 */  1314, 1214, 1312, 1219, 1228, 1209, 1315, 1215, 1316, 1321,
+ /*   380 */  1280, 1204, 1200, 1322, 1339, 1340,
 };
-#define YY_REDUCE_USE_DFLT (-145)
-#define YY_REDUCE_MAX 289
+#define YY_REDUCE_USE_DFLT (-178)
+#define YY_REDUCE_MAX 288
 static const short yy_reduce_ofst[] = {
- /*     0 */  -139,  164,  182,  165,  345,  339,  335,  -21,   76,  288,
- /*    10 */   228,  236,  408,  413,  415,  417,  425,  414,  710,   94,
- /*    20 */   458,  346, -120,  470,  470,  470,  470,  470,  470,  470,
- /*    30 */   470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
- /*    40 */   470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
- /*    50 */   470,  470,  470,  470,  933,  931,  928,  903,  892,  859,
- /*    60 */   853,  804,  792,  754,  747,  714,  697,  568,  483,  166,
- /*    70 */   337,  419,  525,  611,  654,  712,  721,  726,  752,  760,
- /*    80 */   763,  802,  806,  809,  844,  855,  857,  873,  883,  897,
- /*    90 */   900,  918,  924,  470,  470,  312,  470,  470,  470,  429,
- /*   100 */   470,  516,  499,  261,  549,  550,  551,  589,  592,  103,
- /*   110 */   470,  470,  470,  470,  832,  787,  896,  878,  669,  669,
- /*   120 */   879,  848,  888,  889,  773,  868,  860,  858,  245, -104,
- /*   130 */   846,  823,  811,  764,  810,  433,  741,  732,  708,  675,
- /*   140 */   632,  177,  249,  493,  178, 1085, 1077, 1082, 1076, 1101,
- /*   150 */  1099,   39, 1096, 1094,  971,   39, 1044,   39,   39,  982,
- /*   160 */   981,  979,  541,  976,   39,  971,  970,  968,  966,  964,
- /*   170 */   952,  922,  927,  913,  794,  791,  745,  678,  541,  350,
- /*   180 */    39,  369,  297,   39,  167,  106,  -23, -108, -144,  -37,
- /*   190 */    77,   39,  160,  207,  354,  500,  554,   39,  673,  738,
- /*   200 */    39,  556,  885,  601,  814,  898,  957,  919,  942,  944,
- /*   210 */   929,  893,  950,  947,  953,  904,  958,  905,  937,  983,
- /*   220 */   954,  960,  988,  972,  991,  934,  914,  916,  939, 1000,
- /*   230 */   932,  995, 1005,  946,  973,  948, 1009, 1010,  990,  978,
- /*   240 */   955,  935,  980, 1001, 1002,  959, 1004,  984, 1017, 1006,
- /*   250 */   986,  987,  989, 1008,  949, 1018, 1037, 1038, 1040, 1041,
- /*   260 */  1024, 1050,  996,  997, 1032, 1059, 1011, 1012, 1062, 1025,
- /*   270 */  1033, 1064, 1065, 1067, 1027, 1031, 1034, 1069, 1013, 1007,
- /*   280 */  1014, 1071,  992, 1072,  998, 1051, 1075,  993, 1057,  994,
+ /*     0 */  -139,  213,  371,  146,  283,  278,   53,  286,   38,  -74,
+ /*    10 */    -3, -140,  288,  346,  351,  348,  353,   92,  683,  -38,
+ /*    20 */    40,  195,  279,  406, -177, -177, -177, -177, -177, -177,
+ /*    30 */  -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
+ /*    40 */  -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
+ /*    50 */  -177, -177, -177, -177, -177,  355,  623,  734,  736,  761,
+ /*    60 */   767,  769,  805,  808,  819,  822,  840,  861,  870,  872,
+ /*    70 */   874,  898,  907,  910,  915,  918,  922,  935,  939,  949,
+ /*    80 */   951,  953,  963,  968,  970,  977,  979,  981,  983,  994,
+ /*    90 */   997, 1008, 1010, 1012, -177, -177, -177, -177,   37, -177,
+ /*   100 */  -177,  190,  412,  515,  516,  518,  560,  563,  303,  156,
+ /*   110 */  -177,  435, -177, -177, -177,   55,  187,   70,   84,  141,
+ /*   120 */   141,  -47,  290,   94,  432,  -76,  511,  349,  282,  637,
+ /*   130 */   651,  652,  687,  694,  696,  711,  688,  727, -132,  733,
+ /*   140 */   735,  737,  752,  718,  302,  587,   39,   45,  148,  161,
+ /*   150 */    30,  307,   30,   30,  263,  492,  564,  579,  597,  608,
+ /*   160 */   639,  793,  610,  597,  810,  811,  820,  823,  783,  843,
+ /*   170 */   847,   30,  783,  860,  875,  845,  854,  868,  890,  905,
+ /*   180 */    30,  909,  913,   30,  916,  846,  848,  936,  942,   30,
+ /*   190 */   943,  947,  950,   30,  959,  964,  966,   30,   30,  967,
+ /*   200 */   969,  978,  980,  982,  985,  908,  938,  914,  925,  920,
+ /*   210 */   973,  986,  988,  958,  989,  990,  992,  962,  974, 1024,
+ /*   220 */  1025, 1026, 1027, 1021,  987,  991,  993,  996,  998, 1000,
+ /*   230 */  1031,  975, 1047, 1048, 1001, 1003, 1005, 1006, 1033, 1035,
+ /*   240 */  1034, 1036, 1039, 1043, 1042, 1004, 1058, 1009, 1059, 1041,
+ /*   250 */  1050, 1051, 1052, 1053, 1075, 1073, 1077, 1079, 1078, 1080,
+ /*   260 */  1081, 1011, 1013, 1083, 1087, 1056, 1057, 1029, 1055, 1092,
+ /*   270 */  1060, 1064, 1065, 1068, 1070, 1072, 1044, 1098, 1017, 1020,
+ /*   280 */  1108, 1109, 1022, 1110, 1088, 1090, 1037, 1023, 1030,
 };
 static const YYACTIONTYPE yy_default[] = {
- /*     0 */   592,  819,  896,  707,  896,  819,  819,  896,  896,  711,
- /*    10 */   870,  896,  819,  896,  815,  896,  790,  896,  841,  896,
- /*    20 */   841,  841,  623,  742,  896,  896,  896,  896,  896,  896,
- /*    30 */   896,  896,  750,  871,  811,  896,  749,  747,  756,  723,
- /*    40 */   810,  814,  744,  874,  855,  740,  743,  818,  757,  731,
- /*    50 */   812,  778,  796,  777,  896,  896,  896,  896,  896,  896,
- /*    60 */   896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
- /*    70 */   896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
- /*    80 */   896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
- /*    90 */   896,  896,  896,  780,  801,  616,  779,  789,  781,  611,
- /*   100 */   782,  676,  896,  896,  896,  896,  896,  896,  896,  896,
- /*   110 */   783,  798,  797,  784,  896,  896,  896,  896,  896,  896,
- /*   120 */   707,  896,  896,  896,  896,  896,  896,  896,  592,  707,
- /*   130 */   896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
- /*   140 */   896,  896,  711,  889,  701,  896,  667,  896,  896,  896,
- /*   150 */   896,  896,  896,  896,  896,  896,  896,  896,  862,  896,
- /*   160 */   896,  896,  715,  896,  714,  896,  877,  896,  896,  896,
- /*   170 */   875,  625,  896,  896,  896,  597,  896,  896,  709,  599,
- /*   180 */   860,  896,  896,  613,  896,  896,  896,  896,  896,  896,
- /*   190 */   829,  690,  896,  699,  896,  896,  896,  688,  896,  896,
- /*   200 */   752,  896,  896,  847,  649,  746,  896,  708,  734,  734,
- /*   210 */   699,  896,  734,  646,  734,  813,  734,  896,  746,  716,
- /*   220 */   680,  663,  716,  678,  608,  735,  854,  851,  735,  608,
- /*   230 */   896,  896,  608,  735,  687,  735,  716,  716,  823,  687,
- /*   240 */   758,  873,  896,  678,  678,  758,  678,  746,  896,  823,
- /*   250 */   737,  739,  727,  663,  873,  678,  608,  716,  666,  716,
- /*   260 */   649,  596,  724,  726,  678,  596,  741,  746,  596,  687,
- /*   270 */   678,  716,  716,  596,  687,  680,  680,  716,  746,  724,
- /*   280 */   726,  716,  882,  716,  857,  651,  633,  889,  651,  894,
- /*   290 */   896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
- /*   300 */   896,  896,  896,  896,  896,  896,  765,  896,  896,  836,
- /*   310 */   896,  896,  896,  896,  896,  593,  896,  884,  896,  896,
- /*   320 */   881,  896,  896,  896,  896,  896,  896,  896,  896,  896,
- /*   330 */   896,  896,  896,  770,  766,  896,  896,  767,  896,  896,
- /*   340 */   896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
- /*   350 */   896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
- /*   360 */   693,  896,  896,  896,  896,  850,  849,  896,  896,  896,
- /*   370 */   896,  896,  896,  896,  896,  896,  896,  896,  896,  896,
- /*   380 */   896,  896,  896,  896,  738,  896,  728,  736,  618,  729,
- /*   390 */   730,  607,  615,  670,  609,  669,  791,  807,  677,  717,
- /*   400 */   817,  816,  804,  864,  675,  700,  710,  863,  719,  718,
- /*   410 */   720,  809,  843,  721,  808,  674,  722,  852,  853,  848,
- /*   420 */   705,  806,  706,  844,  845,  673,  846,  610,  712,  695,
- /*   430 */   694,  725,  672,  802,  760,  799,  795,  820,  821,  761,
- /*   440 */   671,  793,  792,  787,  803,  681,  754,  755,  842,  713,
- /*   450 */   856,  800,  794,  668,  788,  786,  785,  702,  776,  773,
- /*   460 */   858,  703,  617,  628,  624,  629,  840,  838,  839,  759,
- /*   470 */   837,  631,  640,  630,  627,  639,  626,  859,  619,  770,
- /*   480 */   638,  772,  861,  704,  771,  769,  637,  768,  886,  805,
- /*   490 */   763,  764,  685,  636,  686,  696,  692,  689,  691,  762,
- /*   500 */   828,  774,  635,  868,  698,  662,  697,  648,  745,  644,
- /*   510 */   733,  775,  732,  650,  748,  647,  643,  826,  665,  664,
- /*   520 */   645,  661,  642,  751,  652,  753,  867,  830,  866,  865,
- /*   530 */   684,  683,  831,  832,  833,  834,  682,  827,  835,  679,
- /*   540 */   825,  641,  634,  632,  869,  614,  612,  872,  653,  606,
- /*   550 */   605,  604,  603,  876,  602,  601,  878,  654,  600,  657,
- /*   560 */   824,  622,  879,  658,  621,  620,  880,  883,  659,  598,
- /*   570 */   595,  885,  591,  656,  890,  891,  589,  590,  892,  895,
- /*   580 */   893,  587,  660,  655,  594,  588,
+ /*     0 */   593,  819,  899,  708,  899,  819,  899,  819,  899,  844,
+ /*    10 */   712,  873,  815,  819,  899,  899,  899,  790,  899,  844,
+ /*    20 */   899,  624,  844,  844,  741,  899,  899,  899,  899,  899,
+ /*    30 */   899,  899,  899,  742,  899,  818,  814,  810,  812,  811,
+ /*    40 */   743,  732,  739,  746,  724,  858,  748,  749,  755,  756,
+ /*    50 */   874,  877,  778,  777,  796,  899,  899,  899,  899,  899,
+ /*    60 */   899,  899,  899,  899,  899,  899,  899,  899,  899,  899,
+ /*    70 */   899,  899,  899,  899,  899,  899,  899,  899,  899,  899,
+ /*    80 */   899,  899,  899,  899,  899,  899,  899,  899,  899,  899,
+ /*    90 */   899,  899,  899,  899,  780,  801,  779,  789,  617,  781,
+ /*   100 */   782,  677,  612,  899,  899,  899,  899,  899,  899,  899,
+ /*   110 */   783,  899,  784,  797,  798,  899,  899,  899,  899,  899,
+ /*   120 */   899,  593,  708,  899,  708,  899,  899,  899,  899,  899,
+ /*   130 */   899,  899,  899,  899,  899,  899,  899,  899,  899,  899,
+ /*   140 */   899,  899,  899,  702,  712,  892,  899,  899,  668,  899,
+ /*   150 */   899,  899,  899,  899,  899,  899,  899,  899,  899,  600,
+ /*   160 */   598,  899,  700,  899,  899,  626,  899,  899,  710,  899,
+ /*   170 */   899,  715,  716,  899,  899,  899,  899,  899,  899,  899,
+ /*   180 */   614,  899,  899,  689,  899,  850,  899,  899,  899,  865,
+ /*   190 */   899,  899,  899,  863,  899,  899,  899,  691,  751,  831,
+ /*   200 */   899,  878,  880,  899,  899,  700,  709,  899,  899,  813,
+ /*   210 */   735,  735,  735,  647,  735,  735,  650,  745,  745,  597,
+ /*   220 */   597,  597,  597,  667,  899,  745,  736,  738,  728,  740,
+ /*   230 */   899,  899,  717,  717,  725,  727,  725,  727,  679,  679,
+ /*   240 */   664,  679,  650,  679,  823,  828,  899,  828,  899,  664,
+ /*   250 */   679,  679,  679,  823,  609,  717,  609,  717,  609,  717,
+ /*   260 */   717,  854,  857,  609,  717,  681,  681,  757,  745,  717,
+ /*   270 */   688,  688,  688,  688,  745,  681,  757,  717,  876,  876,
+ /*   280 */   717,  717,  885,  634,  652,  652,  860,  892,  897,  899,
+ /*   290 */   899,  899,  899,  764,  899,  899,  899,  899,  899,  899,
+ /*   300 */   899,  899,  899,  899,  899,  899,  899,  899,  899,  899,
+ /*   310 */   837,  899,  899,  899,  899,  769,  765,  899,  766,  899,
+ /*   320 */   694,  899,  899,  899,  899,  899,  899,  899,  899,  899,
+ /*   330 */   899,  729,  899,  737,  899,  899,  899,  899,  899,  899,
+ /*   340 */   899,  899,  899,  899,  899,  899,  899,  899,  899,  899,
+ /*   350 */   899,  899,  899,  899,  899,  899,  852,  853,  899,  899,
+ /*   360 */   899,  899,  899,  899,  899,  899,  899,  899,  899,  899,
+ /*   370 */   899,  899,  899,  899,  899,  899,  899,  899,  899,  899,
+ /*   380 */   884,  899,  899,  887,  594,  899,  588,  591,  590,  592,
+ /*   390 */   596,  599,  621,  622,  623,  601,  602,  603,  604,  605,
+ /*   400 */   606,  607,  613,  615,  633,  635,  619,  637,  698,  699,
+ /*   410 */   761,  692,  693,  697,  772,  763,  767,  768,  770,  771,
+ /*   420 */   785,  786,  788,  794,  800,  803,  787,  792,  793,  795,
+ /*   430 */   799,  802,  695,  696,  806,  620,  627,  628,  631,  632,
+ /*   440 */   840,  842,  841,  843,  630,  629,  773,  776,  808,  809,
+ /*   450 */   866,  867,  868,  869,  870,  804,  816,  817,  718,  807,
+ /*   460 */   791,  730,  733,  734,  731,  701,  711,  720,  721,  722,
+ /*   470 */   723,  706,  707,  713,  726,  759,  760,  714,  703,  704,
+ /*   480 */   705,  805,  762,  774,  775,  638,  639,  769,  640,  641,
+ /*   490 */   642,  680,  683,  684,  685,  643,  662,  665,  666,  644,
+ /*   500 */   651,  645,  646,  653,  654,  655,  658,  659,  660,  661,
+ /*   510 */   656,  657,  824,  825,  829,  827,  826,  648,  649,  663,
+ /*   520 */   636,  625,  618,  669,  672,  673,  674,  675,  676,  678,
+ /*   530 */   670,  671,  616,  608,  610,  719,  846,  855,  856,  851,
+ /*   540 */   847,  848,  849,  611,  820,  821,  682,  753,  754,  845,
+ /*   550 */   859,  861,  758,  862,  864,  889,  686,  687,  690,  830,
+ /*   560 */   871,  744,  747,  750,  752,  832,  833,  834,  835,  838,
+ /*   570 */   839,  836,  872,  875,  879,  881,  882,  883,  886,  888,
+ /*   580 */   893,  894,  895,  898,  896,  595,  589,
 };
 #define YY_SZ_ACTTAB (int)(sizeof(yy_action)/sizeof(yy_action[0]))
 
@@ -679,6 +685,7 @@
     0,  /*      SLASH => nothing */
     0,  /*        REM => nothing */
     0,  /*     CONCAT => nothing */
+    0,  /*    COLLATE => nothing */
     0,  /*     UMINUS => nothing */
     0,  /*      UPLUS => nothing */
     0,  /*     BITNOT => nothing */
@@ -691,7 +698,6 @@
     0,  /*     UNIQUE => nothing */
     0,  /*      CHECK => nothing */
     0,  /* REFERENCES => nothing */
-    0,  /*    COLLATE => nothing */
     0,  /*   AUTOINCR => nothing */
     0,  /*         ON => nothing */
     0,  /*     DELETE => nothing */
@@ -824,10 +830,10 @@
   "LT",            "GE",            "ESCAPE",        "BITAND",      
   "BITOR",         "LSHIFT",        "RSHIFT",        "PLUS",        
   "MINUS",         "STAR",          "SLASH",         "REM",         
-  "CONCAT",        "UMINUS",        "UPLUS",         "BITNOT",      
-  "STRING",        "JOIN_KW",       "CONSTRAINT",    "DEFAULT",     
-  "NULL",          "PRIMARY",       "UNIQUE",        "CHECK",       
-  "REFERENCES",    "COLLATE",       "AUTOINCR",      "ON",          
+  "CONCAT",        "COLLATE",       "UMINUS",        "UPLUS",       
+  "BITNOT",        "STRING",        "JOIN_KW",       "CONSTRAINT",  
+  "DEFAULT",       "NULL",          "PRIMARY",       "UNIQUE",      
+  "CHECK",         "REFERENCES",    "AUTOINCR",      "ON",          
   "DELETE",        "UPDATE",        "INSERT",        "SET",         
   "DEFERRABLE",    "FOREIGN",       "DROP",          "UNION",       
   "ALL",           "EXCEPT",        "INTERSECT",     "SELECT",      
@@ -856,15 +862,15 @@
   "sclp",          "as",            "seltablist",    "stl_prefix",  
   "joinop",        "on_opt",        "using_opt",     "seltablist_paren",
   "joinop2",       "inscollist",    "sortlist",      "sortitem",    
-  "collate",       "exprlist",      "setlist",       "insert_cmd",  
-  "inscollist_opt",  "itemlist",      "likeop",        "escape",      
-  "between_op",    "in_op",         "case_operand",  "case_exprlist",
-  "case_else",     "expritem",      "uniqueflag",    "idxitem",     
-  "plus_opt",      "number",        "trigger_decl",  "trigger_cmd_list",
-  "trigger_time",  "trigger_event",  "foreach_clause",  "when_clause", 
-  "trigger_cmd",   "database_kw_opt",  "key_opt",       "add_column_fullname",
-  "kwcolumn_opt",  "create_vtab",   "vtabarglist",   "vtabarg",     
-  "vtabargtoken",  "lp",            "anylist",     
+  "exprlist",      "setlist",       "insert_cmd",    "inscollist_opt",
+  "itemlist",      "likeop",        "escape",        "between_op",  
+  "in_op",         "case_operand",  "case_exprlist",  "case_else",   
+  "expritem",      "uniqueflag",    "idxitem",       "collate",     
+  "nmnum",         "plus_opt",      "number",        "trigger_decl",
+  "trigger_cmd_list",  "trigger_time",  "trigger_event",  "foreach_clause",
+  "when_clause",   "trigger_cmd",   "database_kw_opt",  "key_opt",     
+  "add_column_fullname",  "kwcolumn_opt",  "create_vtab",   "vtabarglist", 
+  "vtabarg",       "vtabargtoken",  "lp",            "anylist",     
 };
 #endif /* NDEBUG */
 
@@ -922,11 +928,11 @@
  /*  47 */ "carglist ::=",
  /*  48 */ "carg ::= CONSTRAINT nm ccons",
  /*  49 */ "carg ::= ccons",
- /*  50 */ "carg ::= DEFAULT term",
- /*  51 */ "carg ::= DEFAULT LP expr RP",
- /*  52 */ "carg ::= DEFAULT PLUS term",
- /*  53 */ "carg ::= DEFAULT MINUS term",
- /*  54 */ "carg ::= DEFAULT id",
+ /*  50 */ "ccons ::= DEFAULT term",
+ /*  51 */ "ccons ::= DEFAULT LP expr RP",
+ /*  52 */ "ccons ::= DEFAULT PLUS term",
+ /*  53 */ "ccons ::= DEFAULT MINUS term",
+ /*  54 */ "ccons ::= DEFAULT id",
  /*  55 */ "ccons ::= NULL onconf",
  /*  56 */ "ccons ::= NOT NULL onconf",
  /*  57 */ "ccons ::= PRIMARY KEY sortorder onconf autoinc",
@@ -1015,173 +1021,175 @@
  /* 140 */ "using_opt ::=",
  /* 141 */ "orderby_opt ::=",
  /* 142 */ "orderby_opt ::= ORDER BY sortlist",
- /* 143 */ "sortlist ::= sortlist COMMA sortitem collate sortorder",
- /* 144 */ "sortlist ::= sortitem collate sortorder",
+ /* 143 */ "sortlist ::= sortlist COMMA sortitem sortorder",
+ /* 144 */ "sortlist ::= sortitem sortorder",
  /* 145 */ "sortitem ::= expr",
  /* 146 */ "sortorder ::= ASC",
  /* 147 */ "sortorder ::= DESC",
  /* 148 */ "sortorder ::=",
- /* 149 */ "collate ::=",
- /* 150 */ "collate ::= COLLATE id",
- /* 151 */ "groupby_opt ::=",
- /* 152 */ "groupby_opt ::= GROUP BY exprlist",
- /* 153 */ "having_opt ::=",
- /* 154 */ "having_opt ::= HAVING expr",
- /* 155 */ "limit_opt ::=",
- /* 156 */ "limit_opt ::= LIMIT expr",
- /* 157 */ "limit_opt ::= LIMIT expr OFFSET expr",
- /* 158 */ "limit_opt ::= LIMIT expr COMMA expr",
- /* 159 */ "cmd ::= DELETE FROM fullname where_opt",
- /* 160 */ "where_opt ::=",
- /* 161 */ "where_opt ::= WHERE expr",
- /* 162 */ "cmd ::= UPDATE orconf fullname SET setlist where_opt",
- /* 163 */ "setlist ::= setlist COMMA nm EQ expr",
- /* 164 */ "setlist ::= nm EQ expr",
- /* 165 */ "cmd ::= insert_cmd INTO fullname inscollist_opt VALUES LP itemlist RP",
- /* 166 */ "cmd ::= insert_cmd INTO fullname inscollist_opt select",
- /* 167 */ "cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES",
- /* 168 */ "insert_cmd ::= INSERT orconf",
- /* 169 */ "insert_cmd ::= REPLACE",
- /* 170 */ "itemlist ::= itemlist COMMA expr",
- /* 171 */ "itemlist ::= expr",
- /* 172 */ "inscollist_opt ::=",
- /* 173 */ "inscollist_opt ::= LP inscollist RP",
- /* 174 */ "inscollist ::= inscollist COMMA nm",
- /* 175 */ "inscollist ::= nm",
- /* 176 */ "expr ::= term",
- /* 177 */ "expr ::= LP expr RP",
- /* 178 */ "term ::= NULL",
- /* 179 */ "expr ::= ID",
- /* 180 */ "expr ::= JOIN_KW",
- /* 181 */ "expr ::= nm DOT nm",
- /* 182 */ "expr ::= nm DOT nm DOT nm",
- /* 183 */ "term ::= INTEGER|FLOAT|BLOB",
- /* 184 */ "term ::= STRING",
- /* 185 */ "expr ::= REGISTER",
- /* 186 */ "expr ::= VARIABLE",
- /* 187 */ "expr ::= CAST LP expr AS typetoken RP",
- /* 188 */ "expr ::= ID LP distinct exprlist RP",
- /* 189 */ "expr ::= ID LP STAR RP",
- /* 190 */ "term ::= CTIME_KW",
- /* 191 */ "expr ::= expr AND expr",
- /* 192 */ "expr ::= expr OR expr",
- /* 193 */ "expr ::= expr LT|GT|GE|LE expr",
- /* 194 */ "expr ::= expr EQ|NE expr",
- /* 195 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr",
- /* 196 */ "expr ::= expr PLUS|MINUS expr",
- /* 197 */ "expr ::= expr STAR|SLASH|REM expr",
- /* 198 */ "expr ::= expr CONCAT expr",
- /* 199 */ "likeop ::= LIKE_KW",
- /* 200 */ "likeop ::= NOT LIKE_KW",
- /* 201 */ "likeop ::= MATCH",
- /* 202 */ "likeop ::= NOT MATCH",
- /* 203 */ "escape ::= ESCAPE expr",
- /* 204 */ "escape ::=",
- /* 205 */ "expr ::= expr likeop expr escape",
- /* 206 */ "expr ::= expr ISNULL|NOTNULL",
- /* 207 */ "expr ::= expr IS NULL",
- /* 208 */ "expr ::= expr NOT NULL",
- /* 209 */ "expr ::= expr IS NOT NULL",
- /* 210 */ "expr ::= NOT|BITNOT expr",
- /* 211 */ "expr ::= MINUS expr",
- /* 212 */ "expr ::= PLUS expr",
- /* 213 */ "between_op ::= BETWEEN",
- /* 214 */ "between_op ::= NOT BETWEEN",
- /* 215 */ "expr ::= expr between_op expr AND expr",
- /* 216 */ "in_op ::= IN",
- /* 217 */ "in_op ::= NOT IN",
- /* 218 */ "expr ::= expr in_op LP exprlist RP",
- /* 219 */ "expr ::= LP select RP",
- /* 220 */ "expr ::= expr in_op LP select RP",
- /* 221 */ "expr ::= expr in_op nm dbnm",
- /* 222 */ "expr ::= EXISTS LP select RP",
- /* 223 */ "expr ::= CASE case_operand case_exprlist case_else END",
- /* 224 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr",
- /* 225 */ "case_exprlist ::= WHEN expr THEN expr",
- /* 226 */ "case_else ::= ELSE expr",
- /* 227 */ "case_else ::=",
- /* 228 */ "case_operand ::= expr",
- /* 229 */ "case_operand ::=",
- /* 230 */ "exprlist ::= exprlist COMMA expritem",
- /* 231 */ "exprlist ::= expritem",
- /* 232 */ "expritem ::= expr",
- /* 233 */ "expritem ::=",
- /* 234 */ "cmd ::= CREATE uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP",
- /* 235 */ "uniqueflag ::= UNIQUE",
- /* 236 */ "uniqueflag ::=",
- /* 237 */ "idxlist_opt ::=",
- /* 238 */ "idxlist_opt ::= LP idxlist RP",
- /* 239 */ "idxlist ::= idxlist COMMA idxitem collate sortorder",
- /* 240 */ "idxlist ::= idxitem collate sortorder",
- /* 241 */ "idxitem ::= nm",
- /* 242 */ "cmd ::= DROP INDEX ifexists fullname",
- /* 243 */ "cmd ::= VACUUM",
- /* 244 */ "cmd ::= VACUUM nm",
- /* 245 */ "cmd ::= PRAGMA nm dbnm EQ nm",
- /* 246 */ "cmd ::= PRAGMA nm dbnm EQ ON",
- /* 247 */ "cmd ::= PRAGMA nm dbnm EQ plus_num",
+ /* 149 */ "groupby_opt ::=",
+ /* 150 */ "groupby_opt ::= GROUP BY exprlist",
+ /* 151 */ "having_opt ::=",
+ /* 152 */ "having_opt ::= HAVING expr",
+ /* 153 */ "limit_opt ::=",
+ /* 154 */ "limit_opt ::= LIMIT expr",
+ /* 155 */ "limit_opt ::= LIMIT expr OFFSET expr",
+ /* 156 */ "limit_opt ::= LIMIT expr COMMA expr",
+ /* 157 */ "cmd ::= DELETE FROM fullname where_opt",
+ /* 158 */ "where_opt ::=",
+ /* 159 */ "where_opt ::= WHERE expr",
+ /* 160 */ "cmd ::= UPDATE orconf fullname SET setlist where_opt",
+ /* 161 */ "setlist ::= setlist COMMA nm EQ expr",
+ /* 162 */ "setlist ::= nm EQ expr",
+ /* 163 */ "cmd ::= insert_cmd INTO fullname inscollist_opt VALUES LP itemlist RP",
+ /* 164 */ "cmd ::= insert_cmd INTO fullname inscollist_opt select",
+ /* 165 */ "cmd ::= insert_cmd INTO fullname inscollist_opt DEFAULT VALUES",
+ /* 166 */ "insert_cmd ::= INSERT orconf",
+ /* 167 */ "insert_cmd ::= REPLACE",
+ /* 168 */ "itemlist ::= itemlist COMMA expr",
+ /* 169 */ "itemlist ::= expr",
+ /* 170 */ "inscollist_opt ::=",
+ /* 171 */ "inscollist_opt ::= LP inscollist RP",
+ /* 172 */ "inscollist ::= inscollist COMMA nm",
+ /* 173 */ "inscollist ::= nm",
+ /* 174 */ "expr ::= term",
+ /* 175 */ "expr ::= LP expr RP",
+ /* 176 */ "term ::= NULL",
+ /* 177 */ "expr ::= ID",
+ /* 178 */ "expr ::= JOIN_KW",
+ /* 179 */ "expr ::= nm DOT nm",
+ /* 180 */ "expr ::= nm DOT nm DOT nm",
+ /* 181 */ "term ::= INTEGER|FLOAT|BLOB",
+ /* 182 */ "term ::= STRING",
+ /* 183 */ "expr ::= REGISTER",
+ /* 184 */ "expr ::= VARIABLE",
+ /* 185 */ "expr ::= expr COLLATE id",
+ /* 186 */ "expr ::= CAST LP expr AS typetoken RP",
+ /* 187 */ "expr ::= ID LP distinct exprlist RP",
+ /* 188 */ "expr ::= ID LP STAR RP",
+ /* 189 */ "term ::= CTIME_KW",
+ /* 190 */ "expr ::= expr AND expr",
+ /* 191 */ "expr ::= expr OR expr",
+ /* 192 */ "expr ::= expr LT|GT|GE|LE expr",
+ /* 193 */ "expr ::= expr EQ|NE expr",
+ /* 194 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr",
+ /* 195 */ "expr ::= expr PLUS|MINUS expr",
+ /* 196 */ "expr ::= expr STAR|SLASH|REM expr",
+ /* 197 */ "expr ::= expr CONCAT expr",
+ /* 198 */ "likeop ::= LIKE_KW",
+ /* 199 */ "likeop ::= NOT LIKE_KW",
+ /* 200 */ "likeop ::= MATCH",
+ /* 201 */ "likeop ::= NOT MATCH",
+ /* 202 */ "escape ::= ESCAPE expr",
+ /* 203 */ "escape ::=",
+ /* 204 */ "expr ::= expr likeop expr escape",
+ /* 205 */ "expr ::= expr ISNULL|NOTNULL",
+ /* 206 */ "expr ::= expr IS NULL",
+ /* 207 */ "expr ::= expr NOT NULL",
+ /* 208 */ "expr ::= expr IS NOT NULL",
+ /* 209 */ "expr ::= NOT|BITNOT expr",
+ /* 210 */ "expr ::= MINUS expr",
+ /* 211 */ "expr ::= PLUS expr",
+ /* 212 */ "between_op ::= BETWEEN",
+ /* 213 */ "between_op ::= NOT BETWEEN",
+ /* 214 */ "expr ::= expr between_op expr AND expr",
+ /* 215 */ "in_op ::= IN",
+ /* 216 */ "in_op ::= NOT IN",
+ /* 217 */ "expr ::= expr in_op LP exprlist RP",
+ /* 218 */ "expr ::= LP select RP",
+ /* 219 */ "expr ::= expr in_op LP select RP",
+ /* 220 */ "expr ::= expr in_op nm dbnm",
+ /* 221 */ "expr ::= EXISTS LP select RP",
+ /* 222 */ "expr ::= CASE case_operand case_exprlist case_else END",
+ /* 223 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr",
+ /* 224 */ "case_exprlist ::= WHEN expr THEN expr",
+ /* 225 */ "case_else ::= ELSE expr",
+ /* 226 */ "case_else ::=",
+ /* 227 */ "case_operand ::= expr",
+ /* 228 */ "case_operand ::=",
+ /* 229 */ "exprlist ::= exprlist COMMA expritem",
+ /* 230 */ "exprlist ::= expritem",
+ /* 231 */ "expritem ::= expr",
+ /* 232 */ "expritem ::=",
+ /* 233 */ "cmd ::= CREATE uniqueflag INDEX ifnotexists nm dbnm ON nm LP idxlist RP",
+ /* 234 */ "uniqueflag ::= UNIQUE",
+ /* 235 */ "uniqueflag ::=",
+ /* 236 */ "idxlist_opt ::=",
+ /* 237 */ "idxlist_opt ::= LP idxlist RP",
+ /* 238 */ "idxlist ::= idxlist COMMA idxitem collate sortorder",
+ /* 239 */ "idxlist ::= idxitem collate sortorder",
+ /* 240 */ "idxitem ::= nm",
+ /* 241 */ "collate ::=",
+ /* 242 */ "collate ::= COLLATE id",
+ /* 243 */ "cmd ::= DROP INDEX ifexists fullname",
+ /* 244 */ "cmd ::= VACUUM",
+ /* 245 */ "cmd ::= VACUUM nm",
+ /* 246 */ "cmd ::= PRAGMA nm dbnm EQ nmnum",
+ /* 247 */ "cmd ::= PRAGMA nm dbnm EQ ON",
  /* 248 */ "cmd ::= PRAGMA nm dbnm EQ minus_num",
- /* 249 */ "cmd ::= PRAGMA nm dbnm LP nm RP",
+ /* 249 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP",
  /* 250 */ "cmd ::= PRAGMA nm dbnm",
- /* 251 */ "plus_num ::= plus_opt number",
- /* 252 */ "minus_num ::= MINUS number",
- /* 253 */ "number ::= INTEGER|FLOAT",
- /* 254 */ "plus_opt ::= PLUS",
- /* 255 */ "plus_opt ::=",
- /* 256 */ "cmd ::= CREATE trigger_decl BEGIN trigger_cmd_list END",
- /* 257 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause",
- /* 258 */ "trigger_time ::= BEFORE",
- /* 259 */ "trigger_time ::= AFTER",
- /* 260 */ "trigger_time ::= INSTEAD OF",
- /* 261 */ "trigger_time ::=",
- /* 262 */ "trigger_event ::= DELETE|INSERT",
- /* 263 */ "trigger_event ::= UPDATE",
- /* 264 */ "trigger_event ::= UPDATE OF inscollist",
- /* 265 */ "foreach_clause ::=",
- /* 266 */ "foreach_clause ::= FOR EACH ROW",
- /* 267 */ "foreach_clause ::= FOR EACH STATEMENT",
- /* 268 */ "when_clause ::=",
- /* 269 */ "when_clause ::= WHEN expr",
- /* 270 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI",
- /* 271 */ "trigger_cmd_list ::=",
- /* 272 */ "trigger_cmd ::= UPDATE orconf nm SET setlist where_opt",
- /* 273 */ "trigger_cmd ::= insert_cmd INTO nm inscollist_opt VALUES LP itemlist RP",
- /* 274 */ "trigger_cmd ::= insert_cmd INTO nm inscollist_opt select",
- /* 275 */ "trigger_cmd ::= DELETE FROM nm where_opt",
- /* 276 */ "trigger_cmd ::= select",
- /* 277 */ "expr ::= RAISE LP IGNORE RP",
- /* 278 */ "expr ::= RAISE LP raisetype COMMA nm RP",
- /* 279 */ "raisetype ::= ROLLBACK",
- /* 280 */ "raisetype ::= ABORT",
- /* 281 */ "raisetype ::= FAIL",
- /* 282 */ "cmd ::= DROP TRIGGER ifexists fullname",
- /* 283 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt",
- /* 284 */ "key_opt ::=",
- /* 285 */ "key_opt ::= KEY expr",
- /* 286 */ "database_kw_opt ::= DATABASE",
- /* 287 */ "database_kw_opt ::=",
- /* 288 */ "cmd ::= DETACH database_kw_opt expr",
- /* 289 */ "cmd ::= REINDEX",
- /* 290 */ "cmd ::= REINDEX nm dbnm",
- /* 291 */ "cmd ::= ANALYZE",
- /* 292 */ "cmd ::= ANALYZE nm dbnm",
- /* 293 */ "cmd ::= ALTER TABLE fullname RENAME TO nm",
- /* 294 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column",
- /* 295 */ "add_column_fullname ::= fullname",
- /* 296 */ "kwcolumn_opt ::=",
- /* 297 */ "kwcolumn_opt ::= COLUMNKW",
- /* 298 */ "cmd ::= create_vtab",
- /* 299 */ "cmd ::= create_vtab LP vtabarglist RP",
- /* 300 */ "create_vtab ::= CREATE VIRTUAL TABLE nm dbnm USING nm",
- /* 301 */ "vtabarglist ::= vtabarg",
- /* 302 */ "vtabarglist ::= vtabarglist COMMA vtabarg",
- /* 303 */ "vtabarg ::=",
- /* 304 */ "vtabarg ::= vtabarg vtabargtoken",
- /* 305 */ "vtabargtoken ::= ANY",
- /* 306 */ "vtabargtoken ::= lp anylist RP",
- /* 307 */ "lp ::= LP",
- /* 308 */ "anylist ::=",
- /* 309 */ "anylist ::= anylist ANY",
+ /* 251 */ "nmnum ::= plus_num",
+ /* 252 */ "nmnum ::= nm",
+ /* 253 */ "plus_num ::= plus_opt number",
+ /* 254 */ "minus_num ::= MINUS number",
+ /* 255 */ "number ::= INTEGER|FLOAT",
+ /* 256 */ "plus_opt ::= PLUS",
+ /* 257 */ "plus_opt ::=",
+ /* 258 */ "cmd ::= CREATE trigger_decl BEGIN trigger_cmd_list END",
+ /* 259 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause",
+ /* 260 */ "trigger_time ::= BEFORE",
+ /* 261 */ "trigger_time ::= AFTER",
+ /* 262 */ "trigger_time ::= INSTEAD OF",
+ /* 263 */ "trigger_time ::=",
+ /* 264 */ "trigger_event ::= DELETE|INSERT",
+ /* 265 */ "trigger_event ::= UPDATE",
+ /* 266 */ "trigger_event ::= UPDATE OF inscollist",
+ /* 267 */ "foreach_clause ::=",
+ /* 268 */ "foreach_clause ::= FOR EACH ROW",
+ /* 269 */ "foreach_clause ::= FOR EACH STATEMENT",
+ /* 270 */ "when_clause ::=",
+ /* 271 */ "when_clause ::= WHEN expr",
+ /* 272 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI",
+ /* 273 */ "trigger_cmd_list ::=",
+ /* 274 */ "trigger_cmd ::= UPDATE orconf nm SET setlist where_opt",
+ /* 275 */ "trigger_cmd ::= insert_cmd INTO nm inscollist_opt VALUES LP itemlist RP",
+ /* 276 */ "trigger_cmd ::= insert_cmd INTO nm inscollist_opt select",
+ /* 277 */ "trigger_cmd ::= DELETE FROM nm where_opt",
+ /* 278 */ "trigger_cmd ::= select",
+ /* 279 */ "expr ::= RAISE LP IGNORE RP",
+ /* 280 */ "expr ::= RAISE LP raisetype COMMA nm RP",
+ /* 281 */ "raisetype ::= ROLLBACK",
+ /* 282 */ "raisetype ::= ABORT",
+ /* 283 */ "raisetype ::= FAIL",
+ /* 284 */ "cmd ::= DROP TRIGGER ifexists fullname",
+ /* 285 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt",
+ /* 286 */ "key_opt ::=",
+ /* 287 */ "key_opt ::= KEY expr",
+ /* 288 */ "database_kw_opt ::= DATABASE",
+ /* 289 */ "database_kw_opt ::=",
+ /* 290 */ "cmd ::= DETACH database_kw_opt expr",
+ /* 291 */ "cmd ::= REINDEX",
+ /* 292 */ "cmd ::= REINDEX nm dbnm",
+ /* 293 */ "cmd ::= ANALYZE",
+ /* 294 */ "cmd ::= ANALYZE nm dbnm",
+ /* 295 */ "cmd ::= ALTER TABLE fullname RENAME TO nm",
+ /* 296 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column",
+ /* 297 */ "add_column_fullname ::= fullname",
+ /* 298 */ "kwcolumn_opt ::=",
+ /* 299 */ "kwcolumn_opt ::= COLUMNKW",
+ /* 300 */ "cmd ::= create_vtab",
+ /* 301 */ "cmd ::= create_vtab LP vtabarglist RP",
+ /* 302 */ "create_vtab ::= CREATE VIRTUAL TABLE nm dbnm USING nm",
+ /* 303 */ "vtabarglist ::= vtabarg",
+ /* 304 */ "vtabarglist ::= vtabarglist COMMA vtabarg",
+ /* 305 */ "vtabarg ::=",
+ /* 306 */ "vtabarg ::= vtabarg vtabargtoken",
+ /* 307 */ "vtabargtoken ::= ANY",
+ /* 308 */ "vtabargtoken ::= lp anylist RP",
+ /* 309 */ "lp ::= LP",
+ /* 310 */ "anylist ::=",
+ /* 311 */ "anylist ::= anylist ANY",
 };
 #endif /* NDEBUG */
 
@@ -1242,9 +1250,9 @@
     case 156:
     case 190:
     case 207:
-#line 374 "parse.y"
-{sqlite3SelectDelete((yypminor->yy219));}
-#line 1249 "parse.c"
+#line 375 "parse.y"
+{sqlite3SelectDelete((yypminor->yy43));}
+#line 1257 "parse.c"
       break;
     case 170:
     case 171:
@@ -1252,14 +1260,14 @@
     case 197:
     case 205:
     case 211:
-    case 219:
-    case 222:
+    case 218:
+    case 221:
+    case 223:
     case 224:
-    case 225:
-    case 235:
-#line 633 "parse.y"
-{sqlite3ExprDelete((yypminor->yy172));}
-#line 1264 "parse.c"
+    case 236:
+#line 616 "parse.y"
+{sqlite3ExprDelete((yypminor->yy450));}
+#line 1272 "parse.c"
       break;
     case 175:
     case 183:
@@ -1268,52 +1276,52 @@
     case 198:
     case 200:
     case 210:
+    case 212:
     case 213:
-    case 214:
-    case 217:
-    case 223:
-#line 870 "parse.y"
-{sqlite3ExprListDelete((yypminor->yy174));}
-#line 1279 "parse.c"
+    case 216:
+    case 222:
+#line 856 "parse.y"
+{sqlite3ExprListDelete((yypminor->yy242));}
+#line 1287 "parse.c"
       break;
     case 189:
     case 194:
     case 202:
     case 203:
-#line 502 "parse.y"
-{sqlite3SrcListDelete((yypminor->yy373));}
-#line 1287 "parse.c"
+#line 488 "parse.y"
+{sqlite3SrcListDelete((yypminor->yy419));}
+#line 1295 "parse.c"
       break;
     case 199:
-#line 563 "parse.y"
+#line 546 "parse.y"
 {
-  sqlite3ExprDelete((yypminor->yy234).pLimit);
-  sqlite3ExprDelete((yypminor->yy234).pOffset);
+  sqlite3ExprDelete((yypminor->yy84).pLimit);
+  sqlite3ExprDelete((yypminor->yy84).pOffset);
 }
-#line 1295 "parse.c"
+#line 1303 "parse.c"
       break;
     case 206:
     case 209:
-    case 216:
-#line 519 "parse.y"
-{sqlite3IdListDelete((yypminor->yy432));}
-#line 1302 "parse.c"
+    case 215:
+#line 505 "parse.y"
+{sqlite3IdListDelete((yypminor->yy352));}
+#line 1310 "parse.c"
       break;
-    case 231:
-    case 236:
-#line 966 "parse.y"
-{sqlite3DeleteTriggerStep((yypminor->yy243));}
-#line 1308 "parse.c"
+    case 232:
+    case 237:
+#line 957 "parse.y"
+{sqlite3DeleteTriggerStep((yypminor->yy75));}
+#line 1316 "parse.c"
       break;
-    case 233:
-#line 950 "parse.y"
-{sqlite3IdListDelete((yypminor->yy370).b);}
-#line 1313 "parse.c"
+    case 234:
+#line 941 "parse.y"
+{sqlite3IdListDelete((yypminor->yy354).b);}
+#line 1321 "parse.c"
       break;
-    case 238:
-#line 1034 "parse.y"
-{sqlite3ExprDelete((yypminor->yy386));}
-#line 1318 "parse.c"
+    case 239:
+#line 1025 "parse.y"
+{sqlite3ExprDelete((yypminor->yy158));}
+#line 1326 "parse.c"
       break;
     default:  break;   /* If no destructor action specified: do nothing */
   }
@@ -1481,7 +1489,7 @@
 
   sqlite3ErrorMsg(pParse, "parser stack overflow");
   pParse->parseError = 1;
-#line 1487 "parse.c"
+#line 1495 "parse.c"
      sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument var */
      return;
   }
@@ -1558,11 +1566,11 @@
   { 160, 0 },
   { 168, 3 },
   { 168, 1 },
-  { 168, 2 },
-  { 168, 4 },
-  { 168, 3 },
-  { 168, 3 },
-  { 168, 2 },
+  { 169, 2 },
+  { 169, 4 },
+  { 169, 3 },
+  { 169, 3 },
+  { 169, 2 },
   { 169, 2 },
   { 169, 3 },
   { 169, 5 },
@@ -1651,14 +1659,12 @@
   { 206, 0 },
   { 198, 0 },
   { 198, 3 },
-  { 210, 5 },
-  { 210, 3 },
+  { 210, 4 },
+  { 210, 2 },
   { 211, 1 },
   { 173, 1 },
   { 173, 1 },
   { 173, 0 },
-  { 212, 0 },
-  { 212, 2 },
   { 196, 0 },
   { 196, 3 },
   { 197, 0 },
@@ -1671,17 +1677,17 @@
   { 195, 0 },
   { 195, 2 },
   { 144, 6 },
-  { 214, 5 },
-  { 214, 3 },
+  { 213, 5 },
+  { 213, 3 },
   { 144, 8 },
   { 144, 5 },
   { 144, 6 },
-  { 215, 2 },
-  { 215, 1 },
-  { 217, 3 },
-  { 217, 1 },
-  { 216, 0 },
+  { 214, 2 },
+  { 214, 1 },
   { 216, 3 },
+  { 216, 1 },
+  { 215, 0 },
+  { 215, 3 },
   { 209, 3 },
   { 209, 1 },
   { 171, 1 },
@@ -1695,6 +1701,7 @@
   { 170, 1 },
   { 171, 1 },
   { 171, 1 },
+  { 171, 3 },
   { 171, 6 },
   { 171, 5 },
   { 171, 4 },
@@ -1707,12 +1714,12 @@
   { 171, 3 },
   { 171, 3 },
   { 171, 3 },
-  { 218, 1 },
-  { 218, 2 },
-  { 218, 1 },
+  { 217, 1 },
+  { 217, 2 },
+  { 217, 1 },
+  { 217, 2 },
   { 218, 2 },
-  { 219, 2 },
-  { 219, 0 },
+  { 218, 0 },
   { 171, 4 },
   { 171, 2 },
   { 171, 3 },
@@ -1721,70 +1728,73 @@
   { 171, 2 },
   { 171, 2 },
   { 171, 2 },
+  { 219, 1 },
+  { 219, 2 },
+  { 171, 5 },
   { 220, 1 },
   { 220, 2 },
   { 171, 5 },
-  { 221, 1 },
-  { 221, 2 },
-  { 171, 5 },
   { 171, 3 },
   { 171, 5 },
   { 171, 4 },
   { 171, 4 },
   { 171, 5 },
-  { 223, 5 },
-  { 223, 4 },
-  { 224, 2 },
+  { 222, 5 },
+  { 222, 4 },
+  { 223, 2 },
+  { 223, 0 },
+  { 221, 1 },
+  { 221, 0 },
+  { 212, 3 },
+  { 212, 1 },
+  { 224, 1 },
   { 224, 0 },
-  { 222, 1 },
-  { 222, 0 },
-  { 213, 3 },
-  { 213, 1 },
+  { 144, 11 },
   { 225, 1 },
   { 225, 0 },
-  { 144, 11 },
-  { 226, 1 },
-  { 226, 0 },
   { 175, 0 },
   { 175, 3 },
   { 183, 5 },
   { 183, 3 },
-  { 227, 1 },
+  { 226, 1 },
+  { 227, 0 },
+  { 227, 2 },
   { 144, 4 },
   { 144, 1 },
   { 144, 2 },
   { 144, 5 },
   { 144, 5 },
   { 144, 5 },
-  { 144, 5 },
   { 144, 6 },
   { 144, 3 },
+  { 228, 1 },
+  { 228, 1 },
   { 166, 2 },
   { 167, 2 },
+  { 230, 1 },
   { 229, 1 },
-  { 228, 1 },
-  { 228, 0 },
+  { 229, 0 },
   { 144, 5 },
-  { 230, 11 },
-  { 232, 1 },
-  { 232, 1 },
-  { 232, 2 },
-  { 232, 0 },
+  { 231, 11 },
   { 233, 1 },
   { 233, 1 },
-  { 233, 3 },
-  { 234, 0 },
-  { 234, 3 },
+  { 233, 2 },
+  { 233, 0 },
+  { 234, 1 },
+  { 234, 1 },
   { 234, 3 },
   { 235, 0 },
-  { 235, 2 },
-  { 231, 3 },
-  { 231, 0 },
-  { 236, 6 },
-  { 236, 8 },
-  { 236, 5 },
-  { 236, 4 },
-  { 236, 1 },
+  { 235, 3 },
+  { 235, 3 },
+  { 236, 0 },
+  { 236, 2 },
+  { 232, 3 },
+  { 232, 0 },
+  { 237, 6 },
+  { 237, 8 },
+  { 237, 5 },
+  { 237, 4 },
+  { 237, 1 },
   { 171, 4 },
   { 171, 6 },
   { 187, 1 },
@@ -1792,10 +1802,10 @@
   { 187, 1 },
   { 144, 4 },
   { 144, 6 },
+  { 239, 0 },
+  { 239, 2 },
+  { 238, 1 },
   { 238, 0 },
-  { 238, 2 },
-  { 237, 1 },
-  { 237, 0 },
   { 144, 3 },
   { 144, 1 },
   { 144, 3 },
@@ -1803,21 +1813,21 @@
   { 144, 3 },
   { 144, 6 },
   { 144, 6 },
-  { 239, 1 },
-  { 240, 0 },
   { 240, 1 },
+  { 241, 0 },
+  { 241, 1 },
   { 144, 1 },
   { 144, 4 },
-  { 241, 7 },
-  { 242, 1 },
-  { 242, 3 },
-  { 243, 0 },
-  { 243, 2 },
-  { 244, 1 },
-  { 244, 3 },
+  { 242, 7 },
+  { 243, 1 },
+  { 243, 3 },
+  { 244, 0 },
+  { 244, 2 },
   { 245, 1 },
-  { 246, 0 },
-  { 246, 2 },
+  { 245, 3 },
+  { 246, 1 },
+  { 247, 0 },
+  { 247, 2 },
 };
 
 static void yy_accept(yyParser*);  /* Forward Declaration */
@@ -1845,7 +1855,6 @@
   }
 #endif /* NDEBUG */
 
-#ifndef NDEBUG
   /* Silence complaints from purify about yygotominor being uninitialized
   ** in some cases when it is copied into the stack after the following
   ** switch.  yygotominor is uninitialized when a rule reduces that does
@@ -1853,9 +1862,15 @@
   ** value of the nonterminal uninitialized is utterly harmless as long
   ** as the value is never used.  So really the only thing this code
   ** accomplishes is to quieten purify.  
+  **
+  ** 2007-01-16:  The wireshark project (www.wireshark.org) reports that
+  ** without this code, their parser segfaults.  I'm not sure what there
+  ** parser is doing to make this happen.  This is the second bug report
+  ** from wireshark this week.  Clearly they are stressing Lemon in ways
+  ** that it has not been previously stressed...  (SQLite ticket #2172)
   */
   memset(&yygotominor, 0, sizeof(yygotominor));
-#endif
+
 
   switch( yyruleno ){
   /* Beginning here are the reduction cases.  A typical example
@@ -1869,32 +1884,32 @@
       case 3:
 #line 100 "parse.y"
 { sqlite3FinishCoding(pParse); }
-#line 1875 "parse.c"
+#line 1890 "parse.c"
         break;
       case 6:
 #line 103 "parse.y"
 { sqlite3BeginParse(pParse, 0); }
-#line 1880 "parse.c"
+#line 1895 "parse.c"
         break;
       case 7:
 #line 105 "parse.y"
 { sqlite3BeginParse(pParse, 1); }
-#line 1885 "parse.c"
+#line 1900 "parse.c"
         break;
       case 8:
 #line 106 "parse.y"
 { sqlite3BeginParse(pParse, 2); }
-#line 1890 "parse.c"
+#line 1905 "parse.c"
         break;
       case 9:
 #line 112 "parse.y"
-{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy46);}
-#line 1895 "parse.c"
+{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy316);}
+#line 1910 "parse.c"
         break;
       case 13:
 #line 117 "parse.y"
-{yygotominor.yy46 = TK_DEFERRED;}
-#line 1900 "parse.c"
+{yygotominor.yy316 = TK_DEFERRED;}
+#line 1915 "parse.c"
         break;
       case 14:
       case 15:
@@ -1902,26 +1917,26 @@
       case 107:
       case 109:
 #line 118 "parse.y"
-{yygotominor.yy46 = yymsp[0].major;}
-#line 1909 "parse.c"
+{yygotominor.yy316 = yymsp[0].major;}
+#line 1924 "parse.c"
         break;
       case 17:
       case 18:
 #line 121 "parse.y"
 {sqlite3CommitTransaction(pParse);}
-#line 1915 "parse.c"
+#line 1930 "parse.c"
         break;
       case 19:
 #line 123 "parse.y"
 {sqlite3RollbackTransaction(pParse);}
-#line 1920 "parse.c"
+#line 1935 "parse.c"
         break;
       case 21:
 #line 128 "parse.y"
 {
-   sqlite3StartTable(pParse,&yymsp[-1].minor.yy410,&yymsp[0].minor.yy410,yymsp[-4].minor.yy46,0,0,yymsp[-2].minor.yy46);
+   sqlite3StartTable(pParse,&yymsp[-1].minor.yy178,&yymsp[0].minor.yy178,yymsp[-4].minor.yy316,0,0,yymsp[-2].minor.yy316);
 }
-#line 1927 "parse.c"
+#line 1942 "parse.c"
         break;
       case 22:
       case 25:
@@ -1932,11 +1947,11 @@
       case 101:
       case 112:
       case 113:
-      case 213:
-      case 216:
+      case 212:
+      case 215:
 #line 132 "parse.y"
-{yygotominor.yy46 = 0;}
-#line 1942 "parse.c"
+{yygotominor.yy316 = 0;}
+#line 1957 "parse.c"
         break;
       case 23:
       case 24:
@@ -1944,213 +1959,215 @@
       case 78:
       case 100:
       case 111:
-      case 214:
-      case 217:
+      case 213:
+      case 216:
 #line 133 "parse.y"
-{yygotominor.yy46 = 1;}
-#line 1954 "parse.c"
+{yygotominor.yy316 = 1;}
+#line 1969 "parse.c"
         break;
       case 26:
 #line 139 "parse.y"
 {
-  sqlite3EndTable(pParse,&yymsp[-1].minor.yy410,&yymsp[0].minor.yy0,0);
+  sqlite3EndTable(pParse,&yymsp[-1].minor.yy178,&yymsp[0].minor.yy0,0);
 }
-#line 1961 "parse.c"
+#line 1976 "parse.c"
         break;
       case 27:
 #line 142 "parse.y"
 {
-  sqlite3EndTable(pParse,0,0,yymsp[0].minor.yy219);
-  sqlite3SelectDelete(yymsp[0].minor.yy219);
+  sqlite3EndTable(pParse,0,0,yymsp[0].minor.yy43);
+  sqlite3SelectDelete(yymsp[0].minor.yy43);
 }
-#line 1969 "parse.c"
+#line 1984 "parse.c"
         break;
       case 30:
 #line 154 "parse.y"
 {
-  yygotominor.yy410.z = yymsp[-2].minor.yy410.z;
-  yygotominor.yy410.n = (pParse->sLastToken.z-yymsp[-2].minor.yy410.z) + pParse->sLastToken.n;
+  yygotominor.yy178.z = yymsp[-2].minor.yy178.z;
+  yygotominor.yy178.n = (pParse->sLastToken.z-yymsp[-2].minor.yy178.z) + pParse->sLastToken.n;
 }
-#line 1977 "parse.c"
+#line 1992 "parse.c"
         break;
       case 31:
 #line 158 "parse.y"
 {
-  sqlite3AddColumn(pParse,&yymsp[0].minor.yy410);
-  yygotominor.yy410 = yymsp[0].minor.yy410;
+  sqlite3AddColumn(pParse,&yymsp[0].minor.yy178);
+  yygotominor.yy178 = yymsp[0].minor.yy178;
 }
-#line 1985 "parse.c"
+#line 2000 "parse.c"
         break;
       case 32:
       case 33:
       case 34:
       case 35:
       case 36:
-      case 253:
+      case 255:
 #line 168 "parse.y"
-{yygotominor.yy410 = yymsp[0].minor.yy0;}
-#line 1995 "parse.c"
+{yygotominor.yy178 = yymsp[0].minor.yy0;}
+#line 2010 "parse.c"
         break;
       case 38:
-#line 228 "parse.y"
-{sqlite3AddColumnType(pParse,&yymsp[0].minor.yy410);}
-#line 2000 "parse.c"
+#line 229 "parse.y"
+{sqlite3AddColumnType(pParse,&yymsp[0].minor.yy178);}
+#line 2015 "parse.c"
         break;
       case 39:
       case 42:
       case 119:
       case 120:
       case 131:
-      case 150:
-      case 241:
+      case 240:
+      case 242:
       case 251:
       case 252:
-#line 229 "parse.y"
-{yygotominor.yy410 = yymsp[0].minor.yy410;}
-#line 2013 "parse.c"
+      case 253:
+      case 254:
+#line 230 "parse.y"
+{yygotominor.yy178 = yymsp[0].minor.yy178;}
+#line 2030 "parse.c"
         break;
       case 40:
-#line 230 "parse.y"
+#line 231 "parse.y"
 {
-  yygotominor.yy410.z = yymsp[-3].minor.yy410.z;
-  yygotominor.yy410.n = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-3].minor.yy410.z;
+  yygotominor.yy178.z = yymsp[-3].minor.yy178.z;
+  yygotominor.yy178.n = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-3].minor.yy178.z;
 }
-#line 2021 "parse.c"
+#line 2038 "parse.c"
         break;
       case 41:
-#line 234 "parse.y"
+#line 235 "parse.y"
 {
-  yygotominor.yy410.z = yymsp[-5].minor.yy410.z;
-  yygotominor.yy410.n = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-5].minor.yy410.z;
+  yygotominor.yy178.z = yymsp[-5].minor.yy178.z;
+  yygotominor.yy178.n = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-5].minor.yy178.z;
 }
-#line 2029 "parse.c"
+#line 2046 "parse.c"
         break;
       case 43:
-#line 240 "parse.y"
-{yygotominor.yy410.z=yymsp[-1].minor.yy410.z; yygotominor.yy410.n=yymsp[0].minor.yy410.n+(yymsp[0].minor.yy410.z-yymsp[-1].minor.yy410.z);}
-#line 2034 "parse.c"
+#line 241 "parse.y"
+{yygotominor.yy178.z=yymsp[-1].minor.yy178.z; yygotominor.yy178.n=yymsp[0].minor.yy178.n+(yymsp[0].minor.yy178.z-yymsp[-1].minor.yy178.z);}
+#line 2051 "parse.c"
         break;
       case 44:
-#line 242 "parse.y"
-{ yygotominor.yy46 = atoi((char*)yymsp[0].minor.yy410.z); }
-#line 2039 "parse.c"
+#line 243 "parse.y"
+{ yygotominor.yy316 = atoi((char*)yymsp[0].minor.yy178.z); }
+#line 2056 "parse.c"
         break;
       case 45:
-#line 243 "parse.y"
-{ yygotominor.yy46 = -atoi((char*)yymsp[0].minor.yy410.z); }
-#line 2044 "parse.c"
+#line 244 "parse.y"
+{ yygotominor.yy316 = -atoi((char*)yymsp[0].minor.yy178.z); }
+#line 2061 "parse.c"
         break;
       case 50:
       case 52:
-#line 252 "parse.y"
-{sqlite3AddDefaultValue(pParse,yymsp[0].minor.yy172);}
-#line 2050 "parse.c"
+#line 253 "parse.y"
+{sqlite3AddDefaultValue(pParse,yymsp[0].minor.yy450);}
+#line 2067 "parse.c"
         break;
       case 51:
-#line 253 "parse.y"
-{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy172);}
-#line 2055 "parse.c"
+#line 254 "parse.y"
+{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy450);}
+#line 2072 "parse.c"
         break;
       case 53:
-#line 255 "parse.y"
+#line 256 "parse.y"
 {
-  Expr *p = sqlite3Expr(TK_UMINUS, yymsp[0].minor.yy172, 0, 0);
+  Expr *p = sqlite3Expr(TK_UMINUS, yymsp[0].minor.yy450, 0, 0);
   sqlite3AddDefaultValue(pParse,p);
 }
-#line 2063 "parse.c"
+#line 2080 "parse.c"
         break;
       case 54:
-#line 259 "parse.y"
+#line 260 "parse.y"
 {
-  Expr *p = sqlite3Expr(TK_STRING, 0, 0, &yymsp[0].minor.yy410);
+  Expr *p = sqlite3Expr(TK_STRING, 0, 0, &yymsp[0].minor.yy178);
   sqlite3AddDefaultValue(pParse,p);
 }
-#line 2071 "parse.c"
+#line 2088 "parse.c"
         break;
       case 56:
-#line 268 "parse.y"
-{sqlite3AddNotNull(pParse, yymsp[0].minor.yy46);}
-#line 2076 "parse.c"
+#line 269 "parse.y"
+{sqlite3AddNotNull(pParse, yymsp[0].minor.yy316);}
+#line 2093 "parse.c"
         break;
       case 57:
-#line 270 "parse.y"
-{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy46,yymsp[0].minor.yy46,yymsp[-2].minor.yy46);}
-#line 2081 "parse.c"
+#line 271 "parse.y"
+{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy316,yymsp[0].minor.yy316,yymsp[-2].minor.yy316);}
+#line 2098 "parse.c"
         break;
       case 58:
-#line 271 "parse.y"
-{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy46,0,0,0,0);}
-#line 2086 "parse.c"
+#line 272 "parse.y"
+{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy316,0,0,0,0);}
+#line 2103 "parse.c"
         break;
       case 59:
-#line 272 "parse.y"
-{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy172);}
-#line 2091 "parse.c"
+#line 273 "parse.y"
+{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy450);}
+#line 2108 "parse.c"
         break;
       case 60:
-#line 274 "parse.y"
-{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy410,yymsp[-1].minor.yy174,yymsp[0].minor.yy46);}
-#line 2096 "parse.c"
+#line 275 "parse.y"
+{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy178,yymsp[-1].minor.yy242,yymsp[0].minor.yy316);}
+#line 2113 "parse.c"
         break;
       case 61:
-#line 275 "parse.y"
-{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy46);}
-#line 2101 "parse.c"
+#line 276 "parse.y"
+{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy316);}
+#line 2118 "parse.c"
         break;
       case 62:
-#line 276 "parse.y"
-{sqlite3AddCollateType(pParse, (char*)yymsp[0].minor.yy410.z, yymsp[0].minor.yy410.n);}
-#line 2106 "parse.c"
+#line 277 "parse.y"
+{sqlite3AddCollateType(pParse, (char*)yymsp[0].minor.yy178.z, yymsp[0].minor.yy178.n);}
+#line 2123 "parse.c"
         break;
       case 65:
-#line 289 "parse.y"
-{ yygotominor.yy46 = OE_Restrict * 0x010101; }
-#line 2111 "parse.c"
+#line 290 "parse.y"
+{ yygotominor.yy316 = OE_Restrict * 0x010101; }
+#line 2128 "parse.c"
         break;
       case 66:
-#line 290 "parse.y"
-{ yygotominor.yy46 = (yymsp[-1].minor.yy46 & yymsp[0].minor.yy405.mask) | yymsp[0].minor.yy405.value; }
-#line 2116 "parse.c"
+#line 291 "parse.y"
+{ yygotominor.yy316 = (yymsp[-1].minor.yy316 & yymsp[0].minor.yy207.mask) | yymsp[0].minor.yy207.value; }
+#line 2133 "parse.c"
         break;
       case 67:
-#line 292 "parse.y"
-{ yygotominor.yy405.value = 0;     yygotominor.yy405.mask = 0x000000; }
-#line 2121 "parse.c"
+#line 293 "parse.y"
+{ yygotominor.yy207.value = 0;     yygotominor.yy207.mask = 0x000000; }
+#line 2138 "parse.c"
         break;
       case 68:
-#line 293 "parse.y"
-{ yygotominor.yy405.value = yymsp[0].minor.yy46;     yygotominor.yy405.mask = 0x0000ff; }
-#line 2126 "parse.c"
+#line 294 "parse.y"
+{ yygotominor.yy207.value = yymsp[0].minor.yy316;     yygotominor.yy207.mask = 0x0000ff; }
+#line 2143 "parse.c"
         break;
       case 69:
-#line 294 "parse.y"
-{ yygotominor.yy405.value = yymsp[0].minor.yy46<<8;  yygotominor.yy405.mask = 0x00ff00; }
-#line 2131 "parse.c"
+#line 295 "parse.y"
+{ yygotominor.yy207.value = yymsp[0].minor.yy316<<8;  yygotominor.yy207.mask = 0x00ff00; }
+#line 2148 "parse.c"
         break;
       case 70:
-#line 295 "parse.y"
-{ yygotominor.yy405.value = yymsp[0].minor.yy46<<16; yygotominor.yy405.mask = 0xff0000; }
-#line 2136 "parse.c"
+#line 296 "parse.y"
+{ yygotominor.yy207.value = yymsp[0].minor.yy316<<16; yygotominor.yy207.mask = 0xff0000; }
+#line 2153 "parse.c"
         break;
       case 71:
-#line 297 "parse.y"
-{ yygotominor.yy46 = OE_SetNull; }
-#line 2141 "parse.c"
+#line 298 "parse.y"
+{ yygotominor.yy316 = OE_SetNull; }
+#line 2158 "parse.c"
         break;
       case 72:
-#line 298 "parse.y"
-{ yygotominor.yy46 = OE_SetDflt; }
-#line 2146 "parse.c"
+#line 299 "parse.y"
+{ yygotominor.yy316 = OE_SetDflt; }
+#line 2163 "parse.c"
         break;
       case 73:
-#line 299 "parse.y"
-{ yygotominor.yy46 = OE_Cascade; }
-#line 2151 "parse.c"
+#line 300 "parse.y"
+{ yygotominor.yy316 = OE_Cascade; }
+#line 2168 "parse.c"
         break;
       case 74:
-#line 300 "parse.y"
-{ yygotominor.yy46 = OE_Restrict; }
-#line 2156 "parse.c"
+#line 301 "parse.y"
+{ yygotominor.yy316 = OE_Restrict; }
+#line 2173 "parse.c"
         break;
       case 75:
       case 76:
@@ -2158,497 +2175,485 @@
       case 93:
       case 95:
       case 96:
-      case 168:
-#line 302 "parse.y"
-{yygotominor.yy46 = yymsp[0].minor.yy46;}
-#line 2167 "parse.c"
+      case 166:
+#line 303 "parse.y"
+{yygotominor.yy316 = yymsp[0].minor.yy316;}
+#line 2184 "parse.c"
         break;
       case 80:
-#line 312 "parse.y"
-{yygotominor.yy410.n = 0; yygotominor.yy410.z = 0;}
-#line 2172 "parse.c"
+#line 313 "parse.y"
+{yygotominor.yy178.n = 0; yygotominor.yy178.z = 0;}
+#line 2189 "parse.c"
         break;
       case 81:
-#line 313 "parse.y"
-{yygotominor.yy410 = yymsp[-1].minor.yy0;}
-#line 2177 "parse.c"
+#line 314 "parse.y"
+{yygotominor.yy178 = yymsp[-1].minor.yy0;}
+#line 2194 "parse.c"
         break;
       case 86:
-#line 319 "parse.y"
-{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy174,yymsp[0].minor.yy46,yymsp[-2].minor.yy46,0);}
-#line 2182 "parse.c"
+#line 320 "parse.y"
+{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy242,yymsp[0].minor.yy316,yymsp[-2].minor.yy316,0);}
+#line 2199 "parse.c"
         break;
       case 87:
-#line 321 "parse.y"
-{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy174,yymsp[0].minor.yy46,0,0,0,0);}
-#line 2187 "parse.c"
+#line 322 "parse.y"
+{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy242,yymsp[0].minor.yy316,0,0,0,0);}
+#line 2204 "parse.c"
         break;
       case 88:
-#line 322 "parse.y"
-{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy172);}
-#line 2192 "parse.c"
+#line 323 "parse.y"
+{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy450);}
+#line 2209 "parse.c"
         break;
       case 89:
-#line 324 "parse.y"
+#line 325 "parse.y"
 {
-    sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy174, &yymsp[-3].minor.yy410, yymsp[-2].minor.yy174, yymsp[-1].minor.yy46);
-    sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy46);
+    sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy242, &yymsp[-3].minor.yy178, yymsp[-2].minor.yy242, yymsp[-1].minor.yy316);
+    sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy316);
 }
-#line 2200 "parse.c"
+#line 2217 "parse.c"
         break;
       case 92:
       case 94:
-#line 338 "parse.y"
-{yygotominor.yy46 = OE_Default;}
-#line 2206 "parse.c"
+#line 339 "parse.y"
+{yygotominor.yy316 = OE_Default;}
+#line 2223 "parse.c"
         break;
       case 97:
-#line 343 "parse.y"
-{yygotominor.yy46 = OE_Ignore;}
-#line 2211 "parse.c"
+#line 344 "parse.y"
+{yygotominor.yy316 = OE_Ignore;}
+#line 2228 "parse.c"
         break;
       case 98:
-      case 169:
-#line 344 "parse.y"
-{yygotominor.yy46 = OE_Replace;}
-#line 2217 "parse.c"
+      case 167:
+#line 345 "parse.y"
+{yygotominor.yy316 = OE_Replace;}
+#line 2234 "parse.c"
         break;
       case 99:
-#line 348 "parse.y"
+#line 349 "parse.y"
 {
-  sqlite3DropTable(pParse, yymsp[0].minor.yy373, 0, yymsp[-1].minor.yy46);
+  sqlite3DropTable(pParse, yymsp[0].minor.yy419, 0, yymsp[-1].minor.yy316);
 }
-#line 2224 "parse.c"
+#line 2241 "parse.c"
         break;
       case 102:
-#line 358 "parse.y"
+#line 359 "parse.y"
 {
-  sqlite3CreateView(pParse, &yymsp[-7].minor.yy0, &yymsp[-3].minor.yy410, &yymsp[-2].minor.yy410, yymsp[0].minor.yy219, yymsp[-6].minor.yy46, yymsp[-4].minor.yy46);
+  sqlite3CreateView(pParse, &yymsp[-7].minor.yy0, &yymsp[-3].minor.yy178, &yymsp[-2].minor.yy178, yymsp[0].minor.yy43, yymsp[-6].minor.yy316, yymsp[-4].minor.yy316);
 }
-#line 2231 "parse.c"
+#line 2248 "parse.c"
         break;
       case 103:
-#line 361 "parse.y"
+#line 362 "parse.y"
 {
-  sqlite3DropTable(pParse, yymsp[0].minor.yy373, 1, yymsp[-1].minor.yy46);
+  sqlite3DropTable(pParse, yymsp[0].minor.yy419, 1, yymsp[-1].minor.yy316);
 }
-#line 2238 "parse.c"
+#line 2255 "parse.c"
         break;
       case 104:
-#line 368 "parse.y"
+#line 369 "parse.y"
 {
-  sqlite3Select(pParse, yymsp[0].minor.yy219, SRT_Callback, 0, 0, 0, 0, 0);
-  sqlite3SelectDelete(yymsp[0].minor.yy219);
+  sqlite3Select(pParse, yymsp[0].minor.yy43, SRT_Callback, 0, 0, 0, 0, 0);
+  sqlite3SelectDelete(yymsp[0].minor.yy43);
 }
-#line 2246 "parse.c"
+#line 2263 "parse.c"
         break;
       case 105:
       case 128:
-#line 378 "parse.y"
-{yygotominor.yy219 = yymsp[0].minor.yy219;}
-#line 2252 "parse.c"
+#line 379 "parse.y"
+{yygotominor.yy43 = yymsp[0].minor.yy43;}
+#line 2269 "parse.c"
         break;
       case 106:
-#line 380 "parse.y"
+#line 381 "parse.y"
 {
-  if( yymsp[0].minor.yy219 ){
-    yymsp[0].minor.yy219->op = yymsp[-1].minor.yy46;
-    yymsp[0].minor.yy219->pPrior = yymsp[-2].minor.yy219;
+  if( yymsp[0].minor.yy43 ){
+    yymsp[0].minor.yy43->op = yymsp[-1].minor.yy316;
+    yymsp[0].minor.yy43->pPrior = yymsp[-2].minor.yy43;
   }
-  yygotominor.yy219 = yymsp[0].minor.yy219;
+  yygotominor.yy43 = yymsp[0].minor.yy43;
 }
-#line 2263 "parse.c"
+#line 2280 "parse.c"
         break;
       case 108:
-#line 389 "parse.y"
-{yygotominor.yy46 = TK_ALL;}
-#line 2268 "parse.c"
+#line 390 "parse.y"
+{yygotominor.yy316 = TK_ALL;}
+#line 2285 "parse.c"
         break;
       case 110:
-#line 393 "parse.y"
+#line 394 "parse.y"
 {
-  yygotominor.yy219 = sqlite3SelectNew(yymsp[-6].minor.yy174,yymsp[-5].minor.yy373,yymsp[-4].minor.yy172,yymsp[-3].minor.yy174,yymsp[-2].minor.yy172,yymsp[-1].minor.yy174,yymsp[-7].minor.yy46,yymsp[0].minor.yy234.pLimit,yymsp[0].minor.yy234.pOffset);
+  yygotominor.yy43 = sqlite3SelectNew(yymsp[-6].minor.yy242,yymsp[-5].minor.yy419,yymsp[-4].minor.yy450,yymsp[-3].minor.yy242,yymsp[-2].minor.yy450,yymsp[-1].minor.yy242,yymsp[-7].minor.yy316,yymsp[0].minor.yy84.pLimit,yymsp[0].minor.yy84.pOffset);
 }
-#line 2275 "parse.c"
+#line 2292 "parse.c"
         break;
       case 114:
-      case 238:
-#line 414 "parse.y"
-{yygotominor.yy174 = yymsp[-1].minor.yy174;}
-#line 2281 "parse.c"
+      case 237:
+#line 415 "parse.y"
+{yygotominor.yy242 = yymsp[-1].minor.yy242;}
+#line 2298 "parse.c"
         break;
       case 115:
       case 141:
-      case 151:
-      case 237:
-#line 415 "parse.y"
-{yygotominor.yy174 = 0;}
-#line 2289 "parse.c"
+      case 149:
+      case 236:
+#line 416 "parse.y"
+{yygotominor.yy242 = 0;}
+#line 2306 "parse.c"
         break;
       case 116:
-#line 416 "parse.y"
+#line 417 "parse.y"
 {
-   yygotominor.yy174 = sqlite3ExprListAppend(yymsp[-2].minor.yy174,yymsp[-1].minor.yy172,yymsp[0].minor.yy410.n?&yymsp[0].minor.yy410:0);
+   yygotominor.yy242 = sqlite3ExprListAppend(yymsp[-2].minor.yy242,yymsp[-1].minor.yy450,yymsp[0].minor.yy178.n?&yymsp[0].minor.yy178:0);
 }
-#line 2296 "parse.c"
+#line 2313 "parse.c"
         break;
       case 117:
-#line 419 "parse.y"
+#line 420 "parse.y"
 {
-  yygotominor.yy174 = sqlite3ExprListAppend(yymsp[-1].minor.yy174, sqlite3Expr(TK_ALL, 0, 0, 0), 0);
+  yygotominor.yy242 = sqlite3ExprListAppend(yymsp[-1].minor.yy242, sqlite3Expr(TK_ALL, 0, 0, 0), 0);
 }
-#line 2303 "parse.c"
+#line 2320 "parse.c"
         break;
       case 118:
-#line 422 "parse.y"
+#line 423 "parse.y"
 {
   Expr *pRight = sqlite3Expr(TK_ALL, 0, 0, 0);
-  Expr *pLeft = sqlite3Expr(TK_ID, 0, 0, &yymsp[-2].minor.yy410);
-  yygotominor.yy174 = sqlite3ExprListAppend(yymsp[-3].minor.yy174, sqlite3Expr(TK_DOT, pLeft, pRight, 0), 0);
+  Expr *pLeft = sqlite3Expr(TK_ID, 0, 0, &yymsp[-2].minor.yy178);
+  yygotominor.yy242 = sqlite3ExprListAppend(yymsp[-3].minor.yy242, sqlite3Expr(TK_DOT, pLeft, pRight, 0), 0);
 }
-#line 2312 "parse.c"
+#line 2329 "parse.c"
         break;
       case 121:
-#line 434 "parse.y"
-{yygotominor.yy410.n = 0;}
-#line 2317 "parse.c"
+#line 435 "parse.y"
+{yygotominor.yy178.n = 0;}
+#line 2334 "parse.c"
         break;
       case 122:
-#line 446 "parse.y"
-{yygotominor.yy373 = sqliteMalloc(sizeof(*yygotominor.yy373));}
-#line 2322 "parse.c"
+#line 447 "parse.y"
+{yygotominor.yy419 = sqliteMalloc(sizeof(*yygotominor.yy419));}
+#line 2339 "parse.c"
         break;
       case 123:
-#line 447 "parse.y"
-{yygotominor.yy373 = yymsp[0].minor.yy373;}
-#line 2327 "parse.c"
+#line 448 "parse.y"
+{
+  yygotominor.yy419 = yymsp[0].minor.yy419;
+  sqlite3SrcListShiftJoinType(yygotominor.yy419);
+}
+#line 2347 "parse.c"
         break;
       case 124:
-#line 452 "parse.y"
+#line 456 "parse.y"
 {
-   yygotominor.yy373 = yymsp[-1].minor.yy373;
-   if( yygotominor.yy373 && yygotominor.yy373->nSrc>0 ) yygotominor.yy373->a[yygotominor.yy373->nSrc-1].jointype = yymsp[0].minor.yy46;
+   yygotominor.yy419 = yymsp[-1].minor.yy419;
+   if( yygotominor.yy419 && yygotominor.yy419->nSrc>0 ) yygotominor.yy419->a[yygotominor.yy419->nSrc-1].jointype = yymsp[0].minor.yy316;
 }
-#line 2335 "parse.c"
+#line 2355 "parse.c"
         break;
       case 125:
-#line 456 "parse.y"
-{yygotominor.yy373 = 0;}
-#line 2340 "parse.c"
+#line 460 "parse.y"
+{yygotominor.yy419 = 0;}
+#line 2360 "parse.c"
         break;
       case 126:
-#line 457 "parse.y"
+#line 461 "parse.y"
 {
-  yygotominor.yy373 = sqlite3SrcListAppend(yymsp[-5].minor.yy373,&yymsp[-4].minor.yy410,&yymsp[-3].minor.yy410);
-  if( yymsp[-2].minor.yy410.n ) sqlite3SrcListAddAlias(yygotominor.yy373,&yymsp[-2].minor.yy410);
-  if( yymsp[-1].minor.yy172 ){
-    if( yygotominor.yy373 && yygotominor.yy373->nSrc>1 ){ yygotominor.yy373->a[yygotominor.yy373->nSrc-2].pOn = yymsp[-1].minor.yy172; }
-    else { sqlite3ExprDelete(yymsp[-1].minor.yy172); }
-  }
-  if( yymsp[0].minor.yy432 ){
-    if( yygotominor.yy373 && yygotominor.yy373->nSrc>1 ){ yygotominor.yy373->a[yygotominor.yy373->nSrc-2].pUsing = yymsp[0].minor.yy432; }
-    else { sqlite3IdListDelete(yymsp[0].minor.yy432); }
-  }
+  yygotominor.yy419 = sqlite3SrcListAppendFromTerm(yymsp[-5].minor.yy419,&yymsp[-4].minor.yy178,&yymsp[-3].minor.yy178,&yymsp[-2].minor.yy178,0,yymsp[-1].minor.yy450,yymsp[0].minor.yy352);
 }
-#line 2356 "parse.c"
+#line 2367 "parse.c"
         break;
       case 127:
-#line 471 "parse.y"
+#line 466 "parse.y"
 {
-    yygotominor.yy373 = sqlite3SrcListAppend(yymsp[-6].minor.yy373,0,0);
-    if( yygotominor.yy373 && yygotominor.yy373->nSrc>0 ) yygotominor.yy373->a[yygotominor.yy373->nSrc-1].pSelect = yymsp[-4].minor.yy219;
-    if( yymsp[-2].minor.yy410.n ) sqlite3SrcListAddAlias(yygotominor.yy373,&yymsp[-2].minor.yy410);
-    if( yymsp[-1].minor.yy172 ){
-      if( yygotominor.yy373 && yygotominor.yy373->nSrc>1 ){ yygotominor.yy373->a[yygotominor.yy373->nSrc-2].pOn = yymsp[-1].minor.yy172; }
-      else { sqlite3ExprDelete(yymsp[-1].minor.yy172); }
-    }
-    if( yymsp[0].minor.yy432 ){
-      if( yygotominor.yy373 && yygotominor.yy373->nSrc>1 ){ yygotominor.yy373->a[yygotominor.yy373->nSrc-2].pUsing = yymsp[0].minor.yy432; }
-      else { sqlite3IdListDelete(yymsp[0].minor.yy432); }
-    }
+    yygotominor.yy419 = sqlite3SrcListAppendFromTerm(yymsp[-6].minor.yy419,0,0,&yymsp[-2].minor.yy178,yymsp[-4].minor.yy43,yymsp[-1].minor.yy450,yymsp[0].minor.yy352);
   }
-#line 2373 "parse.c"
+#line 2374 "parse.c"
         break;
       case 129:
-#line 492 "parse.y"
+#line 477 "parse.y"
 {
-     yygotominor.yy219 = sqlite3SelectNew(0,yymsp[0].minor.yy373,0,0,0,0,0,0,0);
+     sqlite3SrcListShiftJoinType(yymsp[0].minor.yy419);
+     yygotominor.yy43 = sqlite3SelectNew(0,yymsp[0].minor.yy419,0,0,0,0,0,0,0);
   }
-#line 2380 "parse.c"
+#line 2382 "parse.c"
         break;
       case 130:
-#line 498 "parse.y"
-{yygotominor.yy410.z=0; yygotominor.yy410.n=0;}
-#line 2385 "parse.c"
+#line 484 "parse.y"
+{yygotominor.yy178.z=0; yygotominor.yy178.n=0;}
+#line 2387 "parse.c"
         break;
       case 132:
-#line 503 "parse.y"
-{yygotominor.yy373 = sqlite3SrcListAppend(0,&yymsp[-1].minor.yy410,&yymsp[0].minor.yy410);}
-#line 2390 "parse.c"
+#line 489 "parse.y"
+{yygotominor.yy419 = sqlite3SrcListAppend(0,&yymsp[-1].minor.yy178,&yymsp[0].minor.yy178);}
+#line 2392 "parse.c"
         break;
       case 133:
-#line 507 "parse.y"
-{ yygotominor.yy46 = JT_INNER; }
-#line 2395 "parse.c"
+#line 493 "parse.y"
+{ yygotominor.yy316 = JT_INNER; }
+#line 2397 "parse.c"
         break;
       case 134:
-#line 508 "parse.y"
-{ yygotominor.yy46 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); }
-#line 2400 "parse.c"
+#line 494 "parse.y"
+{ yygotominor.yy316 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); }
+#line 2402 "parse.c"
         break;
       case 135:
-#line 509 "parse.y"
-{ yygotominor.yy46 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy410,0); }
-#line 2405 "parse.c"
+#line 495 "parse.y"
+{ yygotominor.yy316 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy178,0); }
+#line 2407 "parse.c"
         break;
       case 136:
-#line 511 "parse.y"
-{ yygotominor.yy46 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy410,&yymsp[-1].minor.yy410); }
-#line 2410 "parse.c"
+#line 497 "parse.y"
+{ yygotominor.yy316 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy178,&yymsp[-1].minor.yy178); }
+#line 2412 "parse.c"
         break;
       case 137:
       case 145:
-      case 154:
-      case 161:
-      case 176:
+      case 152:
+      case 159:
+      case 174:
+      case 202:
+      case 225:
+      case 227:
+      case 231:
+#line 501 "parse.y"
+{yygotominor.yy450 = yymsp[0].minor.yy450;}
+#line 2425 "parse.c"
+        break;
+      case 138:
+      case 151:
+      case 158:
       case 203:
       case 226:
       case 228:
       case 232:
-#line 515 "parse.y"
-{yygotominor.yy172 = yymsp[0].minor.yy172;}
-#line 2423 "parse.c"
-        break;
-      case 138:
-      case 153:
-      case 160:
-      case 204:
-      case 227:
-      case 229:
-      case 233:
-#line 516 "parse.y"
-{yygotominor.yy172 = 0;}
-#line 2434 "parse.c"
+#line 502 "parse.y"
+{yygotominor.yy450 = 0;}
+#line 2436 "parse.c"
         break;
       case 139:
-      case 173:
-#line 520 "parse.y"
-{yygotominor.yy432 = yymsp[-1].minor.yy432;}
-#line 2440 "parse.c"
+      case 171:
+#line 506 "parse.y"
+{yygotominor.yy352 = yymsp[-1].minor.yy352;}
+#line 2442 "parse.c"
         break;
       case 140:
-      case 172:
-#line 521 "parse.y"
-{yygotominor.yy432 = 0;}
-#line 2446 "parse.c"
+      case 170:
+#line 507 "parse.y"
+{yygotominor.yy352 = 0;}
+#line 2448 "parse.c"
         break;
       case 142:
-      case 152:
-#line 532 "parse.y"
-{yygotominor.yy174 = yymsp[0].minor.yy174;}
-#line 2452 "parse.c"
+      case 150:
+#line 518 "parse.y"
+{yygotominor.yy242 = yymsp[0].minor.yy242;}
+#line 2454 "parse.c"
         break;
       case 143:
-#line 533 "parse.y"
+#line 519 "parse.y"
 {
-  yygotominor.yy174 = sqlite3ExprListAppend(yymsp[-4].minor.yy174,yymsp[-2].minor.yy172,yymsp[-1].minor.yy410.n>0?&yymsp[-1].minor.yy410:0);
-  if( yygotominor.yy174 ) yygotominor.yy174->a[yygotominor.yy174->nExpr-1].sortOrder = yymsp[0].minor.yy46;
+  yygotominor.yy242 = sqlite3ExprListAppend(yymsp[-3].minor.yy242,yymsp[-1].minor.yy450,0);
+  if( yygotominor.yy242 ) yygotominor.yy242->a[yygotominor.yy242->nExpr-1].sortOrder = yymsp[0].minor.yy316;
 }
-#line 2460 "parse.c"
+#line 2462 "parse.c"
         break;
       case 144:
-#line 537 "parse.y"
+#line 523 "parse.y"
 {
-  yygotominor.yy174 = sqlite3ExprListAppend(0,yymsp[-2].minor.yy172,yymsp[-1].minor.yy410.n>0?&yymsp[-1].minor.yy410:0);
-  if( yygotominor.yy174 && yygotominor.yy174->a ) yygotominor.yy174->a[0].sortOrder = yymsp[0].minor.yy46;
+  yygotominor.yy242 = sqlite3ExprListAppend(0,yymsp[-1].minor.yy450,0);
+  if( yygotominor.yy242 && yygotominor.yy242->a ) yygotominor.yy242->a[0].sortOrder = yymsp[0].minor.yy316;
 }
-#line 2468 "parse.c"
+#line 2470 "parse.c"
         break;
       case 146:
       case 148:
-#line 546 "parse.y"
-{yygotominor.yy46 = SQLITE_SO_ASC;}
-#line 2474 "parse.c"
+#line 531 "parse.y"
+{yygotominor.yy316 = SQLITE_SO_ASC;}
+#line 2476 "parse.c"
         break;
       case 147:
-#line 547 "parse.y"
-{yygotominor.yy46 = SQLITE_SO_DESC;}
-#line 2479 "parse.c"
+#line 532 "parse.y"
+{yygotominor.yy316 = SQLITE_SO_DESC;}
+#line 2481 "parse.c"
         break;
-      case 149:
-#line 549 "parse.y"
-{yygotominor.yy410.z = 0; yygotominor.yy410.n = 0;}
-#line 2484 "parse.c"
+      case 153:
+#line 550 "parse.y"
+{yygotominor.yy84.pLimit = 0; yygotominor.yy84.pOffset = 0;}
+#line 2486 "parse.c"
+        break;
+      case 154:
+#line 551 "parse.y"
+{yygotominor.yy84.pLimit = yymsp[0].minor.yy450; yygotominor.yy84.pOffset = 0;}
+#line 2491 "parse.c"
         break;
       case 155:
-#line 567 "parse.y"
-{yygotominor.yy234.pLimit = 0; yygotominor.yy234.pOffset = 0;}
-#line 2489 "parse.c"
+#line 553 "parse.y"
+{yygotominor.yy84.pLimit = yymsp[-2].minor.yy450; yygotominor.yy84.pOffset = yymsp[0].minor.yy450;}
+#line 2496 "parse.c"
         break;
       case 156:
-#line 568 "parse.y"
-{yygotominor.yy234.pLimit = yymsp[0].minor.yy172; yygotominor.yy234.pOffset = 0;}
-#line 2494 "parse.c"
+#line 555 "parse.y"
+{yygotominor.yy84.pOffset = yymsp[-2].minor.yy450; yygotominor.yy84.pLimit = yymsp[0].minor.yy450;}
+#line 2501 "parse.c"
         break;
       case 157:
-#line 570 "parse.y"
-{yygotominor.yy234.pLimit = yymsp[-2].minor.yy172; yygotominor.yy234.pOffset = yymsp[0].minor.yy172;}
-#line 2499 "parse.c"
+#line 559 "parse.y"
+{sqlite3DeleteFrom(pParse,yymsp[-1].minor.yy419,yymsp[0].minor.yy450);}
+#line 2506 "parse.c"
         break;
-      case 158:
-#line 572 "parse.y"
-{yygotominor.yy234.pOffset = yymsp[-2].minor.yy172; yygotominor.yy234.pLimit = yymsp[0].minor.yy172;}
-#line 2504 "parse.c"
+      case 160:
+#line 570 "parse.y"
+{sqlite3Update(pParse,yymsp[-3].minor.yy419,yymsp[-1].minor.yy242,yymsp[0].minor.yy450,yymsp[-4].minor.yy316);}
+#line 2511 "parse.c"
         break;
-      case 159:
+      case 161:
 #line 576 "parse.y"
-{sqlite3DeleteFrom(pParse,yymsp[-1].minor.yy373,yymsp[0].minor.yy172);}
-#line 2509 "parse.c"
+{yygotominor.yy242 = sqlite3ExprListAppend(yymsp[-4].minor.yy242,yymsp[0].minor.yy450,&yymsp[-2].minor.yy178);}
+#line 2516 "parse.c"
         break;
       case 162:
-#line 587 "parse.y"
-{sqlite3Update(pParse,yymsp[-3].minor.yy373,yymsp[-1].minor.yy174,yymsp[0].minor.yy172,yymsp[-4].minor.yy46);}
-#line 2514 "parse.c"
+#line 577 "parse.y"
+{yygotominor.yy242 = sqlite3ExprListAppend(0,yymsp[0].minor.yy450,&yymsp[-2].minor.yy178);}
+#line 2521 "parse.c"
         break;
       case 163:
-#line 593 "parse.y"
-{yygotominor.yy174 = sqlite3ExprListAppend(yymsp[-4].minor.yy174,yymsp[0].minor.yy172,&yymsp[-2].minor.yy410);}
-#line 2519 "parse.c"
+#line 583 "parse.y"
+{sqlite3Insert(pParse, yymsp[-5].minor.yy419, yymsp[-1].minor.yy242, 0, yymsp[-4].minor.yy352, yymsp[-7].minor.yy316);}
+#line 2526 "parse.c"
         break;
       case 164:
-#line 594 "parse.y"
-{yygotominor.yy174 = sqlite3ExprListAppend(0,yymsp[0].minor.yy172,&yymsp[-2].minor.yy410);}
-#line 2524 "parse.c"
+#line 585 "parse.y"
+{sqlite3Insert(pParse, yymsp[-2].minor.yy419, 0, yymsp[0].minor.yy43, yymsp[-1].minor.yy352, yymsp[-4].minor.yy316);}
+#line 2531 "parse.c"
         break;
       case 165:
-#line 600 "parse.y"
-{sqlite3Insert(pParse, yymsp[-5].minor.yy373, yymsp[-1].minor.yy174, 0, yymsp[-4].minor.yy432, yymsp[-7].minor.yy46);}
-#line 2529 "parse.c"
-        break;
-      case 166:
-#line 602 "parse.y"
-{sqlite3Insert(pParse, yymsp[-2].minor.yy373, 0, yymsp[0].minor.yy219, yymsp[-1].minor.yy432, yymsp[-4].minor.yy46);}
-#line 2534 "parse.c"
+#line 587 "parse.y"
+{sqlite3Insert(pParse, yymsp[-3].minor.yy419, 0, 0, yymsp[-2].minor.yy352, yymsp[-5].minor.yy316);}
+#line 2536 "parse.c"
         break;
-      case 167:
-#line 604 "parse.y"
-{sqlite3Insert(pParse, yymsp[-3].minor.yy373, 0, 0, yymsp[-2].minor.yy432, yymsp[-5].minor.yy46);}
-#line 2539 "parse.c"
+      case 168:
+      case 229:
+#line 597 "parse.y"
+{yygotominor.yy242 = sqlite3ExprListAppend(yymsp[-2].minor.yy242,yymsp[0].minor.yy450,0);}
+#line 2542 "parse.c"
         break;
-      case 170:
+      case 169:
       case 230:
-#line 614 "parse.y"
-{yygotominor.yy174 = sqlite3ExprListAppend(yymsp[-2].minor.yy174,yymsp[0].minor.yy172,0);}
-#line 2545 "parse.c"
+#line 598 "parse.y"
+{yygotominor.yy242 = sqlite3ExprListAppend(0,yymsp[0].minor.yy450,0);}
+#line 2548 "parse.c"
         break;
-      case 171:
-      case 231:
-#line 615 "parse.y"
-{yygotominor.yy174 = sqlite3ExprListAppend(0,yymsp[0].minor.yy172,0);}
-#line 2551 "parse.c"
+      case 172:
+#line 607 "parse.y"
+{yygotominor.yy352 = sqlite3IdListAppend(yymsp[-2].minor.yy352,&yymsp[0].minor.yy178);}
+#line 2553 "parse.c"
         break;
-      case 174:
-#line 624 "parse.y"
-{yygotominor.yy432 = sqlite3IdListAppend(yymsp[-2].minor.yy432,&yymsp[0].minor.yy410);}
-#line 2556 "parse.c"
+      case 173:
+#line 608 "parse.y"
+{yygotominor.yy352 = sqlite3IdListAppend(0,&yymsp[0].minor.yy178);}
+#line 2558 "parse.c"
         break;
       case 175:
-#line 625 "parse.y"
-{yygotominor.yy432 = sqlite3IdListAppend(0,&yymsp[0].minor.yy410);}
-#line 2561 "parse.c"
+#line 619 "parse.y"
+{yygotominor.yy450 = yymsp[-1].minor.yy450; sqlite3ExprSpan(yygotominor.yy450,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); }
+#line 2563 "parse.c"
         break;
-      case 177:
-#line 636 "parse.y"
-{yygotominor.yy172 = yymsp[-1].minor.yy172; sqlite3ExprSpan(yygotominor.yy172,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); }
-#line 2566 "parse.c"
+      case 176:
+      case 181:
+      case 182:
+#line 620 "parse.y"
+{yygotominor.yy450 = sqlite3Expr(yymsp[0].major, 0, 0, &yymsp[0].minor.yy0);}
+#line 2570 "parse.c"
         break;
+      case 177:
       case 178:
-      case 183:
-      case 184:
-#line 637 "parse.y"
-{yygotominor.yy172 = sqlite3Expr(yymsp[0].major, 0, 0, &yymsp[0].minor.yy0);}
-#line 2573 "parse.c"
+#line 621 "parse.y"
+{yygotominor.yy450 = sqlite3Expr(TK_ID, 0, 0, &yymsp[0].minor.yy0);}
+#line 2576 "parse.c"
         break;
       case 179:
-      case 180:
-#line 638 "parse.y"
-{yygotominor.yy172 = sqlite3Expr(TK_ID, 0, 0, &yymsp[0].minor.yy0);}
-#line 2579 "parse.c"
-        break;
-      case 181:
-#line 640 "parse.y"
+#line 623 "parse.y"
 {
-  Expr *temp1 = sqlite3Expr(TK_ID, 0, 0, &yymsp[-2].minor.yy410);
-  Expr *temp2 = sqlite3Expr(TK_ID, 0, 0, &yymsp[0].minor.yy410);
-  yygotominor.yy172 = sqlite3Expr(TK_DOT, temp1, temp2, 0);
+  Expr *temp1 = sqlite3Expr(TK_ID, 0, 0, &yymsp[-2].minor.yy178);
+  Expr *temp2 = sqlite3Expr(TK_ID, 0, 0, &yymsp[0].minor.yy178);
+  yygotominor.yy450 = sqlite3Expr(TK_DOT, temp1, temp2, 0);
 }
-#line 2588 "parse.c"
+#line 2585 "parse.c"
         break;
-      case 182:
-#line 645 "parse.y"
+      case 180:
+#line 628 "parse.y"
 {
-  Expr *temp1 = sqlite3Expr(TK_ID, 0, 0, &yymsp[-4].minor.yy410);
-  Expr *temp2 = sqlite3Expr(TK_ID, 0, 0, &yymsp[-2].minor.yy410);
-  Expr *temp3 = sqlite3Expr(TK_ID, 0, 0, &yymsp[0].minor.yy410);
+  Expr *temp1 = sqlite3Expr(TK_ID, 0, 0, &yymsp[-4].minor.yy178);
+  Expr *temp2 = sqlite3Expr(TK_ID, 0, 0, &yymsp[-2].minor.yy178);
+  Expr *temp3 = sqlite3Expr(TK_ID, 0, 0, &yymsp[0].minor.yy178);
   Expr *temp4 = sqlite3Expr(TK_DOT, temp2, temp3, 0);
-  yygotominor.yy172 = sqlite3Expr(TK_DOT, temp1, temp4, 0);
+  yygotominor.yy450 = sqlite3Expr(TK_DOT, temp1, temp4, 0);
 }
-#line 2599 "parse.c"
+#line 2596 "parse.c"
         break;
-      case 185:
-#line 654 "parse.y"
-{yygotominor.yy172 = sqlite3RegisterExpr(pParse, &yymsp[0].minor.yy0);}
-#line 2604 "parse.c"
+      case 183:
+#line 637 "parse.y"
+{yygotominor.yy450 = sqlite3RegisterExpr(pParse, &yymsp[0].minor.yy0);}
+#line 2601 "parse.c"
         break;
-      case 186:
-#line 655 "parse.y"
+      case 184:
+#line 638 "parse.y"
 {
   Token *pToken = &yymsp[0].minor.yy0;
-  Expr *pExpr = yygotominor.yy172 = sqlite3Expr(TK_VARIABLE, 0, 0, pToken);
+  Expr *pExpr = yygotominor.yy450 = sqlite3Expr(TK_VARIABLE, 0, 0, pToken);
   sqlite3ExprAssignVarNumber(pParse, pExpr);
 }
-#line 2613 "parse.c"
+#line 2610 "parse.c"
         break;
-      case 187:
-#line 661 "parse.y"
+      case 185:
+#line 643 "parse.y"
 {
-  yygotominor.yy172 = sqlite3Expr(TK_CAST, yymsp[-3].minor.yy172, 0, &yymsp[-1].minor.yy410);
-  sqlite3ExprSpan(yygotominor.yy172,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0);
+  yygotominor.yy450 = sqlite3ExprSetColl(pParse, yymsp[-2].minor.yy450, &yymsp[0].minor.yy178);
 }
-#line 2621 "parse.c"
+#line 2617 "parse.c"
         break;
-      case 188:
-#line 666 "parse.y"
+      case 186:
+#line 647 "parse.y"
 {
-  yygotominor.yy172 = sqlite3ExprFunction(yymsp[-1].minor.yy174, &yymsp[-4].minor.yy0);
-  sqlite3ExprSpan(yygotominor.yy172,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0);
-  if( yymsp[-2].minor.yy46 && yygotominor.yy172 ){
-    yygotominor.yy172->flags |= EP_Distinct;
+  yygotominor.yy450 = sqlite3Expr(TK_CAST, yymsp[-3].minor.yy450, 0, &yymsp[-1].minor.yy178);
+  sqlite3ExprSpan(yygotominor.yy450,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0);
+}
+#line 2625 "parse.c"
+        break;
+      case 187:
+#line 652 "parse.y"
+{
+  yygotominor.yy450 = sqlite3ExprFunction(yymsp[-1].minor.yy242, &yymsp[-4].minor.yy0);
+  sqlite3ExprSpan(yygotominor.yy450,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0);
+  if( yymsp[-2].minor.yy316 && yygotominor.yy450 ){
+    yygotominor.yy450->flags |= EP_Distinct;
   }
 }
-#line 2632 "parse.c"
+#line 2636 "parse.c"
         break;
-      case 189:
-#line 673 "parse.y"
+      case 188:
+#line 659 "parse.y"
 {
-  yygotominor.yy172 = sqlite3ExprFunction(0, &yymsp[-3].minor.yy0);
-  sqlite3ExprSpan(yygotominor.yy172,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0);
+  yygotominor.yy450 = sqlite3ExprFunction(0, &yymsp[-3].minor.yy0);
+  sqlite3ExprSpan(yygotominor.yy450,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0);
 }
-#line 2640 "parse.c"
+#line 2644 "parse.c"
         break;
-      case 190:
-#line 677 "parse.y"
+      case 189:
+#line 663 "parse.y"
 {
   /* The CURRENT_TIME, CURRENT_DATE, and CURRENT_TIMESTAMP values are
   ** treated as functions that return constants */
-  yygotominor.yy172 = sqlite3ExprFunction(0,&yymsp[0].minor.yy0);
-  if( yygotominor.yy172 ){
-    yygotominor.yy172->op = TK_CONST_FUNC;  
-    yygotominor.yy172->span = yymsp[0].minor.yy0;
+  yygotominor.yy450 = sqlite3ExprFunction(0,&yymsp[0].minor.yy0);
+  if( yygotominor.yy450 ){
+    yygotominor.yy450->op = TK_CONST_FUNC;  
+    yygotominor.yy450->span = yymsp[0].minor.yy0;
   }
 }
-#line 2653 "parse.c"
+#line 2657 "parse.c"
         break;
+      case 190:
       case 191:
       case 192:
       case 193:
@@ -2656,535 +2661,538 @@
       case 195:
       case 196:
       case 197:
+#line 672 "parse.y"
+{yygotominor.yy450 = sqlite3Expr(yymsp[-1].major, yymsp[-2].minor.yy450, yymsp[0].minor.yy450, 0);}
+#line 2669 "parse.c"
+        break;
       case 198:
-#line 686 "parse.y"
-{yygotominor.yy172 = sqlite3Expr(yymsp[-1].major, yymsp[-2].minor.yy172, yymsp[0].minor.yy172, 0);}
-#line 2665 "parse.c"
+      case 200:
+#line 682 "parse.y"
+{yygotominor.yy86.eOperator = yymsp[0].minor.yy0; yygotominor.yy86.not = 0;}
+#line 2675 "parse.c"
         break;
       case 199:
       case 201:
-#line 696 "parse.y"
-{yygotominor.yy72.eOperator = yymsp[0].minor.yy0; yygotominor.yy72.not = 0;}
-#line 2671 "parse.c"
+#line 683 "parse.y"
+{yygotominor.yy86.eOperator = yymsp[0].minor.yy0; yygotominor.yy86.not = 1;}
+#line 2681 "parse.c"
         break;
-      case 200:
-      case 202:
-#line 697 "parse.y"
-{yygotominor.yy72.eOperator = yymsp[0].minor.yy0; yygotominor.yy72.not = 1;}
-#line 2677 "parse.c"
+      case 204:
+#line 690 "parse.y"
+{
+  ExprList *pList;
+  pList = sqlite3ExprListAppend(0, yymsp[-1].minor.yy450, 0);
+  pList = sqlite3ExprListAppend(pList, yymsp[-3].minor.yy450, 0);
+  if( yymsp[0].minor.yy450 ){
+    pList = sqlite3ExprListAppend(pList, yymsp[0].minor.yy450, 0);
+  }
+  yygotominor.yy450 = sqlite3ExprFunction(pList, &yymsp[-2].minor.yy86.eOperator);
+  if( yymsp[-2].minor.yy86.not ) yygotominor.yy450 = sqlite3Expr(TK_NOT, yygotominor.yy450, 0, 0);
+  sqlite3ExprSpan(yygotominor.yy450, &yymsp[-3].minor.yy450->span, &yymsp[-1].minor.yy450->span);
+  if( yygotominor.yy450 ) yygotominor.yy450->flags |= EP_InfixFunc;
+}
+#line 2697 "parse.c"
         break;
       case 205:
-#line 704 "parse.y"
+#line 703 "parse.y"
 {
-  ExprList *pList;
-  pList = sqlite3ExprListAppend(0, yymsp[-1].minor.yy172, 0);
-  pList = sqlite3ExprListAppend(pList, yymsp[-3].minor.yy172, 0);
-  if( yymsp[0].minor.yy172 ){
-    pList = sqlite3ExprListAppend(pList, yymsp[0].minor.yy172, 0);
-  }
-  yygotominor.yy172 = sqlite3ExprFunction(pList, &yymsp[-2].minor.yy72.eOperator);
-  if( yymsp[-2].minor.yy72.not ) yygotominor.yy172 = sqlite3Expr(TK_NOT, yygotominor.yy172, 0, 0);
-  sqlite3ExprSpan(yygotominor.yy172, &yymsp[-3].minor.yy172->span, &yymsp[-1].minor.yy172->span);
-  if( yygotominor.yy172 ) yygotominor.yy172->flags |= EP_InfixFunc;
+  yygotominor.yy450 = sqlite3Expr(yymsp[0].major, yymsp[-1].minor.yy450, 0, 0);
+  sqlite3ExprSpan(yygotominor.yy450,&yymsp[-1].minor.yy450->span,&yymsp[0].minor.yy0);
 }
-#line 2693 "parse.c"
+#line 2705 "parse.c"
         break;
       case 206:
-#line 717 "parse.y"
+#line 707 "parse.y"
 {
-  yygotominor.yy172 = sqlite3Expr(yymsp[0].major, yymsp[-1].minor.yy172, 0, 0);
-  sqlite3ExprSpan(yygotominor.yy172,&yymsp[-1].minor.yy172->span,&yymsp[0].minor.yy0);
+  yygotominor.yy450 = sqlite3Expr(TK_ISNULL, yymsp[-2].minor.yy450, 0, 0);
+  sqlite3ExprSpan(yygotominor.yy450,&yymsp[-2].minor.yy450->span,&yymsp[0].minor.yy0);
 }
-#line 2701 "parse.c"
+#line 2713 "parse.c"
         break;
       case 207:
-#line 721 "parse.y"
+#line 711 "parse.y"
 {
-  yygotominor.yy172 = sqlite3Expr(TK_ISNULL, yymsp[-2].minor.yy172, 0, 0);
-  sqlite3ExprSpan(yygotominor.yy172,&yymsp[-2].minor.yy172->span,&yymsp[0].minor.yy0);
+  yygotominor.yy450 = sqlite3Expr(TK_NOTNULL, yymsp[-2].minor.yy450, 0, 0);
+  sqlite3ExprSpan(yygotominor.yy450,&yymsp[-2].minor.yy450->span,&yymsp[0].minor.yy0);
 }
-#line 2709 "parse.c"
+#line 2721 "parse.c"
         break;
       case 208:
-#line 725 "parse.y"
+#line 715 "parse.y"
 {
-  yygotominor.yy172 = sqlite3Expr(TK_NOTNULL, yymsp[-2].minor.yy172, 0, 0);
-  sqlite3ExprSpan(yygotominor.yy172,&yymsp[-2].minor.yy172->span,&yymsp[0].minor.yy0);
+  yygotominor.yy450 = sqlite3Expr(TK_NOTNULL, yymsp[-3].minor.yy450, 0, 0);
+  sqlite3ExprSpan(yygotominor.yy450,&yymsp[-3].minor.yy450->span,&yymsp[0].minor.yy0);
 }
-#line 2717 "parse.c"
+#line 2729 "parse.c"
         break;
       case 209:
-#line 729 "parse.y"
+#line 719 "parse.y"
 {
-  yygotominor.yy172 = sqlite3Expr(TK_NOTNULL, yymsp[-3].minor.yy172, 0, 0);
-  sqlite3ExprSpan(yygotominor.yy172,&yymsp[-3].minor.yy172->span,&yymsp[0].minor.yy0);
+  yygotominor.yy450 = sqlite3Expr(yymsp[-1].major, yymsp[0].minor.yy450, 0, 0);
+  sqlite3ExprSpan(yygotominor.yy450,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy450->span);
 }
-#line 2725 "parse.c"
+#line 2737 "parse.c"
         break;
       case 210:
-#line 733 "parse.y"
+#line 723 "parse.y"
 {
-  yygotominor.yy172 = sqlite3Expr(yymsp[-1].major, yymsp[0].minor.yy172, 0, 0);
-  sqlite3ExprSpan(yygotominor.yy172,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy172->span);
+  yygotominor.yy450 = sqlite3Expr(TK_UMINUS, yymsp[0].minor.yy450, 0, 0);
+  sqlite3ExprSpan(yygotominor.yy450,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy450->span);
 }
-#line 2733 "parse.c"
+#line 2745 "parse.c"
         break;
       case 211:
-#line 737 "parse.y"
+#line 727 "parse.y"
 {
-  yygotominor.yy172 = sqlite3Expr(TK_UMINUS, yymsp[0].minor.yy172, 0, 0);
-  sqlite3ExprSpan(yygotominor.yy172,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy172->span);
+  yygotominor.yy450 = sqlite3Expr(TK_UPLUS, yymsp[0].minor.yy450, 0, 0);
+  sqlite3ExprSpan(yygotominor.yy450,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy450->span);
 }
-#line 2741 "parse.c"
+#line 2753 "parse.c"
         break;
-      case 212:
-#line 741 "parse.y"
-{
-  yygotominor.yy172 = sqlite3Expr(TK_UPLUS, yymsp[0].minor.yy172, 0, 0);
-  sqlite3ExprSpan(yygotominor.yy172,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy172->span);
-}
-#line 2749 "parse.c"
-        break;
-      case 215:
-#line 748 "parse.y"
+      case 214:
+#line 734 "parse.y"
 {
-  ExprList *pList = sqlite3ExprListAppend(0, yymsp[-2].minor.yy172, 0);
-  pList = sqlite3ExprListAppend(pList, yymsp[0].minor.yy172, 0);
-  yygotominor.yy172 = sqlite3Expr(TK_BETWEEN, yymsp[-4].minor.yy172, 0, 0);
-  if( yygotominor.yy172 ){
-    yygotominor.yy172->pList = pList;
+  ExprList *pList = sqlite3ExprListAppend(0, yymsp[-2].minor.yy450, 0);
+  pList = sqlite3ExprListAppend(pList, yymsp[0].minor.yy450, 0);
+  yygotominor.yy450 = sqlite3Expr(TK_BETWEEN, yymsp[-4].minor.yy450, 0, 0);
+  if( yygotominor.yy450 ){
+    yygotominor.yy450->pList = pList;
   }else{
     sqlite3ExprListDelete(pList);
   } 
-  if( yymsp[-3].minor.yy46 ) yygotominor.yy172 = sqlite3Expr(TK_NOT, yygotominor.yy172, 0, 0);
-  sqlite3ExprSpan(yygotominor.yy172,&yymsp[-4].minor.yy172->span,&yymsp[0].minor.yy172->span);
+  if( yymsp[-3].minor.yy316 ) yygotominor.yy450 = sqlite3Expr(TK_NOT, yygotominor.yy450, 0, 0);
+  sqlite3ExprSpan(yygotominor.yy450,&yymsp[-4].minor.yy450->span,&yymsp[0].minor.yy450->span);
 }
-#line 2765 "parse.c"
+#line 2769 "parse.c"
         break;
-      case 218:
-#line 764 "parse.y"
+      case 217:
+#line 750 "parse.y"
 {
-    yygotominor.yy172 = sqlite3Expr(TK_IN, yymsp[-4].minor.yy172, 0, 0);
-    if( yygotominor.yy172 ){
-      yygotominor.yy172->pList = yymsp[-1].minor.yy174;
+    yygotominor.yy450 = sqlite3Expr(TK_IN, yymsp[-4].minor.yy450, 0, 0);
+    if( yygotominor.yy450 ){
+      yygotominor.yy450->pList = yymsp[-1].minor.yy242;
     }else{
-      sqlite3ExprListDelete(yymsp[-1].minor.yy174);
+      sqlite3ExprListDelete(yymsp[-1].minor.yy242);
     }
-    if( yymsp[-3].minor.yy46 ) yygotominor.yy172 = sqlite3Expr(TK_NOT, yygotominor.yy172, 0, 0);
-    sqlite3ExprSpan(yygotominor.yy172,&yymsp[-4].minor.yy172->span,&yymsp[0].minor.yy0);
+    if( yymsp[-3].minor.yy316 ) yygotominor.yy450 = sqlite3Expr(TK_NOT, yygotominor.yy450, 0, 0);
+    sqlite3ExprSpan(yygotominor.yy450,&yymsp[-4].minor.yy450->span,&yymsp[0].minor.yy0);
   }
-#line 2779 "parse.c"
+#line 2783 "parse.c"
         break;
-      case 219:
-#line 774 "parse.y"
+      case 218:
+#line 760 "parse.y"
 {
-    yygotominor.yy172 = sqlite3Expr(TK_SELECT, 0, 0, 0);
-    if( yygotominor.yy172 ){
-      yygotominor.yy172->pSelect = yymsp[-1].minor.yy219;
+    yygotominor.yy450 = sqlite3Expr(TK_SELECT, 0, 0, 0);
+    if( yygotominor.yy450 ){
+      yygotominor.yy450->pSelect = yymsp[-1].minor.yy43;
     }else{
-      sqlite3SelectDelete(yymsp[-1].minor.yy219);
+      sqlite3SelectDelete(yymsp[-1].minor.yy43);
     }
-    sqlite3ExprSpan(yygotominor.yy172,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0);
+    sqlite3ExprSpan(yygotominor.yy450,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0);
   }
-#line 2792 "parse.c"
+#line 2796 "parse.c"
         break;
-      case 220:
-#line 783 "parse.y"
+      case 219:
+#line 769 "parse.y"
 {
-    yygotominor.yy172 = sqlite3Expr(TK_IN, yymsp[-4].minor.yy172, 0, 0);
-    if( yygotominor.yy172 ){
-      yygotominor.yy172->pSelect = yymsp[-1].minor.yy219;
+    yygotominor.yy450 = sqlite3Expr(TK_IN, yymsp[-4].minor.yy450, 0, 0);
+    if( yygotominor.yy450 ){
+      yygotominor.yy450->pSelect = yymsp[-1].minor.yy43;
     }else{
-      sqlite3SelectDelete(yymsp[-1].minor.yy219);
+      sqlite3SelectDelete(yymsp[-1].minor.yy43);
     }
-    if( yymsp[-3].minor.yy46 ) yygotominor.yy172 = sqlite3Expr(TK_NOT, yygotominor.yy172, 0, 0);
-    sqlite3ExprSpan(yygotominor.yy172,&yymsp[-4].minor.yy172->span,&yymsp[0].minor.yy0);
+    if( yymsp[-3].minor.yy316 ) yygotominor.yy450 = sqlite3Expr(TK_NOT, yygotominor.yy450, 0, 0);
+    sqlite3ExprSpan(yygotominor.yy450,&yymsp[-4].minor.yy450->span,&yymsp[0].minor.yy0);
   }
-#line 2806 "parse.c"
+#line 2810 "parse.c"
         break;
-      case 221:
-#line 793 "parse.y"
+      case 220:
+#line 779 "parse.y"
 {
-    SrcList *pSrc = sqlite3SrcListAppend(0,&yymsp[-1].minor.yy410,&yymsp[0].minor.yy410);
-    yygotominor.yy172 = sqlite3Expr(TK_IN, yymsp[-3].minor.yy172, 0, 0);
-    if( yygotominor.yy172 ){
-      yygotominor.yy172->pSelect = sqlite3SelectNew(0,pSrc,0,0,0,0,0,0,0);
+    SrcList *pSrc = sqlite3SrcListAppend(0,&yymsp[-1].minor.yy178,&yymsp[0].minor.yy178);
+    yygotominor.yy450 = sqlite3Expr(TK_IN, yymsp[-3].minor.yy450, 0, 0);
+    if( yygotominor.yy450 ){
+      yygotominor.yy450->pSelect = sqlite3SelectNew(0,pSrc,0,0,0,0,0,0,0);
     }else{
       sqlite3SrcListDelete(pSrc);
     }
-    if( yymsp[-2].minor.yy46 ) yygotominor.yy172 = sqlite3Expr(TK_NOT, yygotominor.yy172, 0, 0);
-    sqlite3ExprSpan(yygotominor.yy172,&yymsp[-3].minor.yy172->span,yymsp[0].minor.yy410.z?&yymsp[0].minor.yy410:&yymsp[-1].minor.yy410);
+    if( yymsp[-2].minor.yy316 ) yygotominor.yy450 = sqlite3Expr(TK_NOT, yygotominor.yy450, 0, 0);
+    sqlite3ExprSpan(yygotominor.yy450,&yymsp[-3].minor.yy450->span,yymsp[0].minor.yy178.z?&yymsp[0].minor.yy178:&yymsp[-1].minor.yy178);
   }
-#line 2821 "parse.c"
+#line 2825 "parse.c"
         break;
-      case 222:
-#line 804 "parse.y"
+      case 221:
+#line 790 "parse.y"
 {
-    Expr *p = yygotominor.yy172 = sqlite3Expr(TK_EXISTS, 0, 0, 0);
+    Expr *p = yygotominor.yy450 = sqlite3Expr(TK_EXISTS, 0, 0, 0);
     if( p ){
-      p->pSelect = yymsp[-1].minor.yy219;
+      p->pSelect = yymsp[-1].minor.yy43;
       sqlite3ExprSpan(p,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0);
     }else{
-      sqlite3SelectDelete(yymsp[-1].minor.yy219);
+      sqlite3SelectDelete(yymsp[-1].minor.yy43);
     }
   }
-#line 2834 "parse.c"
+#line 2838 "parse.c"
         break;
-      case 223:
-#line 816 "parse.y"
+      case 222:
+#line 802 "parse.y"
 {
-  yygotominor.yy172 = sqlite3Expr(TK_CASE, yymsp[-3].minor.yy172, yymsp[-1].minor.yy172, 0);
-  if( yygotominor.yy172 ){
-    yygotominor.yy172->pList = yymsp[-2].minor.yy174;
+  yygotominor.yy450 = sqlite3Expr(TK_CASE, yymsp[-3].minor.yy450, yymsp[-1].minor.yy450, 0);
+  if( yygotominor.yy450 ){
+    yygotominor.yy450->pList = yymsp[-2].minor.yy242;
   }else{
-    sqlite3ExprListDelete(yymsp[-2].minor.yy174);
+    sqlite3ExprListDelete(yymsp[-2].minor.yy242);
   }
-  sqlite3ExprSpan(yygotominor.yy172, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0);
+  sqlite3ExprSpan(yygotominor.yy450, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0);
 }
-#line 2847 "parse.c"
+#line 2851 "parse.c"
         break;
-      case 224:
-#line 827 "parse.y"
+      case 223:
+#line 813 "parse.y"
 {
-  yygotominor.yy174 = sqlite3ExprListAppend(yymsp[-4].minor.yy174, yymsp[-2].minor.yy172, 0);
-  yygotominor.yy174 = sqlite3ExprListAppend(yygotominor.yy174, yymsp[0].minor.yy172, 0);
+  yygotominor.yy242 = sqlite3ExprListAppend(yymsp[-4].minor.yy242, yymsp[-2].minor.yy450, 0);
+  yygotominor.yy242 = sqlite3ExprListAppend(yygotominor.yy242, yymsp[0].minor.yy450, 0);
 }
-#line 2855 "parse.c"
+#line 2859 "parse.c"
         break;
-      case 225:
-#line 831 "parse.y"
+      case 224:
+#line 817 "parse.y"
 {
-  yygotominor.yy174 = sqlite3ExprListAppend(0, yymsp[-2].minor.yy172, 0);
-  yygotominor.yy174 = sqlite3ExprListAppend(yygotominor.yy174, yymsp[0].minor.yy172, 0);
+  yygotominor.yy242 = sqlite3ExprListAppend(0, yymsp[-2].minor.yy450, 0);
+  yygotominor.yy242 = sqlite3ExprListAppend(yygotominor.yy242, yymsp[0].minor.yy450, 0);
 }
-#line 2863 "parse.c"
+#line 2867 "parse.c"
         break;
-      case 234:
-#line 858 "parse.y"
+      case 233:
+#line 844 "parse.y"
 {
-  sqlite3CreateIndex(pParse, &yymsp[-6].minor.yy410, &yymsp[-5].minor.yy410, sqlite3SrcListAppend(0,&yymsp[-3].minor.yy410,0), yymsp[-1].minor.yy174, yymsp[-9].minor.yy46,
-                      &yymsp[-10].minor.yy0, &yymsp[0].minor.yy0, SQLITE_SO_ASC, yymsp[-7].minor.yy46);
+  sqlite3CreateIndex(pParse, &yymsp[-6].minor.yy178, &yymsp[-5].minor.yy178, sqlite3SrcListAppend(0,&yymsp[-3].minor.yy178,0), yymsp[-1].minor.yy242, yymsp[-9].minor.yy316,
+                      &yymsp[-10].minor.yy0, &yymsp[0].minor.yy0, SQLITE_SO_ASC, yymsp[-7].minor.yy316);
 }
-#line 2871 "parse.c"
+#line 2875 "parse.c"
         break;
-      case 235:
-      case 280:
-#line 864 "parse.y"
-{yygotominor.yy46 = OE_Abort;}
-#line 2877 "parse.c"
+      case 234:
+      case 282:
+#line 850 "parse.y"
+{yygotominor.yy316 = OE_Abort;}
+#line 2881 "parse.c"
         break;
-      case 236:
-#line 865 "parse.y"
-{yygotominor.yy46 = OE_None;}
-#line 2882 "parse.c"
+      case 235:
+#line 851 "parse.y"
+{yygotominor.yy316 = OE_None;}
+#line 2886 "parse.c"
         break;
-      case 239:
-#line 875 "parse.y"
+      case 238:
+#line 861 "parse.y"
 {
   Expr *p = 0;
-  if( yymsp[-1].minor.yy410.n>0 ){
+  if( yymsp[-1].minor.yy178.n>0 ){
     p = sqlite3Expr(TK_COLUMN, 0, 0, 0);
-    if( p ) p->pColl = sqlite3LocateCollSeq(pParse, (char*)yymsp[-1].minor.yy410.z, yymsp[-1].minor.yy410.n);
+    if( p ) p->pColl = sqlite3LocateCollSeq(pParse, (char*)yymsp[-1].minor.yy178.z, yymsp[-1].minor.yy178.n);
   }
-  yygotominor.yy174 = sqlite3ExprListAppend(yymsp[-4].minor.yy174, p, &yymsp[-2].minor.yy410);
-  if( yygotominor.yy174 ) yygotominor.yy174->a[yygotominor.yy174->nExpr-1].sortOrder = yymsp[0].minor.yy46;
+  yygotominor.yy242 = sqlite3ExprListAppend(yymsp[-4].minor.yy242, p, &yymsp[-2].minor.yy178);
+  if( yygotominor.yy242 ) yygotominor.yy242->a[yygotominor.yy242->nExpr-1].sortOrder = yymsp[0].minor.yy316;
 }
-#line 2895 "parse.c"
+#line 2899 "parse.c"
         break;
-      case 240:
-#line 884 "parse.y"
+      case 239:
+#line 870 "parse.y"
 {
   Expr *p = 0;
-  if( yymsp[-1].minor.yy410.n>0 ){
+  if( yymsp[-1].minor.yy178.n>0 ){
     p = sqlite3Expr(TK_COLUMN, 0, 0, 0);
-    if( p ) p->pColl = sqlite3LocateCollSeq(pParse, (char*)yymsp[-1].minor.yy410.z, yymsp[-1].minor.yy410.n);
+    if( p ) p->pColl = sqlite3LocateCollSeq(pParse, (char*)yymsp[-1].minor.yy178.z, yymsp[-1].minor.yy178.n);
   }
-  yygotominor.yy174 = sqlite3ExprListAppend(0, p, &yymsp[-2].minor.yy410);
-  if( yygotominor.yy174 ) yygotominor.yy174->a[yygotominor.yy174->nExpr-1].sortOrder = yymsp[0].minor.yy46;
+  yygotominor.yy242 = sqlite3ExprListAppend(0, p, &yymsp[-2].minor.yy178);
+  if( yygotominor.yy242 ) yygotominor.yy242->a[yygotominor.yy242->nExpr-1].sortOrder = yymsp[0].minor.yy316;
 }
-#line 2908 "parse.c"
+#line 2912 "parse.c"
         break;
-      case 242:
-#line 898 "parse.y"
-{sqlite3DropIndex(pParse, yymsp[0].minor.yy373, yymsp[-1].minor.yy46);}
-#line 2913 "parse.c"
+      case 241:
+#line 882 "parse.y"
+{yygotominor.yy178.z = 0; yygotominor.yy178.n = 0;}
+#line 2917 "parse.c"
         break;
       case 243:
-      case 244:
-#line 903 "parse.y"
-{sqlite3Vacuum(pParse);}
-#line 2919 "parse.c"
+#line 888 "parse.y"
+{sqlite3DropIndex(pParse, yymsp[0].minor.yy419, yymsp[-1].minor.yy316);}
+#line 2922 "parse.c"
         break;
+      case 244:
       case 245:
-      case 247:
-#line 910 "parse.y"
-{sqlite3Pragma(pParse,&yymsp[-3].minor.yy410,&yymsp[-2].minor.yy410,&yymsp[0].minor.yy410,0);}
-#line 2925 "parse.c"
+#line 893 "parse.y"
+{sqlite3Vacuum(pParse);}
+#line 2928 "parse.c"
         break;
       case 246:
-#line 911 "parse.y"
-{sqlite3Pragma(pParse,&yymsp[-3].minor.yy410,&yymsp[-2].minor.yy410,&yymsp[0].minor.yy0,0);}
-#line 2930 "parse.c"
+#line 900 "parse.y"
+{sqlite3Pragma(pParse,&yymsp[-3].minor.yy178,&yymsp[-2].minor.yy178,&yymsp[0].minor.yy178,0);}
+#line 2933 "parse.c"
+        break;
+      case 247:
+#line 901 "parse.y"
+{sqlite3Pragma(pParse,&yymsp[-3].minor.yy178,&yymsp[-2].minor.yy178,&yymsp[0].minor.yy0,0);}
+#line 2938 "parse.c"
         break;
       case 248:
-#line 913 "parse.y"
+#line 902 "parse.y"
 {
-  sqlite3Pragma(pParse,&yymsp[-3].minor.yy410,&yymsp[-2].minor.yy410,&yymsp[0].minor.yy410,1);
+  sqlite3Pragma(pParse,&yymsp[-3].minor.yy178,&yymsp[-2].minor.yy178,&yymsp[0].minor.yy178,1);
 }
-#line 2937 "parse.c"
+#line 2945 "parse.c"
         break;
       case 249:
-#line 916 "parse.y"
-{sqlite3Pragma(pParse,&yymsp[-4].minor.yy410,&yymsp[-3].minor.yy410,&yymsp[-1].minor.yy410,0);}
-#line 2942 "parse.c"
+#line 905 "parse.y"
+{sqlite3Pragma(pParse,&yymsp[-4].minor.yy178,&yymsp[-3].minor.yy178,&yymsp[-1].minor.yy178,0);}
+#line 2950 "parse.c"
         break;
       case 250:
-#line 917 "parse.y"
-{sqlite3Pragma(pParse,&yymsp[-1].minor.yy410,&yymsp[0].minor.yy410,0,0);}
-#line 2947 "parse.c"
+#line 906 "parse.y"
+{sqlite3Pragma(pParse,&yymsp[-1].minor.yy178,&yymsp[0].minor.yy178,0,0);}
+#line 2955 "parse.c"
         break;
-      case 256:
-#line 929 "parse.y"
+      case 258:
+#line 920 "parse.y"
 {
   Token all;
-  all.z = yymsp[-3].minor.yy410.z;
-  all.n = (yymsp[0].minor.yy0.z - yymsp[-3].minor.yy410.z) + yymsp[0].minor.yy0.n;
-  sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy243, &all);
-}
-#line 2957 "parse.c"
-        break;
-      case 257:
-#line 938 "parse.y"
-{
-  sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy410, &yymsp[-6].minor.yy410, yymsp[-5].minor.yy46, yymsp[-4].minor.yy370.a, yymsp[-4].minor.yy370.b, yymsp[-2].minor.yy373, yymsp[-1].minor.yy46, yymsp[0].minor.yy172, yymsp[-10].minor.yy46, yymsp[-8].minor.yy46);
-  yygotominor.yy410 = (yymsp[-6].minor.yy410.n==0?yymsp[-7].minor.yy410:yymsp[-6].minor.yy410);
+  all.z = yymsp[-3].minor.yy178.z;
+  all.n = (yymsp[0].minor.yy0.z - yymsp[-3].minor.yy178.z) + yymsp[0].minor.yy0.n;
+  sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy75, &all);
 }
 #line 2965 "parse.c"
         break;
-      case 258:
-      case 261:
-#line 944 "parse.y"
-{ yygotominor.yy46 = TK_BEFORE; }
-#line 2971 "parse.c"
-        break;
       case 259:
-#line 945 "parse.y"
-{ yygotominor.yy46 = TK_AFTER;  }
-#line 2976 "parse.c"
+#line 929 "parse.y"
+{
+  sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy178, &yymsp[-6].minor.yy178, yymsp[-5].minor.yy316, yymsp[-4].minor.yy354.a, yymsp[-4].minor.yy354.b, yymsp[-2].minor.yy419, yymsp[-1].minor.yy316, yymsp[0].minor.yy450, yymsp[-10].minor.yy316, yymsp[-8].minor.yy316);
+  yygotominor.yy178 = (yymsp[-6].minor.yy178.n==0?yymsp[-7].minor.yy178:yymsp[-6].minor.yy178);
+}
+#line 2973 "parse.c"
         break;
       case 260:
-#line 946 "parse.y"
-{ yygotominor.yy46 = TK_INSTEAD;}
-#line 2981 "parse.c"
+      case 263:
+#line 935 "parse.y"
+{ yygotominor.yy316 = TK_BEFORE; }
+#line 2979 "parse.c"
+        break;
+      case 261:
+#line 936 "parse.y"
+{ yygotominor.yy316 = TK_AFTER;  }
+#line 2984 "parse.c"
         break;
       case 262:
-      case 263:
-#line 951 "parse.y"
-{yygotominor.yy370.a = yymsp[0].major; yygotominor.yy370.b = 0;}
-#line 2987 "parse.c"
+#line 937 "parse.y"
+{ yygotominor.yy316 = TK_INSTEAD;}
+#line 2989 "parse.c"
         break;
       case 264:
-#line 953 "parse.y"
-{yygotominor.yy370.a = TK_UPDATE; yygotominor.yy370.b = yymsp[0].minor.yy432;}
-#line 2992 "parse.c"
-        break;
       case 265:
+#line 942 "parse.y"
+{yygotominor.yy354.a = yymsp[0].major; yygotominor.yy354.b = 0;}
+#line 2995 "parse.c"
+        break;
       case 266:
-#line 956 "parse.y"
-{ yygotominor.yy46 = TK_ROW; }
-#line 2998 "parse.c"
+#line 944 "parse.y"
+{yygotominor.yy354.a = TK_UPDATE; yygotominor.yy354.b = yymsp[0].minor.yy352;}
+#line 3000 "parse.c"
         break;
       case 267:
-#line 958 "parse.y"
-{ yygotominor.yy46 = TK_STATEMENT; }
-#line 3003 "parse.c"
-        break;
       case 268:
-#line 962 "parse.y"
-{ yygotominor.yy172 = 0; }
-#line 3008 "parse.c"
+#line 947 "parse.y"
+{ yygotominor.yy316 = TK_ROW; }
+#line 3006 "parse.c"
         break;
       case 269:
-#line 963 "parse.y"
-{ yygotominor.yy172 = yymsp[0].minor.yy172; }
-#line 3013 "parse.c"
+#line 949 "parse.y"
+{ yygotominor.yy316 = TK_STATEMENT; }
+#line 3011 "parse.c"
         break;
       case 270:
-#line 967 "parse.y"
-{
-  if( yymsp[-2].minor.yy243 ){
-    yymsp[-2].minor.yy243->pLast->pNext = yymsp[-1].minor.yy243;
-  }else{
-    yymsp[-2].minor.yy243 = yymsp[-1].minor.yy243;
-  }
-  yymsp[-2].minor.yy243->pLast = yymsp[-1].minor.yy243;
-  yygotominor.yy243 = yymsp[-2].minor.yy243;
-}
-#line 3026 "parse.c"
+#line 953 "parse.y"
+{ yygotominor.yy450 = 0; }
+#line 3016 "parse.c"
         break;
       case 271:
-#line 976 "parse.y"
-{ yygotominor.yy243 = 0; }
-#line 3031 "parse.c"
+#line 954 "parse.y"
+{ yygotominor.yy450 = yymsp[0].minor.yy450; }
+#line 3021 "parse.c"
         break;
       case 272:
-#line 982 "parse.y"
-{ yygotominor.yy243 = sqlite3TriggerUpdateStep(&yymsp[-3].minor.yy410, yymsp[-1].minor.yy174, yymsp[0].minor.yy172, yymsp[-4].minor.yy46); }
-#line 3036 "parse.c"
+#line 958 "parse.y"
+{
+  if( yymsp[-2].minor.yy75 ){
+    yymsp[-2].minor.yy75->pLast->pNext = yymsp[-1].minor.yy75;
+  }else{
+    yymsp[-2].minor.yy75 = yymsp[-1].minor.yy75;
+  }
+  yymsp[-2].minor.yy75->pLast = yymsp[-1].minor.yy75;
+  yygotominor.yy75 = yymsp[-2].minor.yy75;
+}
+#line 3034 "parse.c"
         break;
       case 273:
-#line 987 "parse.y"
-{yygotominor.yy243 = sqlite3TriggerInsertStep(&yymsp[-5].minor.yy410, yymsp[-4].minor.yy432, yymsp[-1].minor.yy174, 0, yymsp[-7].minor.yy46);}
-#line 3041 "parse.c"
+#line 967 "parse.y"
+{ yygotominor.yy75 = 0; }
+#line 3039 "parse.c"
         break;
       case 274:
-#line 990 "parse.y"
-{yygotominor.yy243 = sqlite3TriggerInsertStep(&yymsp[-2].minor.yy410, yymsp[-1].minor.yy432, 0, yymsp[0].minor.yy219, yymsp[-4].minor.yy46);}
-#line 3046 "parse.c"
+#line 973 "parse.y"
+{ yygotominor.yy75 = sqlite3TriggerUpdateStep(&yymsp[-3].minor.yy178, yymsp[-1].minor.yy242, yymsp[0].minor.yy450, yymsp[-4].minor.yy316); }
+#line 3044 "parse.c"
         break;
       case 275:
-#line 994 "parse.y"
-{yygotominor.yy243 = sqlite3TriggerDeleteStep(&yymsp[-1].minor.yy410, yymsp[0].minor.yy172);}
-#line 3051 "parse.c"
+#line 978 "parse.y"
+{yygotominor.yy75 = sqlite3TriggerInsertStep(&yymsp[-5].minor.yy178, yymsp[-4].minor.yy352, yymsp[-1].minor.yy242, 0, yymsp[-7].minor.yy316);}
+#line 3049 "parse.c"
         break;
       case 276:
-#line 997 "parse.y"
-{yygotominor.yy243 = sqlite3TriggerSelectStep(yymsp[0].minor.yy219); }
-#line 3056 "parse.c"
+#line 981 "parse.y"
+{yygotominor.yy75 = sqlite3TriggerInsertStep(&yymsp[-2].minor.yy178, yymsp[-1].minor.yy352, 0, yymsp[0].minor.yy43, yymsp[-4].minor.yy316);}
+#line 3054 "parse.c"
         break;
       case 277:
-#line 1000 "parse.y"
+#line 985 "parse.y"
+{yygotominor.yy75 = sqlite3TriggerDeleteStep(&yymsp[-1].minor.yy178, yymsp[0].minor.yy450);}
+#line 3059 "parse.c"
+        break;
+      case 278:
+#line 988 "parse.y"
+{yygotominor.yy75 = sqlite3TriggerSelectStep(yymsp[0].minor.yy43); }
+#line 3064 "parse.c"
+        break;
+      case 279:
+#line 991 "parse.y"
 {
-  yygotominor.yy172 = sqlite3Expr(TK_RAISE, 0, 0, 0); 
-  if( yygotominor.yy172 ){
-    yygotominor.yy172->iColumn = OE_Ignore;
-    sqlite3ExprSpan(yygotominor.yy172, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0);
+  yygotominor.yy450 = sqlite3Expr(TK_RAISE, 0, 0, 0); 
+  if( yygotominor.yy450 ){
+    yygotominor.yy450->iColumn = OE_Ignore;
+    sqlite3ExprSpan(yygotominor.yy450, &yymsp[-3].minor.yy0, &yymsp[0].minor.yy0);
   }
 }
-#line 3067 "parse.c"
+#line 3075 "parse.c"
         break;
-      case 278:
-#line 1007 "parse.y"
+      case 280:
+#line 998 "parse.y"
 {
-  yygotominor.yy172 = sqlite3Expr(TK_RAISE, 0, 0, &yymsp[-1].minor.yy410); 
-  if( yygotominor.yy172 ) {
-    yygotominor.yy172->iColumn = yymsp[-3].minor.yy46;
-    sqlite3ExprSpan(yygotominor.yy172, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0);
+  yygotominor.yy450 = sqlite3Expr(TK_RAISE, 0, 0, &yymsp[-1].minor.yy178); 
+  if( yygotominor.yy450 ) {
+    yygotominor.yy450->iColumn = yymsp[-3].minor.yy316;
+    sqlite3ExprSpan(yygotominor.yy450, &yymsp[-5].minor.yy0, &yymsp[0].minor.yy0);
   }
 }
-#line 3078 "parse.c"
-        break;
-      case 279:
-#line 1017 "parse.y"
-{yygotominor.yy46 = OE_Rollback;}
-#line 3083 "parse.c"
+#line 3086 "parse.c"
         break;
       case 281:
-#line 1019 "parse.y"
-{yygotominor.yy46 = OE_Fail;}
-#line 3088 "parse.c"
+#line 1008 "parse.y"
+{yygotominor.yy316 = OE_Rollback;}
+#line 3091 "parse.c"
         break;
-      case 282:
-#line 1024 "parse.y"
+      case 283:
+#line 1010 "parse.y"
+{yygotominor.yy316 = OE_Fail;}
+#line 3096 "parse.c"
+        break;
+      case 284:
+#line 1015 "parse.y"
 {
-  sqlite3DropTrigger(pParse,yymsp[0].minor.yy373,yymsp[-1].minor.yy46);
+  sqlite3DropTrigger(pParse,yymsp[0].minor.yy419,yymsp[-1].minor.yy316);
 }
-#line 3095 "parse.c"
+#line 3103 "parse.c"
         break;
-      case 283:
-#line 1030 "parse.y"
+      case 285:
+#line 1021 "parse.y"
 {
-  sqlite3Attach(pParse, yymsp[-3].minor.yy172, yymsp[-1].minor.yy172, yymsp[0].minor.yy386);
+  sqlite3Attach(pParse, yymsp[-3].minor.yy450, yymsp[-1].minor.yy450, yymsp[0].minor.yy158);
 }
-#line 3102 "parse.c"
+#line 3110 "parse.c"
         break;
-      case 284:
-#line 1035 "parse.y"
-{ yygotominor.yy386 = 0; }
-#line 3107 "parse.c"
+      case 286:
+#line 1026 "parse.y"
+{ yygotominor.yy158 = 0; }
+#line 3115 "parse.c"
         break;
-      case 285:
-#line 1036 "parse.y"
-{ yygotominor.yy386 = yymsp[0].minor.yy172; }
-#line 3112 "parse.c"
+      case 287:
+#line 1027 "parse.y"
+{ yygotominor.yy158 = yymsp[0].minor.yy450; }
+#line 3120 "parse.c"
         break;
-      case 288:
-#line 1042 "parse.y"
+      case 290:
+#line 1033 "parse.y"
 {
-  sqlite3Detach(pParse, yymsp[0].minor.yy172);
+  sqlite3Detach(pParse, yymsp[0].minor.yy450);
 }
-#line 3119 "parse.c"
+#line 3127 "parse.c"
         break;
-      case 289:
-#line 1048 "parse.y"
+      case 291:
+#line 1039 "parse.y"
 {sqlite3Reindex(pParse, 0, 0);}
-#line 3124 "parse.c"
+#line 3132 "parse.c"
         break;
-      case 290:
-#line 1049 "parse.y"
-{sqlite3Reindex(pParse, &yymsp[-1].minor.yy410, &yymsp[0].minor.yy410);}
-#line 3129 "parse.c"
+      case 292:
+#line 1040 "parse.y"
+{sqlite3Reindex(pParse, &yymsp[-1].minor.yy178, &yymsp[0].minor.yy178);}
+#line 3137 "parse.c"
         break;
-      case 291:
-#line 1054 "parse.y"
+      case 293:
+#line 1045 "parse.y"
 {sqlite3Analyze(pParse, 0, 0);}
-#line 3134 "parse.c"
+#line 3142 "parse.c"
         break;
-      case 292:
-#line 1055 "parse.y"
-{sqlite3Analyze(pParse, &yymsp[-1].minor.yy410, &yymsp[0].minor.yy410);}
-#line 3139 "parse.c"
+      case 294:
+#line 1046 "parse.y"
+{sqlite3Analyze(pParse, &yymsp[-1].minor.yy178, &yymsp[0].minor.yy178);}
+#line 3147 "parse.c"
         break;
-      case 293:
-#line 1060 "parse.y"
+      case 295:
+#line 1051 "parse.y"
 {
-  sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy373,&yymsp[0].minor.yy410);
+  sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy419,&yymsp[0].minor.yy178);
 }
-#line 3146 "parse.c"
+#line 3154 "parse.c"
         break;
-      case 294:
-#line 1063 "parse.y"
+      case 296:
+#line 1054 "parse.y"
 {
-  sqlite3AlterFinishAddColumn(pParse, &yymsp[0].minor.yy410);
+  sqlite3AlterFinishAddColumn(pParse, &yymsp[0].minor.yy178);
 }
-#line 3153 "parse.c"
+#line 3161 "parse.c"
         break;
-      case 295:
-#line 1066 "parse.y"
+      case 297:
+#line 1057 "parse.y"
 {
-  sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy373);
+  sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy419);
 }
-#line 3160 "parse.c"
+#line 3168 "parse.c"
         break;
-      case 298:
-#line 1075 "parse.y"
+      case 300:
+#line 1066 "parse.y"
 {sqlite3VtabFinishParse(pParse,0);}
-#line 3165 "parse.c"
+#line 3173 "parse.c"
         break;
-      case 299:
-#line 1076 "parse.y"
+      case 301:
+#line 1067 "parse.y"
 {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);}
-#line 3170 "parse.c"
+#line 3178 "parse.c"
         break;
-      case 300:
-#line 1077 "parse.y"
+      case 302:
+#line 1068 "parse.y"
 {
-    sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy410, &yymsp[-2].minor.yy410, &yymsp[0].minor.yy410);
+    sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy178, &yymsp[-2].minor.yy178, &yymsp[0].minor.yy178);
 }
-#line 3177 "parse.c"
+#line 3185 "parse.c"
         break;
-      case 303:
-#line 1082 "parse.y"
+      case 305:
+#line 1073 "parse.y"
 {sqlite3VtabArgInit(pParse);}
-#line 3182 "parse.c"
+#line 3190 "parse.c"
         break;
-      case 305:
-      case 306:
       case 307:
+      case 308:
       case 309:
-#line 1084 "parse.y"
+      case 311:
+#line 1075 "parse.y"
 {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);}
-#line 3190 "parse.c"
+#line 3198 "parse.c"
         break;
   };
   yygoto = yyRuleInfo[yyruleno].lhs;
@@ -3251,7 +3259,7 @@
     }
     pParse->parseError = 1;
   }
-#line 3258 "parse.c"
+#line 3266 "parse.c"
   sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument variable */
 }
 

Modified: freeswitch/trunk/libs/win32/sqlite/parse.h
==============================================================================
--- freeswitch/trunk/libs/win32/sqlite/parse.h	(original)
+++ freeswitch/trunk/libs/win32/sqlite/parse.h	Thu Feb 22 18:13:56 2007
@@ -82,19 +82,19 @@
 #define TK_SLASH                          82
 #define TK_REM                            83
 #define TK_CONCAT                         84
-#define TK_UMINUS                         85
-#define TK_UPLUS                          86
-#define TK_BITNOT                         87
-#define TK_STRING                         88
-#define TK_JOIN_KW                        89
-#define TK_CONSTRAINT                     90
-#define TK_DEFAULT                        91
-#define TK_NULL                           92
-#define TK_PRIMARY                        93
-#define TK_UNIQUE                         94
-#define TK_CHECK                          95
-#define TK_REFERENCES                     96
-#define TK_COLLATE                        97
+#define TK_COLLATE                        85
+#define TK_UMINUS                         86
+#define TK_UPLUS                          87
+#define TK_BITNOT                         88
+#define TK_STRING                         89
+#define TK_JOIN_KW                        90
+#define TK_CONSTRAINT                     91
+#define TK_DEFAULT                        92
+#define TK_NULL                           93
+#define TK_PRIMARY                        94
+#define TK_UNIQUE                         95
+#define TK_CHECK                          96
+#define TK_REFERENCES                     97
 #define TK_AUTOINCR                       98
 #define TK_ON                             99
 #define TK_DELETE                         100

Modified: freeswitch/trunk/libs/win32/sqlite/sqlite.vcproj
==============================================================================
--- freeswitch/trunk/libs/win32/sqlite/sqlite.vcproj	(original)
+++ freeswitch/trunk/libs/win32/sqlite/sqlite.vcproj	Thu Feb 22 18:13:56 2007
@@ -25,7 +25,7 @@
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
-				CommandLine="if not exist &quot;$(ProjectDir)..\..\sqlite\src\sqlite3.h&quot; type &quot;$(ProjectDir)sqlite3.h&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\sqlite3.h&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\parse.h&quot; type &quot;$(ProjectDir)parse.h&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\parse.h&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\parse.c&quot; type &quot;$(ProjectDir)parse.c&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\parse.c&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\opcodes.h&quot; type &quot;$(ProjectDir)opcodes.h&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\opcodes.h&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\opcodes.c&quot; type &quot;$(ProjectDir)opcodes.c&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\opcodes.c&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\keywordhash.h&quot; type &quot;$(ProjectDir)keywordhash.h&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\keywordhash.h&quot;&#x0D;&#x0A;"
+				CommandLine="if exist &quot;$(ProjectDir)..\..\sqlite\src\sqlite3.h&quot; del &quot;$(ProjectDir)..\..\sqlite\src\sqlite3.h&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\parse.h&quot; del &quot;$(ProjectDir)..\..\sqlite\src\parse.h&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\parse.c&quot; del &quot;$(ProjectDir)..\..\sqlite\src\parse.c&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\opcodes.h&quot; del &quot;$(ProjectDir)..\..\sqlite\src\opcodes.h&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\opcodes.c&quot; del &quot;$(ProjectDir)..\..\sqlite\src\opcodes.c&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\keywordhash.h&quot; del &quot;$(ProjectDir)..\..\sqlite\src\keywordhash.h&quot;&#x0D;&#x0A;"
 			/>
 			<Tool
 				Name="VCCustomBuildTool"
@@ -42,6 +42,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
+				AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)..\..\sqlite\src&quot;"
 				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;SQLITE_DEBUG"
 				MinimalRebuild="true"
 				BasicRuntimeChecks="3"
@@ -90,7 +91,7 @@
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
-				CommandLine="if not exist &quot;$(ProjectDir)..\..\sqlite\src\sqlite3.h&quot; type &quot;$(ProjectDir)sqlite3.h&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\sqlite3.h&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\parse.h&quot; type &quot;$(ProjectDir)parse.h&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\parse.h&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\parse.c&quot; type &quot;$(ProjectDir)parse.c&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\parse.c&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\opcodes.h&quot; type &quot;$(ProjectDir)opcodes.h&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\opcodes.h&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\opcodes.c&quot; type &quot;$(ProjectDir)opcodes.c&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\opcodes.c&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\keywordhash.h&quot; type &quot;$(ProjectDir)keywordhash.h&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\keywordhash.h&quot;&#x0D;&#x0A;"
+				CommandLine="if exist &quot;$(ProjectDir)..\..\sqlite\src\sqlite3.h&quot; del &quot;$(ProjectDir)..\..\sqlite\src\sqlite3.h&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\parse.h&quot; del &quot;$(ProjectDir)..\..\sqlite\src\parse.h&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\parse.c&quot; del &quot;$(ProjectDir)..\..\sqlite\src\parse.c&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\opcodes.h&quot; del &quot;$(ProjectDir)..\..\sqlite\src\opcodes.h&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\opcodes.c&quot; del &quot;$(ProjectDir)..\..\sqlite\src\opcodes.c&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\keywordhash.h&quot; del &quot;$(ProjectDir)..\..\sqlite\src\keywordhash.h&quot;&#x0D;&#x0A;"
 			/>
 			<Tool
 				Name="VCCustomBuildTool"
@@ -106,6 +107,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)..\..\sqlite\src&quot;"
 				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB"
 				RuntimeLibrary="2"
 				UsePrecompiledHeader="0"
@@ -153,7 +155,7 @@
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
-				CommandLine="if not exist &quot;$(ProjectDir)..\..\sqlite\src\sqlite3.h&quot; type &quot;$(ProjectDir)sqlite3.h&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\sqlite3.h&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\parse.h&quot; type &quot;$(ProjectDir)parse.h&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\parse.h&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\parse.c&quot; type &quot;$(ProjectDir)parse.c&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\parse.c&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\opcodes.h&quot; type &quot;$(ProjectDir)opcodes.h&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\opcodes.h&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\opcodes.c&quot; type &quot;$(ProjectDir)opcodes.c&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\opcodes.c&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\keywordhash.h&quot; type &quot;$(ProjectDir)keywordhash.h&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\keywordhash.h&quot;&#x0D;&#x0A;"
+				CommandLine="if exist &quot;$(ProjectDir)..\..\sqlite\src\sqlite3.h&quot; del &quot;$(ProjectDir)..\..\sqlite\src\sqlite3.h&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\parse.h&quot; del &quot;$(ProjectDir)..\..\sqlite\src\parse.h&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\parse.c&quot; del &quot;$(ProjectDir)..\..\sqlite\src\parse.c&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\opcodes.h&quot; del &quot;$(ProjectDir)..\..\sqlite\src\opcodes.h&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\opcodes.c&quot; del &quot;$(ProjectDir)..\..\sqlite\src\opcodes.c&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\keywordhash.h&quot; del &quot;$(ProjectDir)..\..\sqlite\src\keywordhash.h&quot;&#x0D;&#x0A;"
 			/>
 			<Tool
 				Name="VCCustomBuildTool"
@@ -170,6 +172,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
+				AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)..\..\sqlite\src&quot;"
 				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_DEBUG;_LIB;SQLITE_DEBUG"
 				MinimalRebuild="true"
 				BasicRuntimeChecks="3"
@@ -234,7 +237,7 @@
 			>
 			<Tool
 				Name="VCPreBuildEventTool"
-				CommandLine="if not exist &quot;$(ProjectDir)..\..\sqlite\src\sqlite3.h&quot; type &quot;$(ProjectDir)sqlite3.h&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\sqlite3.h&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\parse.h&quot; type &quot;$(ProjectDir)parse.h&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\parse.h&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\parse.c&quot; type &quot;$(ProjectDir)parse.c&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\parse.c&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\opcodes.h&quot; type &quot;$(ProjectDir)opcodes.h&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\opcodes.h&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\opcodes.c&quot; type &quot;$(ProjectDir)opcodes.c&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\opcodes.c&quot;&#x0D;&#x0A;if not exist &quot;$(ProjectDir)..\..\sqlite\src\keywordhash.h&quot; type &quot;$(ProjectDir)keywordhash.h&quot; &gt; &quot;$(ProjectDir)..\..\sqlite\src\keywordhash.h&quot;&#x0D;&#x0A;"
+				CommandLine="if exist &quot;$(ProjectDir)..\..\sqlite\src\sqlite3.h&quot; del &quot;$(ProjectDir)..\..\sqlite\src\sqlite3.h&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\parse.h&quot; del &quot;$(ProjectDir)..\..\sqlite\src\parse.h&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\parse.c&quot; del &quot;$(ProjectDir)..\..\sqlite\src\parse.c&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\opcodes.h&quot; del &quot;$(ProjectDir)..\..\sqlite\src\opcodes.h&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\opcodes.c&quot; del &quot;$(ProjectDir)..\..\sqlite\src\opcodes.c&quot;&#x0D;&#x0A;if exist &quot;$(ProjectDir)..\..\sqlite\src\keywordhash.h&quot; del &quot;$(ProjectDir)..\..\sqlite\src\keywordhash.h&quot;&#x0D;&#x0A;"
 			/>
 			<Tool
 				Name="VCCustomBuildTool"
@@ -250,6 +253,7 @@
 			/>
 			<Tool
 				Name="VCCLCompilerTool"
+				AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)..\..\sqlite\src&quot;"
 				PreprocessorDefinitions="_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WIN32;NDEBUG;_LIB"
 				RuntimeLibrary="2"
 				UsePrecompiledHeader="0"
@@ -376,7 +380,7 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\sqlite\src\opcodes.c"
+				RelativePath=".\opcodes.c"
 				>
 			</File>
 			<File
@@ -396,7 +400,7 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\sqlite\src\parse.c"
+				RelativePath=".\parse.c"
 				>
 			</File>
 			<File
@@ -494,11 +498,11 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\sqlite\src\keywordhash.h"
+				RelativePath=".\keywordhash.h"
 				>
 			</File>
 			<File
-				RelativePath="..\..\sqlite\src\opcodes.h"
+				RelativePath=".\opcodes.h"
 				>
 			</File>
 			<File
@@ -514,11 +518,11 @@
 				>
 			</File>
 			<File
-				RelativePath="..\..\sqlite\src\parse.h"
+				RelativePath=".\parse.h"
 				>
 			</File>
 			<File
-				RelativePath="..\..\sqlite\src\sqlite3.h"
+				RelativePath=".\sqlite3.h"
 				>
 			</File>
 			<File

Modified: freeswitch/trunk/libs/win32/sqlite/sqlite3.h
==============================================================================
--- freeswitch/trunk/libs/win32/sqlite/sqlite3.h	(original)
+++ freeswitch/trunk/libs/win32/sqlite/sqlite3.h	Thu Feb 22 18:13:56 2007
@@ -12,7 +12,7 @@
 ** This header file defines the interface that the SQLite library
 ** presents to client programs.
 **
-** @(#) $Id: sqlite.h.in,v 1.194 2006/09/16 21:45:14 drh Exp $
+** @(#) $Id: sqlite.h.in,v 1.198 2007/01/26 00:51:44 drh Exp $
 */
 #ifndef _SQLITE3_H_
 #define _SQLITE3_H_
@@ -31,7 +31,7 @@
 #ifdef SQLITE_VERSION
 # undef SQLITE_VERSION
 #endif
-#define SQLITE_VERSION         "3.3.8"
+#define SQLITE_VERSION         "3.3.13"
 
 /*
 ** The format of the version string is "X.Y.Z<trailing string>", where
@@ -48,7 +48,7 @@
 #ifdef SQLITE_VERSION_NUMBER
 # undef SQLITE_VERSION_NUMBER
 #endif
-#define SQLITE_VERSION_NUMBER 3003008
+#define SQLITE_VERSION_NUMBER 3003013
 
 /*
 ** The version string is also compiled into the library so that a program
@@ -125,7 +125,7 @@
 ** value then the query is aborted, all subsequent SQL statements
 ** are skipped and the sqlite3_exec() function returns the SQLITE_ABORT.
 **
-** The 4th parameter is an arbitrary pointer that is passed
+** The 1st parameter is an arbitrary pointer that is passed
 ** to the callback function as its first parameter.
 **
 ** The 2nd parameter to the callback function is the number of
@@ -315,13 +315,30 @@
 ** currently locked by another process or thread.  If the busy callback
 ** is NULL, then sqlite3_exec() returns SQLITE_BUSY immediately if
 ** it finds a locked table.  If the busy callback is not NULL, then
-** sqlite3_exec() invokes the callback with three arguments.  The
-** second argument is the name of the locked table and the third
-** argument is the number of times the table has been busy.  If the
+** sqlite3_exec() invokes the callback with two arguments.  The
+** first argument to the handler is a copy of the void* pointer which
+** is the third argument to this routine.  The second argument to
+** the handler is the number of times that the busy handler has
+** been invoked for this locking event.  If the
 ** busy callback returns 0, then sqlite3_exec() immediately returns
 ** SQLITE_BUSY.  If the callback returns non-zero, then sqlite3_exec()
 ** tries to open the table again and the cycle repeats.
 **
+** The presence of a busy handler does not guarantee that
+** it will be invoked when there is lock contention.
+** If SQLite determines that invoking the busy handler could result in
+** a deadlock, it will return SQLITE_BUSY instead.
+** Consider a scenario where one process is holding a read lock that
+** it is trying to promote to a reserved lock and
+** a second process is holding a reserved lock that it is trying
+** to promote to an exclusive lock.  The first process cannot proceed
+** because it is blocked by the second and the second process cannot
+** proceed because it is blocked by the first.  If both processes
+** invoke the busy handlers, neither will make any progress.  Therefore,
+** SQLite returns SQLITE_BUSY for the first process, hoping that this
+** will induce the first process to release its read lock and allow
+** the second process to proceed.
+**
 ** The default busy callback is NULL.
 **
 ** Sqlite is re-entrant, so the busy handler may start a new query. 
@@ -693,6 +710,31 @@
 );
 
 /*
+** Newer versions of the prepare API work just like the legacy versions
+** but with one exception:  The a copy of the SQL text is saved in the
+** sqlite3_stmt structure that is returned.  If this copy exists, it
+** modifieds the behavior of sqlite3_step() slightly.  First, sqlite3_step()
+** will no longer return an SQLITE_SCHEMA error but will instead automatically
+** rerun the compiler to rebuild the prepared statement.  Secondly, 
+** sqlite3_step() now turns a full result code - the result code that
+** use used to have to call sqlite3_reset() to get.
+*/
+int sqlite3_prepare_v2(
+  sqlite3 *db,            /* Database handle */
+  const char *zSql,       /* SQL statement, UTF-8 encoded */
+  int nBytes,             /* Length of zSql in bytes. */
+  sqlite3_stmt **ppStmt,  /* OUT: Statement handle */
+  const char **pzTail     /* OUT: Pointer to unused portion of zSql */
+);
+int sqlite3_prepare16_v2(
+  sqlite3 *db,            /* Database handle */
+  const void *zSql,       /* SQL statement, UTF-16 encoded */
+  int nBytes,             /* Length of zSql in bytes. */
+  sqlite3_stmt **ppStmt,  /* OUT: Statement handle */
+  const void **pzTail     /* OUT: Pointer to unused portion of zSql */
+);
+
+/*
 ** Pointers to the following two opaque structures are used to communicate
 ** with the implementations of user-defined functions.
 */
@@ -1143,9 +1185,13 @@
 ** SQLITE_TRANSIENT value means that the content will likely change in
 ** the near future and that SQLite should make its own private copy of
 ** the content before returning.
+**
+** The typedef is necessary to work around problems in certain
+** C++ compilers.  See ticket #2191.
 */
-#define SQLITE_STATIC      ((void(*)(void *))0)
-#define SQLITE_TRANSIENT   ((void(*)(void *))-1)
+typedef void (*sqlite3_destructor_type)(void*);
+#define SQLITE_STATIC      ((sqlite3_destructor_type)0)
+#define SQLITE_TRANSIENT   ((sqlite3_destructor_type)-1)
 
 /*
 ** User-defined functions invoke the following routines in order to



More information about the Freeswitch-svn mailing list