System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 9f753ca12591e9ac7d627850e28217bf1fb96c26:


0000: 2f 2a 20 48 61 73 68 20 73 63 6f 72 65 3a 20 31  /* Hash score: 1
0010: 35 33 20 2a 2f 0a 73 74 61 74 69 63 20 69 6e 74  53 */.static int
0020: 20 6b 65 79 77 6f 72 64 43 6f 64 65 28 63 6f 6e   keywordCode(con
0030: 73 74 20 63 68 61 72 20 2a 7a 2c 20 69 6e 74 20  st char *z, int 
0040: 6e 29 7b 0a 20 20 73 74 61 74 69 63 20 63 6f 6e  n){.  static con
0050: 73 74 20 63 68 61 72 20 7a 54 65 78 74 5b 35 31  st char zText[51
0060: 35 5d 20 3d 0a 20 20 20 20 22 41 42 4f 52 54 41  5] =.    "ABORTA
0070: 42 4c 45 46 54 45 4d 50 4f 52 41 52 59 41 44 44  BLEFTEMPORARYADD
0080: 41 54 41 42 41 53 45 4c 45 43 54 48 45 4e 44 45  ATABASELECTHENDE
0090: 46 41 55 4c 54 52 41 4e 53 41 43 54 49 4f 4e 41  FAULTRANSACTIONA
00a0: 54 55 52 41 4c 54 45 52 22 0a 20 20 20 20 22 41  TURALTER".    "A
00b0: 49 53 45 41 43 48 45 43 4b 45 59 41 46 54 45 52  ISEACHECKEYAFTER
00c0: 45 46 45 52 45 4e 43 45 53 43 41 50 45 4c 53 45  EFERENCESCAPELSE
00d0: 58 43 45 50 54 52 49 47 47 45 52 45 47 45 58 50  XCEPTRIGGEREGEXP
00e0: 4c 41 49 4e 49 54 49 41 4c 4c 59 41 4e 44 22 0a  LAINITIALLYAND".
00f0: 20 20 20 20 22 45 46 45 52 52 41 42 4c 45 58 43      "EFERRABLEXC
0100: 4c 55 53 49 56 45 58 49 53 54 53 54 41 54 45 4d  LUSIVEXISTSTATEM
0110: 45 4e 54 41 54 54 41 43 48 41 56 49 4e 47 4c 4f  ENTATTACHAVINGLO
0120: 42 45 46 4f 52 45 49 47 4e 4f 52 45 49 4e 44 45  BEFOREIGNOREINDE
0130: 58 41 55 54 4f 49 4e 43 52 45 4d 45 4e 54 22 0a  XAUTOINCREMENT".
0140: 20 20 20 20 22 42 45 47 49 4e 4e 45 52 45 4e 41      "BEGINNERENA
0150: 4d 45 42 45 54 57 45 45 4e 4f 54 4e 55 4c 4c 49  MEBETWEENOTNULLI
0160: 4b 45 42 59 43 41 53 43 41 44 45 46 45 52 52 45  KEBYCASCADEFERRE
0170: 44 45 4c 45 54 45 43 41 53 45 43 4f 4c 4c 41 54  DELETECASECOLLAT
0180: 45 43 4f 4c 55 4d 4e 22 0a 20 20 20 20 22 43 4f  ECOLUMN".    "CO
0190: 4d 4d 49 54 43 4f 4e 46 4c 49 43 54 43 4f 4e 53  MMITCONFLICTCONS
01a0: 54 52 41 49 4e 54 45 52 53 45 43 54 43 52 45 41  TRAINTERSECTCREA
01b0: 54 45 43 52 4f 53 53 43 55 52 52 45 4e 54 5f 44  TECROSSCURRENT_D
01c0: 41 54 45 43 55 52 52 45 4e 54 5f 54 49 4d 45 53  ATECURRENT_TIMES
01d0: 54 41 4d 50 22 0a 20 20 20 20 22 52 41 47 4d 41  TAMP".    "RAGMA
01e0: 54 43 48 44 45 53 43 44 45 54 41 43 48 44 49 53  TCHDESCDETACHDIS
01f0: 54 49 4e 43 54 44 52 4f 50 52 49 4d 41 52 59 46  TINCTDROPRIMARYF
0200: 41 49 4c 49 4d 49 54 46 52 4f 4d 46 55 4c 4c 47  AILIMITFROMFULLG
0210: 52 4f 55 50 44 41 54 45 22 0a 20 20 20 20 22 49  ROUPDATE".    "I
0220: 4d 4d 45 44 49 41 54 45 49 4e 53 45 52 54 49 4e  MMEDIATEINSERTIN
0230: 53 54 45 41 44 49 4e 54 4f 46 46 53 45 54 49 53  STEADINTOFFSETIS
0240: 4e 55 4c 4c 4a 4f 49 4e 4f 52 44 45 52 45 50 4c  NULLJOINORDEREPL
0250: 41 43 45 4f 55 54 45 52 45 53 54 52 49 43 54 22  ACEOUTERESTRICT"
0260: 0a 20 20 20 20 22 52 49 47 48 54 52 4f 4c 4c 42  .    "RIGHTROLLB
0270: 41 43 4b 52 4f 57 48 45 4e 55 4e 49 4f 4e 55 4e  ACKROWHENUNIONUN
0280: 49 51 55 45 55 53 49 4e 47 56 41 43 55 55 4d 56  IQUEUSINGVACUUMV
0290: 41 4c 55 45 53 56 49 45 57 48 45 52 45 22 3b 0a  ALUESVIEWHERE";.
02a0: 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 75    static const u
02b0: 6e 73 69 67 6e 65 64 20 63 68 61 72 20 61 48 61  nsigned char aHa
02c0: 73 68 5b 31 32 37 5d 20 3d 20 7b 0a 20 20 20 20  sh[127] = {.    
02d0: 20 20 38 39 2c 20 20 37 39 2c 20 31 30 32 2c 20    89,  79, 102, 
02e0: 20 38 38 2c 20 20 20 30 2c 20 20 20 34 2c 20 20   88,   0,   4,  
02f0: 20 30 2c 20 20 20 30 2c 20 31 30 39 2c 20 20 20   0,   0, 109,   
0300: 30 2c 20 20 37 35 2c 20 20 20 30 2c 20 20 20 30  0,  75,   0,   0
0310: 2c 0a 20 20 20 20 20 20 39 32 2c 20 20 34 33 2c  ,.      92,  43,
0320: 20 20 20 30 2c 20 20 39 30 2c 20 20 20 30 2c 20     0,  90,   0, 
0330: 31 30 31 2c 20 31 30 34 2c 20 20 39 34 2c 20 20  101, 104,  94,  
0340: 20 30 2c 20 20 20 30 2c 20 20 31 30 2c 20 20 20   0,   0,  10,   
0350: 30 2c 20 20 20 30 2c 0a 20 20 20 20 20 31 30 38  0,   0,.     108
0360: 2c 20 20 20 30 2c 20 31 30 35 2c 20 31 30 30 2c  ,   0, 105, 100,
0370: 20 20 20 30 2c 20 20 32 38 2c 20 20 34 37 2c 20     0,  28,  47, 
0380: 20 20 30 2c 20 20 34 30 2c 20 20 20 30 2c 20 20    0,  40,   0,  
0390: 20 30 2c 20 20 36 33 2c 20 20 36 39 2c 0a 20 20   0,  63,  69,.  
03a0: 20 20 20 20 20 30 2c 20 20 36 32 2c 20 20 31 39       0,  62,  19
03b0: 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 33 32 2c  ,   0,   0,  32,
03c0: 20 20 38 31 2c 20 20 20 30 2c 20 31 30 33 2c 20    81,   0, 103, 
03d0: 20 37 32 2c 20 20 20 30 2c 20 20 20 30 2c 20 20   72,   0,   0,  
03e0: 33 34 2c 0a 20 20 20 20 20 20 20 30 2c 20 20 36  34,.       0,  6
03f0: 30 2c 20 20 33 33 2c 20 20 20 30 2c 20 20 20 38  0,  33,   0,   8
0400: 2c 20 20 20 30 2c 20 31 31 30 2c 20 20 33 37 2c  ,   0, 110,  37,
0410: 20 20 31 32 2c 20 20 20 30 2c 20 20 37 36 2c 20    12,   0,  76, 
0420: 20 33 39 2c 20 20 32 35 2c 0a 20 20 20 20 20 20   39,  25,.      
0430: 36 34 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 33  64,   0,   0,  3
0440: 31 2c 20 20 38 30 2c 20 20 35 32 2c 20 20 33 30  1,  80,  52,  30
0450: 2c 20 20 34 39 2c 20 20 32 30 2c 20 20 38 36 2c  ,  49,  20,  86,
0460: 20 20 20 30 2c 20 20 33 35 2c 20 20 20 30 2c 0a     0,  35,   0,.
0470: 20 20 20 20 20 20 37 33 2c 20 20 32 36 2c 20 20        73,  26,  
0480: 20 30 2c 20 20 37 30 2c 20 20 20 30 2c 20 20 20   0,  70,   0,   
0490: 30 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 34 36  0,   0,   0,  46
04a0: 2c 20 20 36 35 2c 20 20 32 32 2c 20 20 38 35 2c  ,  65,  22,  85,
04b0: 20 20 32 39 2c 0a 20 20 20 20 20 20 36 37 2c 20    29,.      67, 
04c0: 20 38 34 2c 20 20 20 30 2c 20 20 20 31 2c 20 20   84,   0,   1,  
04d0: 20 30 2c 20 20 20 39 2c 20 20 39 38 2c 20 20 35   0,   9,  98,  5
04e0: 37 2c 20 20 31 38 2c 20 20 20 30 2c 20 31 30 37  7,  18,   0, 107
04f0: 2c 20 20 37 34 2c 20 20 39 36 2c 0a 20 20 20 20  ,  74,  96,.    
0500: 20 20 35 33 2c 20 20 20 36 2c 20 20 38 33 2c 20    53,   6,  83, 
0510: 20 20 30 2c 20 20 20 30 2c 20 20 34 38 2c 20 20    0,   0,  48,  
0520: 39 31 2c 20 20 20 30 2c 20 20 39 39 2c 20 20 20  91,   0,  99,   
0530: 30 2c 20 20 36 38 2c 20 20 20 30 2c 20 20 20 30  0,  68,   0,   0
0540: 2c 0a 20 20 20 20 20 20 31 35 2c 20 20 20 30 2c  ,.      15,   0,
0550: 20 31 31 31 2c 20 20 35 30 2c 20 20 35 35 2c 20   111,  50,  55, 
0560: 20 20 30 2c 20 20 20 32 2c 20 20 35 34 2c 20 20    0,   2,  54,  
0570: 20 30 2c 20 31 30 36 2c 0a 20 20 7d 3b 0a 20 20   0, 106,.  };.  
0580: 73 74 61 74 69 63 20 63 6f 6e 73 74 20 75 6e 73  static const uns
0590: 69 67 6e 65 64 20 63 68 61 72 20 61 4e 65 78 74  igned char aNext
05a0: 5b 31 31 31 5d 20 3d 20 7b 0a 20 20 20 20 20 20  [111] = {.      
05b0: 20 30 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 20   0,   0,   0,   
05c0: 30 2c 20 20 20 30 2c 20 20 20 33 2c 20 20 20 30  0,   0,   3,   0
05d0: 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 20 30 2c  ,   0,   0,   0,
05e0: 20 20 20 30 2c 20 20 20 30 2c 20 20 20 30 2c 0a     0,   0,   0,.
05f0: 20 20 20 20 20 20 20 30 2c 20 20 20 30 2c 20 20         0,   0,  
0600: 20 30 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 20   0,   0,   0,   
0610: 30 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 31 37  0,   0,   0,  17
0620: 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 20 30 2c  ,   0,   0,   0,
0630: 20 20 20 30 2c 0a 20 20 20 20 20 20 20 30 2c 20     0,.       0, 
0640: 20 31 31 2c 20 20 20 30 2c 20 20 20 30 2c 20 20   11,   0,   0,  
0650: 20 30 2c 20 20 20 37 2c 20 20 20 30 2c 20 20 20   0,   7,   0,   
0660: 35 2c 20 20 31 33 2c 20 20 20 30 2c 20 20 20 30  5,  13,   0,   0
0670: 2c 20 20 20 30 2c 20 20 20 30 2c 0a 20 20 20 20  ,   0,   0,.    
0680: 20 20 20 30 2c 20 20 20 30 2c 20 20 20 30 2c 20     0,   0,   0, 
0690: 20 20 30 2c 20 20 20 30 2c 20 20 20 30 2c 20 20    0,   0,   0,  
06a0: 34 32 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 20  42,   0,   0,   
06b0: 30 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 20 30  0,   0,   0,   0
06c0: 2c 0a 20 20 20 20 20 20 20 30 2c 20 20 31 36 2c  ,.       0,  16,
06d0: 20 20 20 30 2c 20 20 32 33 2c 20 20 35 31 2c 20     0,  23,  51, 
06e0: 20 20 30 2c 20 20 20 30 2c 20 20 20 30 2c 20 20    0,   0,   0,  
06f0: 20 30 2c 20 20 34 34 2c 20 20 35 38 2c 20 20 20   0,  44,  58,   
0700: 30 2c 20 20 20 30 2c 0a 20 20 20 20 20 20 20 30  0,   0,.       0
0710: 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 20 30 2c  ,   0,   0,   0,
0720: 20 20 20 30 2c 20 20 20 30 2c 20 20 37 31 2c 20     0,   0,  71, 
0730: 20 34 31 2c 20 20 20 30 2c 20 20 20 30 2c 20 20   41,   0,   0,  
0740: 32 34 2c 20 20 35 39 2c 20 20 32 31 2c 0a 20 20  24,  59,  21,.  
0750: 20 20 20 20 20 30 2c 20 20 37 38 2c 20 20 20 30       0,  78,   0
0760: 2c 20 20 36 36 2c 20 20 20 30 2c 20 20 20 30 2c  ,  66,   0,   0,
0770: 20 20 38 32 2c 20 20 34 35 2c 20 20 20 30 2c 20    82,  45,   0, 
0780: 20 20 30 2c 20 20 20 30 2c 20 20 20 30 2c 20 20    0,   0,   0,  
0790: 20 30 2c 0a 20 20 20 20 20 20 20 30 2c 20 20 20   0,.       0,   
07a0: 30 2c 20 20 33 38 2c 20 20 39 33 2c 20 20 39 35  0,  38,  93,  95
07b0: 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 39 37 2c  ,   0,   0,  97,
07c0: 20 20 20 30 2c 20 20 31 34 2c 20 20 32 37 2c 20     0,  14,  27, 
07d0: 20 37 37 2c 20 20 20 30 2c 0a 20 20 20 20 20 20   77,   0,.      
07e0: 35 36 2c 20 20 38 37 2c 20 20 20 30 2c 20 20 33  56,  87,   0,  3
07f0: 36 2c 20 20 20 30 2c 20 20 36 31 2c 20 20 20 30  6,   0,  61,   0
0800: 2c 0a 20 20 7d 3b 0a 20 20 73 74 61 74 69 63 20  ,.  };.  static 
0810: 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 63  const unsigned c
0820: 68 61 72 20 61 4c 65 6e 5b 31 31 31 5d 20 3d 20  har aLen[111] = 
0830: 7b 0a 20 20 20 20 20 20 20 35 2c 20 20 20 35 2c  {.       5,   5,
0840: 20 20 20 34 2c 20 20 20 34 2c 20 20 20 39 2c 20     4,   4,   9, 
0850: 20 20 32 2c 20 20 20 33 2c 20 20 20 38 2c 20 20    2,   3,   8,  
0860: 20 32 2c 20 20 20 36 2c 20 20 20 34 2c 20 20 20   2,   6,   4,   
0870: 33 2c 20 20 20 37 2c 0a 20 20 20 20 20 20 31 31  3,   7,.      11
0880: 2c 20 20 20 32 2c 20 20 20 37 2c 20 20 20 35 2c  ,   2,   7,   5,
0890: 20 20 20 35 2c 20 20 20 34 2c 20 20 20 35 2c 20     5,   4,   5, 
08a0: 20 20 33 2c 20 20 20 35 2c 20 20 31 30 2c 20 20    3,   5,  10,  
08b0: 20 36 2c 20 20 20 34 2c 20 20 20 36 2c 0a 20 20   6,   4,   6,.  
08c0: 20 20 20 20 20 37 2c 20 20 20 36 2c 20 20 20 37       7,   6,   7
08d0: 2c 20 20 20 39 2c 20 20 20 33 2c 20 20 20 33 2c  ,   9,   3,   3,
08e0: 20 20 31 30 2c 20 20 20 39 2c 20 20 20 36 2c 20    10,   9,   6, 
08f0: 20 20 39 2c 20 20 20 36 2c 20 20 20 36 2c 20 20    9,   6,   6,  
0900: 20 34 2c 0a 20 20 20 20 20 20 20 36 2c 20 20 20   4,.       6,   
0910: 33 2c 20 20 20 37 2c 20 20 20 36 2c 20 20 20 37  3,   7,   6,   7
0920: 2c 20 20 20 35 2c 20 20 31 33 2c 20 20 20 32 2c  ,   5,  13,   2,
0930: 20 20 20 32 2c 20 20 20 35 2c 20 20 20 35 2c 20     2,   5,   5, 
0940: 20 20 36 2c 20 20 20 37 2c 0a 20 20 20 20 20 20    6,   7,.      
0950: 20 33 2c 20 20 20 37 2c 20 20 20 34 2c 20 20 20   3,   7,   4,   
0960: 34 2c 20 20 20 32 2c 20 20 20 37 2c 20 20 20 33  4,   2,   7,   3
0970: 2c 20 20 20 38 2c 20 20 20 36 2c 20 20 20 34 2c  ,   8,   6,   4,
0980: 20 20 20 37 2c 20 20 20 36 2c 20 20 20 36 2c 0a     7,   6,   6,.
0990: 20 20 20 20 20 20 20 38 2c 20 20 31 30 2c 20 20         8,  10,  
09a0: 20 39 2c 20 20 20 36 2c 20 20 20 35 2c 20 20 31   9,   6,   5,  1
09b0: 32 2c 20 20 31 32 2c 20 20 31 37 2c 20 20 20 36  2,  12,  17,   6
09c0: 2c 20 20 20 35 2c 20 20 20 34 2c 20 20 20 36 2c  ,   5,   4,   6,
09d0: 20 20 20 38 2c 0a 20 20 20 20 20 20 20 32 2c 20     8,.       2, 
09e0: 20 20 34 2c 20 20 20 37 2c 20 20 20 34 2c 20 20    4,   7,   4,  
09f0: 20 35 2c 20 20 20 34 2c 20 20 20 34 2c 20 20 20   5,   4,   4,   
0a00: 35 2c 20 20 20 36 2c 20 20 20 39 2c 20 20 20 36  5,   6,   9,   6
0a10: 2c 20 20 20 37 2c 20 20 20 34 2c 0a 20 20 20 20  ,   7,   4,.    
0a20: 20 20 20 32 2c 20 20 20 36 2c 20 20 20 33 2c 20     2,   6,   3, 
0a30: 20 20 36 2c 20 20 20 34 2c 20 20 20 35 2c 20 20    6,   4,   5,  
0a40: 20 37 2c 20 20 20 35 2c 20 20 20 38 2c 20 20 20   7,   5,   8,   
0a50: 35 2c 20 20 20 38 2c 20 20 20 33 2c 20 20 20 34  5,   8,   3,   4
0a60: 2c 0a 20 20 20 20 20 20 20 35 2c 20 20 20 36 2c  ,.       5,   6,
0a70: 20 20 20 35 2c 20 20 20 36 2c 20 20 20 36 2c 20     5,   6,   6, 
0a80: 20 20 34 2c 20 20 20 35 2c 0a 20 20 7d 3b 0a 20    4,   5,.  };. 
0a90: 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 75 6e   static const un
0aa0: 73 69 67 6e 65 64 20 73 68 6f 72 74 20 69 6e 74  signed short int
0ab0: 20 61 4f 66 66 73 65 74 5b 31 31 31 5d 20 3d 20   aOffset[111] = 
0ac0: 7b 0a 20 20 20 20 20 20 20 30 2c 20 20 20 34 2c  {.       0,   4,
0ad0: 20 20 20 37 2c 20 20 31 30 2c 20 20 31 30 2c 20     7,  10,  10, 
0ae0: 20 31 34 2c 20 20 31 39 2c 20 20 32 31 2c 20 20   14,  19,  21,  
0af0: 32 36 2c 20 20 32 37 2c 20 20 33 32 2c 20 20 33  26,  27,  32,  3
0b00: 34 2c 20 20 33 36 2c 0a 20 20 20 20 20 20 34 32  4,  36,.      42
0b10: 2c 20 20 35 31 2c 20 20 35 32 2c 20 20 35 37 2c  ,  51,  52,  57,
0b20: 20 20 36 31 2c 20 20 36 35 2c 20 20 36 37 2c 20    61,  65,  67, 
0b30: 20 37 31 2c 20 20 37 34 2c 20 20 37 38 2c 20 20   71,  74,  78,  
0b40: 38 36 2c 20 20 39 31 2c 20 20 39 34 2c 0a 20 20  86,  91,  94,.  
0b50: 20 20 20 20 39 39 2c 20 31 30 35 2c 20 31 30 38      99, 105, 108
0b60: 2c 20 31 31 33 2c 20 31 31 38 2c 20 31 32 32 2c  , 113, 118, 122,
0b70: 20 31 32 34 2c 20 31 33 33 2c 20 31 34 31 2c 20   124, 133, 141, 
0b80: 31 34 36 2c 20 31 35 35 2c 20 31 36 30 2c 20 31  146, 155, 160, 1
0b90: 36 35 2c 0a 20 20 20 20 20 31 36 38 2c 20 31 37  65,.     168, 17
0ba0: 30 2c 20 31 37 30 2c 20 31 37 34 2c 20 31 37 38  0, 170, 174, 178
0bb0: 2c 20 31 38 30 2c 20 31 38 35 2c 20 31 38 37 2c  , 180, 185, 187,
0bc0: 20 31 38 39 2c 20 31 39 38 2c 20 32 30 31 2c 20   189, 198, 201, 
0bd0: 32 30 35 2c 20 32 31 31 2c 0a 20 20 20 20 20 32  205, 211,.     2
0be0: 31 37 2c 20 32 31 37 2c 20 32 32 30 2c 20 32 32  17, 217, 220, 22
0bf0: 33 2c 20 32 32 37 2c 20 32 32 39 2c 20 32 33 30  3, 227, 229, 230
0c00: 2c 20 32 33 34 2c 20 32 34 31 2c 20 32 34 37 2c  , 234, 241, 247,
0c10: 20 32 35 31 2c 20 32 35 38 2c 20 32 36 34 2c 0a   251, 258, 264,.
0c20: 20 20 20 20 20 32 37 30 2c 20 32 37 38 2c 20 32       270, 278, 2
0c30: 38 35 2c 20 32 39 34 2c 20 33 30 30 2c 20 33 30  85, 294, 300, 30
0c40: 35 2c 20 33 31 37 2c 20 33 31 37 2c 20 33 33 33  5, 317, 317, 333
0c50: 2c 20 33 33 37 2c 20 33 34 32 2c 20 33 34 36 2c  , 337, 342, 346,
0c60: 20 33 35 32 2c 0a 20 20 20 20 20 33 35 33 2c 20   352,.     353, 
0c70: 33 36 30 2c 20 33 36 33 2c 20 33 37 30 2c 20 33  360, 363, 370, 3
0c80: 37 33 2c 20 33 37 38 2c 20 33 38 32 2c 20 33 38  73, 378, 382, 38
0c90: 36 2c 20 33 38 39 2c 20 33 39 35 2c 20 34 30 34  6, 389, 395, 404
0ca0: 2c 20 34 31 30 2c 20 34 31 37 2c 0a 20 20 20 20  , 410, 417,.    
0cb0: 20 34 32 30 2c 20 34 32 30 2c 20 34 32 33 2c 20   420, 420, 423, 
0cc0: 34 32 36 2c 20 34 33 32 2c 20 34 33 36 2c 20 34  426, 432, 436, 4
0cd0: 34 30 2c 20 34 34 37 2c 20 34 35 31 2c 20 34 35  40, 447, 451, 45
0ce0: 39 2c 20 34 36 34 2c 20 34 37 32 2c 20 34 37 34  9, 464, 472, 474
0cf0: 2c 0a 20 20 20 20 20 34 37 38 2c 20 34 38 33 2c  ,.     478, 483,
0d00: 20 34 38 39 2c 20 34 39 34 2c 20 35 30 30 2c 20   489, 494, 500, 
0d10: 35 30 36 2c 20 35 30 39 2c 0a 20 20 7d 3b 0a 20  506, 509,.  };. 
0d20: 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20 75 6e   static const un
0d30: 73 69 67 6e 65 64 20 63 68 61 72 20 61 43 6f 64  signed char aCod
0d40: 65 5b 31 31 31 5d 20 3d 20 7b 0a 20 20 20 20 54  e[111] = {.    T
0d50: 4b 5f 41 42 4f 52 54 2c 20 20 20 20 20 20 54 4b  K_ABORT,      TK
0d60: 5f 54 41 42 4c 45 2c 20 20 20 20 20 20 54 4b 5f  _TABLE,      TK_
0d70: 4a 4f 49 4e 5f 4b 57 2c 20 20 20 20 54 4b 5f 54  JOIN_KW,    TK_T
0d80: 45 4d 50 2c 20 20 20 20 20 20 20 54 4b 5f 54 45  EMP,       TK_TE
0d90: 4d 50 2c 20 20 20 20 20 20 20 0a 20 20 20 20 54  MP,       .    T
0da0: 4b 5f 4f 52 2c 20 20 20 20 20 20 20 20 20 54 4b  K_OR,         TK
0db0: 5f 41 44 44 2c 20 20 20 20 20 20 20 20 54 4b 5f  _ADD,        TK_
0dc0: 44 41 54 41 42 41 53 45 2c 20 20 20 54 4b 5f 41  DATABASE,   TK_A
0dd0: 53 2c 20 20 20 20 20 20 20 20 20 54 4b 5f 53 45  S,         TK_SE
0de0: 4c 45 43 54 2c 20 20 20 20 20 0a 20 20 20 20 54  LECT,     .    T
0df0: 4b 5f 54 48 45 4e 2c 20 20 20 20 20 20 20 54 4b  K_THEN,       TK
0e00: 5f 45 4e 44 2c 20 20 20 20 20 20 20 20 54 4b 5f  _END,        TK_
0e10: 44 45 46 41 55 4c 54 2c 20 20 20 20 54 4b 5f 54  DEFAULT,    TK_T
0e20: 52 41 4e 53 41 43 54 49 4f 4e 2c 54 4b 5f 4f 4e  RANSACTION,TK_ON
0e30: 2c 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 54  ,         .    T
0e40: 4b 5f 4a 4f 49 4e 5f 4b 57 2c 20 20 20 20 54 4b  K_JOIN_KW,    TK
0e50: 5f 41 4c 54 45 52 2c 20 20 20 20 20 20 54 4b 5f  _ALTER,      TK_
0e60: 52 41 49 53 45 2c 20 20 20 20 20 20 54 4b 5f 45  RAISE,      TK_E
0e70: 41 43 48 2c 20 20 20 20 20 20 20 54 4b 5f 43 48  ACH,       TK_CH
0e80: 45 43 4b 2c 20 20 20 20 20 20 0a 20 20 20 20 54  ECK,      .    T
0e90: 4b 5f 4b 45 59 2c 20 20 20 20 20 20 20 20 54 4b  K_KEY,        TK
0ea0: 5f 41 46 54 45 52 2c 20 20 20 20 20 20 54 4b 5f  _AFTER,      TK_
0eb0: 52 45 46 45 52 45 4e 43 45 53 2c 20 54 4b 5f 45  REFERENCES, TK_E
0ec0: 53 43 41 50 45 2c 20 20 20 20 20 54 4b 5f 45 4c  SCAPE,     TK_EL
0ed0: 53 45 2c 20 20 20 20 20 20 20 0a 20 20 20 20 54  SE,       .    T
0ee0: 4b 5f 45 58 43 45 50 54 2c 20 20 20 20 20 54 4b  K_EXCEPT,     TK
0ef0: 5f 54 52 49 47 47 45 52 2c 20 20 20 20 54 4b 5f  _TRIGGER,    TK_
0f00: 4c 49 4b 45 5f 4b 57 2c 20 20 20 20 54 4b 5f 45  LIKE_KW,    TK_E
0f10: 58 50 4c 41 49 4e 2c 20 20 20 20 54 4b 5f 49 4e  XPLAIN,    TK_IN
0f20: 49 54 49 41 4c 4c 59 2c 20 20 0a 20 20 20 20 54  ITIALLY,  .    T
0f30: 4b 5f 41 4c 4c 2c 20 20 20 20 20 20 20 20 54 4b  K_ALL,        TK
0f40: 5f 41 4e 44 2c 20 20 20 20 20 20 20 20 54 4b 5f  _AND,        TK_
0f50: 44 45 46 45 52 52 41 42 4c 45 2c 20 54 4b 5f 45  DEFERRABLE, TK_E
0f60: 58 43 4c 55 53 49 56 45 2c 20 20 54 4b 5f 45 58  XCLUSIVE,  TK_EX
0f70: 49 53 54 53 2c 20 20 20 20 20 0a 20 20 20 20 54  ISTS,     .    T
0f80: 4b 5f 53 54 41 54 45 4d 45 4e 54 2c 20 20 54 4b  K_STATEMENT,  TK
0f90: 5f 41 54 54 41 43 48 2c 20 20 20 20 20 54 4b 5f  _ATTACH,     TK_
0fa0: 48 41 56 49 4e 47 2c 20 20 20 20 20 54 4b 5f 4c  HAVING,     TK_L
0fb0: 49 4b 45 5f 4b 57 2c 20 20 20 20 54 4b 5f 42 45  IKE_KW,    TK_BE
0fc0: 46 4f 52 45 2c 20 20 20 20 20 0a 20 20 20 20 54  FORE,     .    T
0fd0: 4b 5f 46 4f 52 2c 20 20 20 20 20 20 20 20 54 4b  K_FOR,        TK
0fe0: 5f 46 4f 52 45 49 47 4e 2c 20 20 20 20 54 4b 5f  _FOREIGN,    TK_
0ff0: 49 47 4e 4f 52 45 2c 20 20 20 20 20 54 4b 5f 52  IGNORE,     TK_R
1000: 45 49 4e 44 45 58 2c 20 20 20 20 54 4b 5f 49 4e  EINDEX,    TK_IN
1010: 44 45 58 2c 20 20 20 20 20 20 0a 20 20 20 20 54  DEX,      .    T
1020: 4b 5f 41 55 54 4f 49 4e 43 52 2c 20 20 20 54 4b  K_AUTOINCR,   TK
1030: 5f 54 4f 2c 20 20 20 20 20 20 20 20 20 54 4b 5f  _TO,         TK_
1040: 49 4e 2c 20 20 20 20 20 20 20 20 20 54 4b 5f 42  IN,         TK_B
1050: 45 47 49 4e 2c 20 20 20 20 20 20 54 4b 5f 4a 4f  EGIN,      TK_JO
1060: 49 4e 5f 4b 57 2c 20 20 20 20 0a 20 20 20 20 54  IN_KW,    .    T
1070: 4b 5f 52 45 4e 41 4d 45 2c 20 20 20 20 20 54 4b  K_RENAME,     TK
1080: 5f 42 45 54 57 45 45 4e 2c 20 20 20 20 54 4b 5f  _BETWEEN,    TK_
1090: 4e 4f 54 2c 20 20 20 20 20 20 20 20 54 4b 5f 4e  NOT,        TK_N
10a0: 4f 54 4e 55 4c 4c 2c 20 20 20 20 54 4b 5f 4e 55  OTNULL,    TK_NU
10b0: 4c 4c 2c 20 20 20 20 20 20 20 0a 20 20 20 20 54  LL,       .    T
10c0: 4b 5f 4c 49 4b 45 5f 4b 57 2c 20 20 20 20 54 4b  K_LIKE_KW,    TK
10d0: 5f 42 59 2c 20 20 20 20 20 20 20 20 20 54 4b 5f  _BY,         TK_
10e0: 43 41 53 43 41 44 45 2c 20 20 20 20 54 4b 5f 41  CASCADE,    TK_A
10f0: 53 43 2c 20 20 20 20 20 20 20 20 54 4b 5f 44 45  SC,        TK_DE
1100: 46 45 52 52 45 44 2c 20 20 20 0a 20 20 20 20 54  FERRED,   .    T
1110: 4b 5f 44 45 4c 45 54 45 2c 20 20 20 20 20 54 4b  K_DELETE,     TK
1120: 5f 43 41 53 45 2c 20 20 20 20 20 20 20 54 4b 5f  _CASE,       TK_
1130: 43 4f 4c 4c 41 54 45 2c 20 20 20 20 54 4b 5f 43  COLLATE,    TK_C
1140: 4f 4c 55 4d 4e 4b 57 2c 20 20 20 54 4b 5f 43 4f  OLUMNKW,   TK_CO
1150: 4d 4d 49 54 2c 20 20 20 20 20 0a 20 20 20 20 54  MMIT,     .    T
1160: 4b 5f 43 4f 4e 46 4c 49 43 54 2c 20 20 20 54 4b  K_CONFLICT,   TK
1170: 5f 43 4f 4e 53 54 52 41 49 4e 54 2c 20 54 4b 5f  _CONSTRAINT, TK_
1180: 49 4e 54 45 52 53 45 43 54 2c 20 20 54 4b 5f 43  INTERSECT,  TK_C
1190: 52 45 41 54 45 2c 20 20 20 20 20 54 4b 5f 4a 4f  REATE,     TK_JO
11a0: 49 4e 5f 4b 57 2c 20 20 20 20 0a 20 20 20 20 54  IN_KW,    .    T
11b0: 4b 5f 43 54 49 4d 45 5f 4b 57 2c 20 20 20 54 4b  K_CTIME_KW,   TK
11c0: 5f 43 54 49 4d 45 5f 4b 57 2c 20 20 20 54 4b 5f  _CTIME_KW,   TK_
11d0: 43 54 49 4d 45 5f 4b 57 2c 20 20 20 54 4b 5f 50  CTIME_KW,   TK_P
11e0: 52 41 47 4d 41 2c 20 20 20 20 20 54 4b 5f 4d 41  RAGMA,     TK_MA
11f0: 54 43 48 2c 20 20 20 20 20 20 0a 20 20 20 20 54  TCH,      .    T
1200: 4b 5f 44 45 53 43 2c 20 20 20 20 20 20 20 54 4b  K_DESC,       TK
1210: 5f 44 45 54 41 43 48 2c 20 20 20 20 20 54 4b 5f  _DETACH,     TK_
1220: 44 49 53 54 49 4e 43 54 2c 20 20 20 54 4b 5f 49  DISTINCT,   TK_I
1230: 53 2c 20 20 20 20 20 20 20 20 20 54 4b 5f 44 52  S,         TK_DR
1240: 4f 50 2c 20 20 20 20 20 20 20 0a 20 20 20 20 54  OP,       .    T
1250: 4b 5f 50 52 49 4d 41 52 59 2c 20 20 20 20 54 4b  K_PRIMARY,    TK
1260: 5f 46 41 49 4c 2c 20 20 20 20 20 20 20 54 4b 5f  _FAIL,       TK_
1270: 4c 49 4d 49 54 2c 20 20 20 20 20 20 54 4b 5f 46  LIMIT,      TK_F
1280: 52 4f 4d 2c 20 20 20 20 20 20 20 54 4b 5f 4a 4f  ROM,       TK_JO
1290: 49 4e 5f 4b 57 2c 20 20 20 20 0a 20 20 20 20 54  IN_KW,    .    T
12a0: 4b 5f 47 52 4f 55 50 2c 20 20 20 20 20 20 54 4b  K_GROUP,      TK
12b0: 5f 55 50 44 41 54 45 2c 20 20 20 20 20 54 4b 5f  _UPDATE,     TK_
12c0: 49 4d 4d 45 44 49 41 54 45 2c 20 20 54 4b 5f 49  IMMEDIATE,  TK_I
12d0: 4e 53 45 52 54 2c 20 20 20 20 20 54 4b 5f 49 4e  NSERT,     TK_IN
12e0: 53 54 45 41 44 2c 20 20 20 20 0a 20 20 20 20 54  STEAD,    .    T
12f0: 4b 5f 49 4e 54 4f 2c 20 20 20 20 20 20 20 54 4b  K_INTO,       TK
1300: 5f 4f 46 2c 20 20 20 20 20 20 20 20 20 54 4b 5f  _OF,         TK_
1310: 4f 46 46 53 45 54 2c 20 20 20 20 20 54 4b 5f 53  OFFSET,     TK_S
1320: 45 54 2c 20 20 20 20 20 20 20 20 54 4b 5f 49 53  ET,        TK_IS
1330: 4e 55 4c 4c 2c 20 20 20 20 20 0a 20 20 20 20 54  NULL,     .    T
1340: 4b 5f 4a 4f 49 4e 2c 20 20 20 20 20 20 20 54 4b  K_JOIN,       TK
1350: 5f 4f 52 44 45 52 2c 20 20 20 20 20 20 54 4b 5f  _ORDER,      TK_
1360: 52 45 50 4c 41 43 45 2c 20 20 20 20 54 4b 5f 4a  REPLACE,    TK_J
1370: 4f 49 4e 5f 4b 57 2c 20 20 20 20 54 4b 5f 52 45  OIN_KW,    TK_RE
1380: 53 54 52 49 43 54 2c 20 20 20 0a 20 20 20 20 54  STRICT,   .    T
1390: 4b 5f 4a 4f 49 4e 5f 4b 57 2c 20 20 20 20 54 4b  K_JOIN_KW,    TK
13a0: 5f 52 4f 4c 4c 42 41 43 4b 2c 20 20 20 54 4b 5f  _ROLLBACK,   TK_
13b0: 52 4f 57 2c 20 20 20 20 20 20 20 20 54 4b 5f 57  ROW,        TK_W
13c0: 48 45 4e 2c 20 20 20 20 20 20 20 54 4b 5f 55 4e  HEN,       TK_UN
13d0: 49 4f 4e 2c 20 20 20 20 20 20 0a 20 20 20 20 54  ION,      .    T
13e0: 4b 5f 55 4e 49 51 55 45 2c 20 20 20 20 20 54 4b  K_UNIQUE,     TK
13f0: 5f 55 53 49 4e 47 2c 20 20 20 20 20 20 54 4b 5f  _USING,      TK_
1400: 56 41 43 55 55 4d 2c 20 20 20 20 20 54 4b 5f 56  VACUUM,     TK_V
1410: 41 4c 55 45 53 2c 20 20 20 20 20 54 4b 5f 56 49  ALUES,     TK_VI
1420: 45 57 2c 20 20 20 20 20 20 20 0a 20 20 20 20 54  EW,       .    T
1430: 4b 5f 57 48 45 52 45 2c 20 20 20 20 20 20 0a 20  K_WHERE,      . 
1440: 20 7d 3b 0a 20 20 69 6e 74 20 68 2c 20 69 3b 0a   };.  int h, i;.
1450: 20 20 69 66 28 20 6e 3c 32 20 29 20 72 65 74 75    if( n<2 ) retu
1460: 72 6e 20 54 4b 5f 49 44 3b 0a 20 20 68 20 3d 20  rn TK_ID;.  h = 
1470: 28 28 73 71 6c 69 74 65 33 55 70 70 65 72 54 6f  ((sqlite3UpperTo
1480: 4c 6f 77 65 72 5b 28 28 75 6e 73 69 67 6e 65 64  Lower[((unsigned
1490: 20 63 68 61 72 2a 29 7a 29 5b 30 5d 5d 2a 34 29   char*)z)[0]]*4)
14a0: 20 5e 0a 20 20 20 20 20 20 28 73 71 6c 69 74 65   ^.      (sqlite
14b0: 33 55 70 70 65 72 54 6f 4c 6f 77 65 72 5b 28 28  3UpperToLower[((
14c0: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 2a 29 7a  unsigned char*)z
14d0: 29 5b 6e 2d 31 5d 5d 2a 33 29 20 5e 0a 20 20 20  )[n-1]]*3) ^.   
14e0: 20 20 20 6e 29 20 25 20 31 32 37 3b 0a 20 20 66     n) % 127;.  f
14f0: 6f 72 28 69 3d 28 28 69 6e 74 29 61 48 61 73 68  or(i=((int)aHash
1500: 5b 68 5d 29 2d 31 3b 20 69 3e 3d 30 3b 20 69 3d  [h])-1; i>=0; i=
1510: 28 28 69 6e 74 29 61 4e 65 78 74 5b 69 5d 29 2d  ((int)aNext[i])-
1520: 31 29 7b 0a 20 20 20 20 69 66 28 20 61 4c 65 6e  1){.    if( aLen
1530: 5b 69 5d 3d 3d 6e 20 26 26 20 73 71 6c 69 74 65  [i]==n && sqlite
1540: 33 53 74 72 4e 49 43 6d 70 28 26 7a 54 65 78 74  3StrNICmp(&zText
1550: 5b 61 4f 66 66 73 65 74 5b 69 5d 5d 2c 7a 2c 6e  [aOffset[i]],z,n
1560: 29 3d 3d 30 20 29 7b 0a 20 20 20 20 20 20 72 65  )==0 ){.      re
1570: 74 75 72 6e 20 61 43 6f 64 65 5b 69 5d 3b 0a 20  turn aCode[i];. 
1580: 20 20 20 7d 0a 20 20 7d 0a 20 20 72 65 74 75 72     }.  }.  retur
1590: 6e 20 54 4b 5f 49 44 3b 0a 7d 0a 69 6e 74 20 73  n TK_ID;.}.int s
15a0: 71 6c 69 74 65 33 4b 65 79 77 6f 72 64 43 6f 64  qlite3KeywordCod
15b0: 65 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 7a 2c  e(const char *z,
15c0: 20 69 6e 74 20 6e 29 7b 0a 20 20 72 65 74 75 72   int n){.  retur
15d0: 6e 20 6b 65 79 77 6f 72 64 43 6f 64 65 28 7a 2c  n keywordCode(z,
15e0: 20 6e 29 3b 0a 7d 0a                              n);.}.