System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 53d6b6630b71e2ec402f2c2ff85e3f7e8e88a3cc:


0000: 2f 2a 20 48 61 73 68 20 73 63 6f 72 65 3a 20 31  /* Hash score: 1
0010: 35 39 20 2a 2f 0a 73 74 61 74 69 63 20 69 6e 74  59 */.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 33  st char zText[53
0060: 37 5d 20 3d 0a 20 20 20 20 22 41 42 4f 52 54 41  7] =.    "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 41 4c 59  LAINITIALLYANALY
00f0: 5a 45 22 0a 20 20 20 20 22 58 43 4c 55 53 49 56  ZE".    "XCLUSIV
0100: 45 58 49 53 54 53 54 41 54 45 4d 45 4e 54 41 4e  EXISTSTATEMENTAN
0110: 44 45 46 45 52 52 41 42 4c 45 41 54 54 41 43 48  DEFERRABLEATTACH
0120: 41 56 49 4e 47 4c 4f 42 45 46 4f 52 45 49 47 4e  AVINGLOBEFOREIGN
0130: 4f 52 45 49 4e 44 45 58 22 0a 20 20 20 20 22 41  OREINDEX".    "A
0140: 55 54 4f 49 4e 43 52 45 4d 45 4e 54 42 45 47 49  UTOINCREMENTBEGI
0150: 4e 4e 45 52 45 4e 41 4d 45 42 45 54 57 45 45 4e  NNERENAMEBETWEEN
0160: 4f 54 4e 55 4c 4c 49 4b 45 42 59 43 41 53 43 41  OTNULLIKEBYCASCA
0170: 44 45 46 45 52 52 45 44 45 4c 45 54 45 22 0a 20  DEFERREDELETE". 
0180: 20 20 20 22 43 41 53 45 43 41 53 54 43 4f 4c 4c     "CASECASTCOLL
0190: 41 54 45 43 4f 4c 55 4d 4e 43 4f 4d 4d 49 54 43  ATECOLUMNCOMMITC
01a0: 4f 4e 46 4c 49 43 54 43 4f 4e 53 54 52 41 49 4e  ONFLICTCONSTRAIN
01b0: 54 45 52 53 45 43 54 43 52 45 41 54 45 43 52 4f  TERSECTCREATECRO
01c0: 53 53 22 0a 20 20 20 20 22 43 55 52 52 45 4e 54  SS".    "CURRENT
01d0: 5f 44 41 54 45 43 55 52 52 45 4e 54 5f 54 49 4d  _DATECURRENT_TIM
01e0: 45 53 54 41 4d 50 4c 41 4e 44 45 53 43 44 45 54  ESTAMPLANDESCDET
01f0: 41 43 48 44 49 53 54 49 4e 43 54 44 52 4f 50 52  ACHDISTINCTDROPR
0200: 41 47 4d 41 54 43 48 22 0a 20 20 20 20 22 46 41  AGMATCH".    "FA
0210: 49 4c 49 4d 49 54 46 52 4f 4d 46 55 4c 4c 47 52  ILIMITFROMFULLGR
0220: 4f 55 50 44 41 54 45 49 46 49 4d 4d 45 44 49 41  OUPDATEIFIMMEDIA
0230: 54 45 49 4e 53 45 52 54 49 4e 53 54 45 41 44 49  TEINSERTINSTEADI
0240: 4e 54 4f 46 46 53 45 54 49 53 4e 55 4c 4c 22 0a  NTOFFSETISNULL".
0250: 20 20 20 20 22 4a 4f 49 4e 4f 52 44 45 52 45 50      "JOINORDEREP
0260: 4c 41 43 45 4f 55 54 45 52 45 53 54 52 49 43 54  LACEOUTERESTRICT
0270: 50 52 49 4d 41 52 59 51 55 45 52 59 52 49 47 48  PRIMARYQUERYRIGH
0280: 54 52 4f 4c 4c 42 41 43 4b 52 4f 57 48 45 4e 55  TROLLBACKROWHENU
0290: 4e 49 4f 4e 22 0a 20 20 20 20 22 55 4e 49 51 55  NION".    "UNIQU
02a0: 45 55 53 49 4e 47 56 41 43 55 55 4d 56 41 4c 55  EUSINGVACUUMVALU
02b0: 45 53 56 49 45 57 48 45 52 45 22 3b 0a 20 20 73  ESVIEWHERE";.  s
02c0: 74 61 74 69 63 20 63 6f 6e 73 74 20 75 6e 73 69  tatic const unsi
02d0: 67 6e 65 64 20 63 68 61 72 20 61 48 61 73 68 5b  gned char aHash[
02e0: 31 32 37 5d 20 3d 20 7b 0a 20 20 20 20 20 20 39  127] = {.      9
02f0: 32 2c 20 20 38 30 2c 20 31 30 37 2c 20 20 39 31  2,  80, 107,  91
0300: 2c 20 20 20 30 2c 20 20 20 34 2c 20 20 20 30 2c  ,   0,   4,   0,
0310: 20 20 20 30 2c 20 31 31 34 2c 20 20 20 30 2c 20     0, 114,   0, 
0320: 20 38 33 2c 20 20 20 30 2c 20 20 20 30 2c 0a 20   83,   0,   0,. 
0330: 20 20 20 20 20 39 35 2c 20 20 34 34 2c 20 20 37       95,  44,  7
0340: 36 2c 20 20 39 33 2c 20 20 20 30 2c 20 31 30 36  6,  93,   0, 106
0350: 2c 20 31 30 39 2c 20 20 39 37 2c 20 20 39 30 2c  , 109,  97,  90,
0360: 20 20 20 30 2c 20 20 31 30 2c 20 20 20 30 2c 20     0,  10,   0, 
0370: 20 20 30 2c 0a 20 20 20 20 20 31 31 33 2c 20 20    0,.     113,  
0380: 20 30 2c 20 31 31 30 2c 20 31 30 33 2c 20 20 20   0, 110, 103,   
0390: 30 2c 20 20 32 38 2c 20 20 34 38 2c 20 20 20 30  0,  28,  48,   0
03a0: 2c 20 20 34 31 2c 20 20 20 30 2c 20 20 20 30 2c  ,  41,   0,   0,
03b0: 20 20 36 35 2c 20 20 37 31 2c 0a 20 20 20 20 20    65,  71,.     
03c0: 20 20 30 2c 20 20 36 33 2c 20 20 31 39 2c 20 20    0,  63,  19,  
03d0: 20 30 2c 20 31 30 35 2c 20 20 33 36 2c 20 31 30   0, 105,  36, 10
03e0: 34 2c 20 20 20 30 2c 20 31 30 38 2c 20 20 37 34  4,   0, 108,  74
03f0: 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 33 33 2c  ,   0,   0,  33,
0400: 0a 20 20 20 20 20 20 20 30 2c 20 20 36 31 2c 20  .       0,  61, 
0410: 20 33 37 2c 20 20 20 30 2c 20 20 20 38 2c 20 20   37,   0,   8,  
0420: 20 30 2c 20 31 31 35 2c 20 20 33 38 2c 20 20 31   0, 115,  38,  1
0430: 32 2c 20 20 20 30 2c 20 20 37 37 2c 20 20 34 30  2,   0,  77,  40
0440: 2c 20 20 32 35 2c 0a 20 20 20 20 20 20 36 36 2c  ,  25,.      66,
0450: 20 20 20 30 2c 20 20 20 30 2c 20 20 33 31 2c 20     0,   0,  31, 
0460: 20 38 31 2c 20 20 35 33 2c 20 20 33 30 2c 20 20   81,  53,  30,  
0470: 35 30 2c 20 20 32 30 2c 20 20 38 38 2c 20 20 20  50,  20,  88,   
0480: 30 2c 20 20 33 34 2c 20 20 20 30 2c 0a 20 20 20  0,  34,   0,.   
0490: 20 20 20 37 35 2c 20 20 32 36 2c 20 20 20 30 2c     75,  26,   0,
04a0: 20 20 37 32 2c 20 20 20 30 2c 20 20 20 30 2c 20    72,   0,   0, 
04b0: 20 20 30 2c 20 20 36 34 2c 20 20 34 37 2c 20 20    0,  64,  47,  
04c0: 36 37 2c 20 20 32 32 2c 20 20 38 37 2c 20 20 32  67,  22,  87,  2
04d0: 39 2c 0a 20 20 20 20 20 20 36 39 2c 20 20 38 36  9,.      69,  86
04e0: 2c 20 20 20 30 2c 20 20 20 31 2c 20 20 20 30 2c  ,   0,   1,   0,
04f0: 20 20 20 39 2c 20 31 30 31 2c 20 20 35 38 2c 20     9, 101,  58, 
0500: 20 31 38 2c 20 20 20 30 2c 20 31 31 32 2c 20 20   18,   0, 112,  
0510: 38 32 2c 20 20 39 39 2c 0a 20 20 20 20 20 20 35  82,  99,.      5
0520: 34 2c 20 20 20 36 2c 20 20 38 35 2c 20 20 20 30  4,   6,  85,   0
0530: 2c 20 20 20 30 2c 20 20 34 39 2c 20 20 39 34 2c  ,   0,  49,  94,
0540: 20 20 20 30 2c 20 31 30 32 2c 20 20 20 30 2c 20     0, 102,   0, 
0550: 20 37 30 2c 20 20 20 30 2c 20 20 20 30 2c 0a 20   70,   0,   0,. 
0560: 20 20 20 20 20 31 35 2c 20 20 20 30 2c 20 31 31       15,   0, 11
0570: 36 2c 20 20 35 31 2c 20 20 35 36 2c 20 20 20 30  6,  51,  56,   0
0580: 2c 20 20 20 32 2c 20 20 35 35 2c 20 20 20 30 2c  ,   2,  55,   0,
0590: 20 31 31 31 2c 0a 20 20 7d 3b 0a 20 20 73 74 61   111,.  };.  sta
05a0: 74 69 63 20 63 6f 6e 73 74 20 75 6e 73 69 67 6e  tic const unsign
05b0: 65 64 20 63 68 61 72 20 61 4e 65 78 74 5b 31 31  ed char aNext[11
05c0: 36 5d 20 3d 20 7b 0a 20 20 20 20 20 20 20 30 2c  6] = {.       0,
05d0: 20 20 20 30 2c 20 20 20 30 2c 20 20 20 30 2c 20     0,   0,   0, 
05e0: 20 20 30 2c 20 20 20 33 2c 20 20 20 30 2c 20 20    0,   3,   0,  
05f0: 20 30 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 20   0,   0,   0,   
0600: 30 2c 20 20 20 30 2c 20 20 20 30 2c 0a 20 20 20  0,   0,   0,.   
0610: 20 20 20 20 30 2c 20 20 20 30 2c 20 20 20 30 2c      0,   0,   0,
0620: 20 20 20 30 2c 20 20 20 30 2c 20 20 20 30 2c 20     0,   0,   0, 
0630: 20 20 30 2c 20 20 20 30 2c 20 20 31 37 2c 20 20    0,   0,  17,  
0640: 20 30 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 20   0,   0,   0,   
0650: 30 2c 0a 20 20 20 20 20 20 20 30 2c 20 20 31 31  0,.       0,  11
0660: 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 20 30 2c  ,   0,   0,   0,
0670: 20 20 20 30 2c 20 20 20 35 2c 20 20 31 33 2c 20     0,   5,  13, 
0680: 20 20 30 2c 20 20 20 37 2c 20 20 20 30 2c 20 20    0,   7,   0,  
0690: 20 30 2c 20 20 20 30 2c 0a 20 20 20 20 20 20 20   0,   0,.       
06a0: 30 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 20 30  0,   0,   0,   0
06b0: 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 20 30 2c  ,   0,   0,   0,
06c0: 20 20 34 33 2c 20 20 20 30 2c 20 20 20 30 2c 20    43,   0,   0, 
06d0: 20 20 30 2c 20 20 20 30 2c 20 20 20 30 2c 0a 20    0,   0,   0,. 
06e0: 20 20 20 20 20 20 30 2c 20 20 20 30 2c 20 20 31        0,   0,  1
06f0: 36 2c 20 20 20 30 2c 20 20 32 33 2c 20 20 35 32  6,   0,  23,  52
0700: 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 20 30 2c  ,   0,   0,   0,
0710: 20 20 20 30 2c 20 20 34 35 2c 20 20 20 30 2c 20     0,  45,   0, 
0720: 20 35 39 2c 0a 20 20 20 20 20 20 20 30 2c 20 20   59,.       0,  
0730: 20 30 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 20   0,   0,   0,   
0740: 30 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 20 30  0,   0,   0,   0
0750: 2c 20 20 37 33 2c 20 20 34 32 2c 20 20 20 30 2c  ,  73,  42,   0,
0760: 20 20 32 34 2c 20 20 36 30 2c 0a 20 20 20 20 20    24,  60,.     
0770: 20 32 31 2c 20 20 20 30 2c 20 20 37 39 2c 20 20   21,   0,  79,  
0780: 20 30 2c 20 20 20 30 2c 20 20 36 38 2c 20 20 20   0,   0,  68,   
0790: 30 2c 20 20 20 30 2c 20 20 38 34 2c 20 20 34 36  0,   0,  84,  46
07a0: 2c 20 20 20 30 2c 20 20 20 30 2c 20 20 20 30 2c  ,   0,   0,   0,
07b0: 0a 20 20 20 20 20 20 20 30 2c 20 20 20 30 2c 20  .       0,   0, 
07c0: 20 20 30 2c 20 20 20 30 2c 20 20 20 30 2c 20 20    0,   0,   0,  
07d0: 33 39 2c 20 20 39 36 2c 20 20 39 38 2c 20 20 20  39,  96,  98,   
07e0: 30 2c 20 20 20 30 2c 20 31 30 30 2c 20 20 20 30  0,   0, 100,   0
07f0: 2c 20 20 33 32 2c 0a 20 20 20 20 20 20 20 30 2c  ,  32,.       0,
0800: 20 20 31 34 2c 20 20 32 37 2c 20 20 37 38 2c 20    14,  27,  78, 
0810: 20 20 30 2c 20 20 35 37 2c 20 20 38 39 2c 20 20    0,  57,  89,  
0820: 20 30 2c 20 20 33 35 2c 20 20 20 30 2c 20 20 36   0,  35,   0,  6
0830: 32 2c 20 20 20 30 2c 0a 20 20 7d 3b 0a 20 20 73  2,   0,.  };.  s
0840: 74 61 74 69 63 20 63 6f 6e 73 74 20 75 6e 73 69  tatic const unsi
0850: 67 6e 65 64 20 63 68 61 72 20 61 4c 65 6e 5b 31  gned char aLen[1
0860: 31 36 5d 20 3d 20 7b 0a 20 20 20 20 20 20 20 35  16] = {.       5
0870: 2c 20 20 20 35 2c 20 20 20 34 2c 20 20 20 34 2c  ,   5,   4,   4,
0880: 20 20 20 39 2c 20 20 20 32 2c 20 20 20 33 2c 20     9,   2,   3, 
0890: 20 20 38 2c 20 20 20 32 2c 20 20 20 36 2c 20 20    8,   2,   6,  
08a0: 20 34 2c 20 20 20 33 2c 20 20 20 37 2c 0a 20 20   4,   3,   7,.  
08b0: 20 20 20 20 31 31 2c 20 20 20 32 2c 20 20 20 37      11,   2,   7
08c0: 2c 20 20 20 35 2c 20 20 20 35 2c 20 20 20 34 2c  ,   5,   5,   4,
08d0: 20 20 20 35 2c 20 20 20 33 2c 20 20 20 35 2c 20     5,   3,   5, 
08e0: 20 31 30 2c 20 20 20 36 2c 20 20 20 34 2c 20 20   10,   6,   4,  
08f0: 20 36 2c 0a 20 20 20 20 20 20 20 37 2c 20 20 20   6,.       7,   
0900: 36 2c 20 20 20 37 2c 20 20 20 39 2c 20 20 20 33  6,   7,   9,   3
0910: 2c 20 20 20 37 2c 20 20 20 39 2c 20 20 20 36 2c  ,   7,   9,   6,
0920: 20 20 20 39 2c 20 20 20 33 2c 20 20 31 30 2c 20     9,   3,  10, 
0930: 20 20 36 2c 20 20 20 36 2c 0a 20 20 20 20 20 20    6,   6,.      
0940: 20 34 2c 20 20 20 36 2c 20 20 20 33 2c 20 20 20   4,   6,   3,   
0950: 37 2c 20 20 20 36 2c 20 20 20 37 2c 20 20 20 35  7,   6,   7,   5
0960: 2c 20 20 31 33 2c 20 20 20 32 2c 20 20 20 32 2c  ,  13,   2,   2,
0970: 20 20 20 35 2c 20 20 20 35 2c 20 20 20 36 2c 0a     5,   5,   6,.
0980: 20 20 20 20 20 20 20 37 2c 20 20 20 33 2c 20 20         7,   3,  
0990: 20 37 2c 20 20 20 34 2c 20 20 20 34 2c 20 20 20   7,   4,   4,   
09a0: 32 2c 20 20 20 37 2c 20 20 20 33 2c 20 20 20 38  2,   7,   3,   8
09b0: 2c 20 20 20 36 2c 20 20 20 34 2c 20 20 20 34 2c  ,   6,   4,   4,
09c0: 20 20 20 37 2c 0a 20 20 20 20 20 20 20 36 2c 20     7,.       6, 
09d0: 20 20 36 2c 20 20 20 38 2c 20 20 31 30 2c 20 20    6,   8,  10,  
09e0: 20 39 2c 20 20 20 36 2c 20 20 20 35 2c 20 20 31   9,   6,   5,  1
09f0: 32 2c 20 20 31 32 2c 20 20 31 37 2c 20 20 20 34  2,  12,  17,   4
0a00: 2c 20 20 20 34 2c 20 20 20 36 2c 0a 20 20 20 20  ,   4,   6,.    
0a10: 20 20 20 38 2c 20 20 20 32 2c 20 20 20 34 2c 20     8,   2,   4, 
0a20: 20 20 36 2c 20 20 20 35 2c 20 20 20 34 2c 20 20    6,   5,   4,  
0a30: 20 35 2c 20 20 20 34 2c 20 20 20 34 2c 20 20 20   5,   4,   4,   
0a40: 35 2c 20 20 20 36 2c 20 20 20 32 2c 20 20 20 39  5,   6,   2,   9
0a50: 2c 0a 20 20 20 20 20 20 20 36 2c 20 20 20 37 2c  ,.       6,   7,
0a60: 20 20 20 34 2c 20 20 20 32 2c 20 20 20 36 2c 20     4,   2,   6, 
0a70: 20 20 33 2c 20 20 20 36 2c 20 20 20 34 2c 20 20    3,   6,   4,  
0a80: 20 35 2c 20 20 20 37 2c 20 20 20 35 2c 20 20 20   5,   7,   5,   
0a90: 38 2c 20 20 20 37 2c 0a 20 20 20 20 20 20 20 35  8,   7,.       5
0aa0: 2c 20 20 20 35 2c 20 20 20 38 2c 20 20 20 33 2c  ,   5,   8,   3,
0ab0: 20 20 20 34 2c 20 20 20 35 2c 20 20 20 36 2c 20     4,   5,   6, 
0ac0: 20 20 35 2c 20 20 20 36 2c 20 20 20 36 2c 20 20    5,   6,   6,  
0ad0: 20 34 2c 20 20 20 35 2c 0a 20 20 7d 3b 0a 20 20   4,   5,.  };.  
0ae0: 73 74 61 74 69 63 20 63 6f 6e 73 74 20 75 6e 73  static const uns
0af0: 69 67 6e 65 64 20 73 68 6f 72 74 20 69 6e 74 20  igned short int 
0b00: 61 4f 66 66 73 65 74 5b 31 31 36 5d 20 3d 20 7b  aOffset[116] = {
0b10: 0a 20 20 20 20 20 20 20 30 2c 20 20 20 34 2c 20  .       0,   4, 
0b20: 20 20 37 2c 20 20 31 30 2c 20 20 31 30 2c 20 20    7,  10,  10,  
0b30: 31 34 2c 20 20 31 39 2c 20 20 32 31 2c 20 20 32  14,  19,  21,  2
0b40: 36 2c 20 20 32 37 2c 20 20 33 32 2c 20 20 33 34  6,  27,  32,  34
0b50: 2c 20 20 33 36 2c 0a 20 20 20 20 20 20 34 32 2c  ,  36,.      42,
0b60: 20 20 35 31 2c 20 20 35 32 2c 20 20 35 37 2c 20    51,  52,  57, 
0b70: 20 36 31 2c 20 20 36 35 2c 20 20 36 37 2c 20 20   61,  65,  67,  
0b80: 37 31 2c 20 20 37 34 2c 20 20 37 38 2c 20 20 38  71,  74,  78,  8
0b90: 36 2c 20 20 39 31 2c 20 20 39 34 2c 0a 20 20 20  6,  91,  94,.   
0ba0: 20 20 20 39 39 2c 20 31 30 35 2c 20 31 30 38 2c     99, 105, 108,
0bb0: 20 31 31 33 2c 20 31 31 38 2c 20 31 32 32 2c 20   113, 118, 122, 
0bc0: 31 32 38 2c 20 31 33 36 2c 20 31 34 31 2c 20 31  128, 136, 141, 1
0bd0: 35 30 2c 20 31 35 32 2c 20 31 36 32 2c 20 31 36  50, 152, 162, 16
0be0: 37 2c 0a 20 20 20 20 20 31 37 32 2c 20 31 37 35  7,.     172, 175
0bf0: 2c 20 31 37 37 2c 20 31 37 37 2c 20 31 38 31 2c  , 177, 177, 181,
0c00: 20 31 38 35 2c 20 31 38 37 2c 20 31 39 32 2c 20   185, 187, 192, 
0c10: 31 39 34 2c 20 31 39 36 2c 20 32 30 35 2c 20 32  194, 196, 205, 2
0c20: 30 38 2c 20 32 31 32 2c 0a 20 20 20 20 20 32 31  08, 212,.     21
0c30: 38 2c 20 32 32 34 2c 20 32 32 34 2c 20 32 32 37  8, 224, 224, 227
0c40: 2c 20 32 33 30 2c 20 32 33 34 2c 20 32 33 36 2c  , 230, 234, 236,
0c50: 20 32 33 37 2c 20 32 34 31 2c 20 32 34 38 2c 20   237, 241, 248, 
0c60: 32 35 34 2c 20 32 35 38 2c 20 32 36 32 2c 0a 20  254, 258, 262,. 
0c70: 20 20 20 20 32 36 39 2c 20 32 37 35 2c 20 32 38      269, 275, 28
0c80: 31 2c 20 32 38 39 2c 20 32 39 36 2c 20 33 30 35  1, 289, 296, 305
0c90: 2c 20 33 31 31 2c 20 33 31 36 2c 20 33 32 38 2c  , 311, 316, 328,
0ca0: 20 33 32 38 2c 20 33 34 34 2c 20 33 34 38 2c 20   328, 344, 348, 
0cb0: 33 35 32 2c 0a 20 20 20 20 20 33 35 38 2c 20 33  352,.     358, 3
0cc0: 35 39 2c 20 33 36 36 2c 20 33 36 39 2c 20 33 37  59, 366, 369, 37
0cd0: 33 2c 20 33 37 38 2c 20 33 38 31 2c 20 33 38 36  3, 378, 381, 386
0ce0: 2c 20 33 39 30 2c 20 33 39 34 2c 20 33 39 37 2c  , 390, 394, 397,
0cf0: 20 34 30 33 2c 20 34 30 35 2c 0a 20 20 20 20 20   403, 405,.     
0d00: 34 31 34 2c 20 34 32 30 2c 20 34 32 37 2c 20 34  414, 420, 427, 4
0d10: 33 30 2c 20 34 33 30 2c 20 34 33 33 2c 20 34 33  30, 430, 433, 43
0d20: 36 2c 20 34 34 32 2c 20 34 34 36 2c 20 34 35 30  6, 442, 446, 450
0d30: 2c 20 34 35 37 2c 20 34 36 31 2c 20 34 36 39 2c  , 457, 461, 469,
0d40: 0a 20 20 20 20 20 34 37 36 2c 20 34 38 31 2c 20  .     476, 481, 
0d50: 34 38 36 2c 20 34 39 34 2c 20 34 39 36 2c 20 35  486, 494, 496, 5
0d60: 30 30 2c 20 35 30 35 2c 20 35 31 31 2c 20 35 31  00, 505, 511, 51
0d70: 36 2c 20 35 32 32 2c 20 35 32 38 2c 20 35 33 31  6, 522, 528, 531
0d80: 2c 0a 20 20 7d 3b 0a 20 20 73 74 61 74 69 63 20  ,.  };.  static 
0d90: 63 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 63  const unsigned c
0da0: 68 61 72 20 61 43 6f 64 65 5b 31 31 36 5d 20 3d  har aCode[116] =
0db0: 20 7b 0a 20 20 20 20 54 4b 5f 41 42 4f 52 54 2c   {.    TK_ABORT,
0dc0: 20 20 20 20 20 20 54 4b 5f 54 41 42 4c 45 2c 20        TK_TABLE, 
0dd0: 20 20 20 20 20 54 4b 5f 4a 4f 49 4e 5f 4b 57 2c       TK_JOIN_KW,
0de0: 20 20 20 20 54 4b 5f 54 45 4d 50 2c 20 20 20 20      TK_TEMP,    
0df0: 20 20 20 54 4b 5f 54 45 4d 50 2c 20 20 20 20 20     TK_TEMP,     
0e00: 20 20 0a 20 20 20 20 54 4b 5f 4f 52 2c 20 20 20    .    TK_OR,   
0e10: 20 20 20 20 20 20 54 4b 5f 41 44 44 2c 20 20 20        TK_ADD,   
0e20: 20 20 20 20 20 54 4b 5f 44 41 54 41 42 41 53 45       TK_DATABASE
0e30: 2c 20 20 20 54 4b 5f 41 53 2c 20 20 20 20 20 20  ,   TK_AS,      
0e40: 20 20 20 54 4b 5f 53 45 4c 45 43 54 2c 20 20 20     TK_SELECT,   
0e50: 20 20 0a 20 20 20 20 54 4b 5f 54 48 45 4e 2c 20    .    TK_THEN, 
0e60: 20 20 20 20 20 20 54 4b 5f 45 4e 44 2c 20 20 20        TK_END,   
0e70: 20 20 20 20 20 54 4b 5f 44 45 46 41 55 4c 54 2c       TK_DEFAULT,
0e80: 20 20 20 20 54 4b 5f 54 52 41 4e 53 41 43 54 49      TK_TRANSACTI
0e90: 4f 4e 2c 54 4b 5f 4f 4e 2c 20 20 20 20 20 20 20  ON,TK_ON,       
0ea0: 20 20 0a 20 20 20 20 54 4b 5f 4a 4f 49 4e 5f 4b    .    TK_JOIN_K
0eb0: 57 2c 20 20 20 20 54 4b 5f 41 4c 54 45 52 2c 20  W,    TK_ALTER, 
0ec0: 20 20 20 20 20 54 4b 5f 52 41 49 53 45 2c 20 20       TK_RAISE,  
0ed0: 20 20 20 20 54 4b 5f 45 41 43 48 2c 20 20 20 20      TK_EACH,    
0ee0: 20 20 20 54 4b 5f 43 48 45 43 4b 2c 20 20 20 20     TK_CHECK,    
0ef0: 20 20 0a 20 20 20 20 54 4b 5f 4b 45 59 2c 20 20    .    TK_KEY,  
0f00: 20 20 20 20 20 20 54 4b 5f 41 46 54 45 52 2c 20        TK_AFTER, 
0f10: 20 20 20 20 20 54 4b 5f 52 45 46 45 52 45 4e 43       TK_REFERENC
0f20: 45 53 2c 20 54 4b 5f 45 53 43 41 50 45 2c 20 20  ES, TK_ESCAPE,  
0f30: 20 20 20 54 4b 5f 45 4c 53 45 2c 20 20 20 20 20     TK_ELSE,     
0f40: 20 20 0a 20 20 20 20 54 4b 5f 45 58 43 45 50 54    .    TK_EXCEPT
0f50: 2c 20 20 20 20 20 54 4b 5f 54 52 49 47 47 45 52  ,     TK_TRIGGER
0f60: 2c 20 20 20 20 54 4b 5f 4c 49 4b 45 5f 4b 57 2c  ,    TK_LIKE_KW,
0f70: 20 20 20 20 54 4b 5f 45 58 50 4c 41 49 4e 2c 20      TK_EXPLAIN, 
0f80: 20 20 20 54 4b 5f 49 4e 49 54 49 41 4c 4c 59 2c     TK_INITIALLY,
0f90: 20 20 0a 20 20 20 20 54 4b 5f 41 4c 4c 2c 20 20    .    TK_ALL,  
0fa0: 20 20 20 20 20 20 54 4b 5f 41 4e 41 4c 59 5a 45        TK_ANALYZE
0fb0: 2c 20 20 20 20 54 4b 5f 45 58 43 4c 55 53 49 56  ,    TK_EXCLUSIV
0fc0: 45 2c 20 20 54 4b 5f 45 58 49 53 54 53 2c 20 20  E,  TK_EXISTS,  
0fd0: 20 20 20 54 4b 5f 53 54 41 54 45 4d 45 4e 54 2c     TK_STATEMENT,
0fe0: 20 20 0a 20 20 20 20 54 4b 5f 41 4e 44 2c 20 20    .    TK_AND,  
0ff0: 20 20 20 20 20 20 54 4b 5f 44 45 46 45 52 52 41        TK_DEFERRA
1000: 42 4c 45 2c 20 54 4b 5f 41 54 54 41 43 48 2c 20  BLE, TK_ATTACH, 
1010: 20 20 20 20 54 4b 5f 48 41 56 49 4e 47 2c 20 20      TK_HAVING,  
1020: 20 20 20 54 4b 5f 4c 49 4b 45 5f 4b 57 2c 20 20     TK_LIKE_KW,  
1030: 20 20 0a 20 20 20 20 54 4b 5f 42 45 46 4f 52 45    .    TK_BEFORE
1040: 2c 20 20 20 20 20 54 4b 5f 46 4f 52 2c 20 20 20  ,     TK_FOR,   
1050: 20 20 20 20 20 54 4b 5f 46 4f 52 45 49 47 4e 2c       TK_FOREIGN,
1060: 20 20 20 20 54 4b 5f 49 47 4e 4f 52 45 2c 20 20      TK_IGNORE,  
1070: 20 20 20 54 4b 5f 52 45 49 4e 44 45 58 2c 20 20     TK_REINDEX,  
1080: 20 20 0a 20 20 20 20 54 4b 5f 49 4e 44 45 58 2c    .    TK_INDEX,
1090: 20 20 20 20 20 20 54 4b 5f 41 55 54 4f 49 4e 43        TK_AUTOINC
10a0: 52 2c 20 20 20 54 4b 5f 54 4f 2c 20 20 20 20 20  R,   TK_TO,     
10b0: 20 20 20 20 54 4b 5f 49 4e 2c 20 20 20 20 20 20      TK_IN,      
10c0: 20 20 20 54 4b 5f 42 45 47 49 4e 2c 20 20 20 20     TK_BEGIN,    
10d0: 20 20 0a 20 20 20 20 54 4b 5f 4a 4f 49 4e 5f 4b    .    TK_JOIN_K
10e0: 57 2c 20 20 20 20 54 4b 5f 52 45 4e 41 4d 45 2c  W,    TK_RENAME,
10f0: 20 20 20 20 20 54 4b 5f 42 45 54 57 45 45 4e 2c       TK_BETWEEN,
1100: 20 20 20 20 54 4b 5f 4e 4f 54 2c 20 20 20 20 20      TK_NOT,     
1110: 20 20 20 54 4b 5f 4e 4f 54 4e 55 4c 4c 2c 20 20     TK_NOTNULL,  
1120: 20 20 0a 20 20 20 20 54 4b 5f 4e 55 4c 4c 2c 20    .    TK_NULL, 
1130: 20 20 20 20 20 20 54 4b 5f 4c 49 4b 45 5f 4b 57        TK_LIKE_KW
1140: 2c 20 20 20 20 54 4b 5f 42 59 2c 20 20 20 20 20  ,    TK_BY,     
1150: 20 20 20 20 54 4b 5f 43 41 53 43 41 44 45 2c 20      TK_CASCADE, 
1160: 20 20 20 54 4b 5f 41 53 43 2c 20 20 20 20 20 20     TK_ASC,      
1170: 20 20 0a 20 20 20 20 54 4b 5f 44 45 46 45 52 52    .    TK_DEFERR
1180: 45 44 2c 20 20 20 54 4b 5f 44 45 4c 45 54 45 2c  ED,   TK_DELETE,
1190: 20 20 20 20 20 54 4b 5f 43 41 53 45 2c 20 20 20       TK_CASE,   
11a0: 20 20 20 20 54 4b 5f 43 41 53 54 2c 20 20 20 20      TK_CAST,    
11b0: 20 20 20 54 4b 5f 43 4f 4c 4c 41 54 45 2c 20 20     TK_COLLATE,  
11c0: 20 20 0a 20 20 20 20 54 4b 5f 43 4f 4c 55 4d 4e    .    TK_COLUMN
11d0: 4b 57 2c 20 20 20 54 4b 5f 43 4f 4d 4d 49 54 2c  KW,   TK_COMMIT,
11e0: 20 20 20 20 20 54 4b 5f 43 4f 4e 46 4c 49 43 54       TK_CONFLICT
11f0: 2c 20 20 20 54 4b 5f 43 4f 4e 53 54 52 41 49 4e  ,   TK_CONSTRAIN
1200: 54 2c 20 54 4b 5f 49 4e 54 45 52 53 45 43 54 2c  T, TK_INTERSECT,
1210: 20 20 0a 20 20 20 20 54 4b 5f 43 52 45 41 54 45    .    TK_CREATE
1220: 2c 20 20 20 20 20 54 4b 5f 4a 4f 49 4e 5f 4b 57  ,     TK_JOIN_KW
1230: 2c 20 20 20 20 54 4b 5f 43 54 49 4d 45 5f 4b 57  ,    TK_CTIME_KW
1240: 2c 20 20 20 54 4b 5f 43 54 49 4d 45 5f 4b 57 2c  ,   TK_CTIME_KW,
1250: 20 20 20 54 4b 5f 43 54 49 4d 45 5f 4b 57 2c 20     TK_CTIME_KW, 
1260: 20 20 0a 20 20 20 20 54 4b 5f 50 4c 41 4e 2c 20    .    TK_PLAN, 
1270: 20 20 20 20 20 20 54 4b 5f 44 45 53 43 2c 20 20        TK_DESC,  
1280: 20 20 20 20 20 54 4b 5f 44 45 54 41 43 48 2c 20       TK_DETACH, 
1290: 20 20 20 20 54 4b 5f 44 49 53 54 49 4e 43 54 2c      TK_DISTINCT,
12a0: 20 20 20 54 4b 5f 49 53 2c 20 20 20 20 20 20 20     TK_IS,       
12b0: 20 20 0a 20 20 20 20 54 4b 5f 44 52 4f 50 2c 20    .    TK_DROP, 
12c0: 20 20 20 20 20 20 54 4b 5f 50 52 41 47 4d 41 2c        TK_PRAGMA,
12d0: 20 20 20 20 20 54 4b 5f 4d 41 54 43 48 2c 20 20       TK_MATCH,  
12e0: 20 20 20 20 54 4b 5f 46 41 49 4c 2c 20 20 20 20      TK_FAIL,    
12f0: 20 20 20 54 4b 5f 4c 49 4d 49 54 2c 20 20 20 20     TK_LIMIT,    
1300: 20 20 0a 20 20 20 20 54 4b 5f 46 52 4f 4d 2c 20    .    TK_FROM, 
1310: 20 20 20 20 20 20 54 4b 5f 4a 4f 49 4e 5f 4b 57        TK_JOIN_KW
1320: 2c 20 20 20 20 54 4b 5f 47 52 4f 55 50 2c 20 20  ,    TK_GROUP,  
1330: 20 20 20 20 54 4b 5f 55 50 44 41 54 45 2c 20 20      TK_UPDATE,  
1340: 20 20 20 54 4b 5f 49 46 2c 20 20 20 20 20 20 20     TK_IF,       
1350: 20 20 0a 20 20 20 20 54 4b 5f 49 4d 4d 45 44 49    .    TK_IMMEDI
1360: 41 54 45 2c 20 20 54 4b 5f 49 4e 53 45 52 54 2c  ATE,  TK_INSERT,
1370: 20 20 20 20 20 54 4b 5f 49 4e 53 54 45 41 44 2c       TK_INSTEAD,
1380: 20 20 20 20 54 4b 5f 49 4e 54 4f 2c 20 20 20 20      TK_INTO,    
1390: 20 20 20 54 4b 5f 4f 46 2c 20 20 20 20 20 20 20     TK_OF,       
13a0: 20 20 0a 20 20 20 20 54 4b 5f 4f 46 46 53 45 54    .    TK_OFFSET
13b0: 2c 20 20 20 20 20 54 4b 5f 53 45 54 2c 20 20 20  ,     TK_SET,   
13c0: 20 20 20 20 20 54 4b 5f 49 53 4e 55 4c 4c 2c 20       TK_ISNULL, 
13d0: 20 20 20 20 54 4b 5f 4a 4f 49 4e 2c 20 20 20 20      TK_JOIN,    
13e0: 20 20 20 54 4b 5f 4f 52 44 45 52 2c 20 20 20 20     TK_ORDER,    
13f0: 20 20 0a 20 20 20 20 54 4b 5f 52 45 50 4c 41 43    .    TK_REPLAC
1400: 45 2c 20 20 20 20 54 4b 5f 4a 4f 49 4e 5f 4b 57  E,    TK_JOIN_KW
1410: 2c 20 20 20 20 54 4b 5f 52 45 53 54 52 49 43 54  ,    TK_RESTRICT
1420: 2c 20 20 20 54 4b 5f 50 52 49 4d 41 52 59 2c 20  ,   TK_PRIMARY, 
1430: 20 20 20 54 4b 5f 51 55 45 52 59 2c 20 20 20 20     TK_QUERY,    
1440: 20 20 0a 20 20 20 20 54 4b 5f 4a 4f 49 4e 5f 4b    .    TK_JOIN_K
1450: 57 2c 20 20 20 20 54 4b 5f 52 4f 4c 4c 42 41 43  W,    TK_ROLLBAC
1460: 4b 2c 20 20 20 54 4b 5f 52 4f 57 2c 20 20 20 20  K,   TK_ROW,    
1470: 20 20 20 20 54 4b 5f 57 48 45 4e 2c 20 20 20 20      TK_WHEN,    
1480: 20 20 20 54 4b 5f 55 4e 49 4f 4e 2c 20 20 20 20     TK_UNION,    
1490: 20 20 0a 20 20 20 20 54 4b 5f 55 4e 49 51 55 45    .    TK_UNIQUE
14a0: 2c 20 20 20 20 20 54 4b 5f 55 53 49 4e 47 2c 20  ,     TK_USING, 
14b0: 20 20 20 20 20 54 4b 5f 56 41 43 55 55 4d 2c 20       TK_VACUUM, 
14c0: 20 20 20 20 54 4b 5f 56 41 4c 55 45 53 2c 20 20      TK_VALUES,  
14d0: 20 20 20 54 4b 5f 56 49 45 57 2c 20 20 20 20 20     TK_VIEW,     
14e0: 20 20 0a 20 20 20 20 54 4b 5f 57 48 45 52 45 2c    .    TK_WHERE,
14f0: 20 20 20 20 20 20 0a 20 20 7d 3b 0a 20 20 69 6e        .  };.  in
1500: 74 20 68 2c 20 69 3b 0a 20 20 69 66 28 20 6e 3c  t h, i;.  if( n<
1510: 32 20 29 20 72 65 74 75 72 6e 20 54 4b 5f 49 44  2 ) return TK_ID
1520: 3b 0a 20 20 68 20 3d 20 28 28 73 71 6c 69 74 65  ;.  h = ((sqlite
1530: 33 55 70 70 65 72 54 6f 4c 6f 77 65 72 5b 28 28  3UpperToLower[((
1540: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 2a 29 7a  unsigned char*)z
1550: 29 5b 30 5d 5d 2a 34 29 20 5e 0a 20 20 20 20 20  )[0]]*4) ^.     
1560: 20 28 73 71 6c 69 74 65 33 55 70 70 65 72 54 6f   (sqlite3UpperTo
1570: 4c 6f 77 65 72 5b 28 28 75 6e 73 69 67 6e 65 64  Lower[((unsigned
1580: 20 63 68 61 72 2a 29 7a 29 5b 6e 2d 31 5d 5d 2a   char*)z)[n-1]]*
1590: 33 29 20 5e 0a 20 20 20 20 20 20 6e 29 20 25 20  3) ^.      n) % 
15a0: 31 32 37 3b 0a 20 20 66 6f 72 28 69 3d 28 28 69  127;.  for(i=((i
15b0: 6e 74 29 61 48 61 73 68 5b 68 5d 29 2d 31 3b 20  nt)aHash[h])-1; 
15c0: 69 3e 3d 30 3b 20 69 3d 28 28 69 6e 74 29 61 4e  i>=0; i=((int)aN
15d0: 65 78 74 5b 69 5d 29 2d 31 29 7b 0a 20 20 20 20  ext[i])-1){.    
15e0: 69 66 28 20 61 4c 65 6e 5b 69 5d 3d 3d 6e 20 26  if( aLen[i]==n &
15f0: 26 20 73 71 6c 69 74 65 33 53 74 72 4e 49 43 6d  & sqlite3StrNICm
1600: 70 28 26 7a 54 65 78 74 5b 61 4f 66 66 73 65 74  p(&zText[aOffset
1610: 5b 69 5d 5d 2c 7a 2c 6e 29 3d 3d 30 20 29 7b 0a  [i]],z,n)==0 ){.
1620: 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 43 6f        return aCo
1630: 64 65 5b 69 5d 3b 0a 20 20 20 20 7d 0a 20 20 7d  de[i];.    }.  }
1640: 0a 20 20 72 65 74 75 72 6e 20 54 4b 5f 49 44 3b  .  return TK_ID;
1650: 0a 7d 0a 69 6e 74 20 73 71 6c 69 74 65 33 4b 65  .}.int sqlite3Ke
1660: 79 77 6f 72 64 43 6f 64 65 28 63 6f 6e 73 74 20  ywordCode(const 
1670: 75 6e 73 69 67 6e 65 64 20 63 68 61 72 20 2a 7a  unsigned char *z
1680: 2c 20 69 6e 74 20 6e 29 7b 0a 20 20 72 65 74 75  , int n){.  retu
1690: 72 6e 20 6b 65 79 77 6f 72 64 43 6f 64 65 28 28  rn keywordCode((
16a0: 63 68 61 72 2a 29 7a 2c 20 6e 29 3b 0a 7d 0a     char*)z, n);.}.