System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 3b73dc05bec841929981639bafcd60c2b802e055:


0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 2a 20 41 44  *********.. * AD
0040: 4f 2e 4e 45 54 20 32 2e 30 20 44 61 74 61 20 50  O.NET 2.0 Data P
0050: 72 6f 76 69 64 65 72 20 66 6f 72 20 53 51 4c 69  rovider for SQLi
0060: 74 65 20 56 65 72 73 69 6f 6e 20 33 2e 58 0d 0a  te Version 3.X..
0070: 20 2a 20 57 72 69 74 74 65 6e 20 62 79 20 52 6f   * Written by Ro
0080: 62 65 72 74 20 53 69 6d 70 73 6f 6e 20 28 72 6f  bert Simpson (ro
0090: 62 65 72 74 40 62 6c 61 63 6b 63 61 73 74 6c 65  bert@blackcastle
00a0: 73 6f 66 74 2e 63 6f 6d 29 0d 0a 20 2a 0d 0a 20  soft.com).. *.. 
00b0: 2a 20 52 65 6c 65 61 73 65 64 20 74 6f 20 74 68  * Released to th
00c0: 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2c  e public domain,
00d0: 20 75 73 65 20 61 74 20 79 6f 75 72 20 6f 77 6e   use at your own
00e0: 20 72 69 73 6b 21 0d 0a 20 2a 2a 2a 2a 2a 2a 2a   risk!.. *******
00f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0100: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0110: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0120: 2a 2f 0d 0a 0d 0a 75 73 69 6e 67 20 53 79 73 74  */....using Syst
0130: 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73 2e 47  em.Collections.G
0140: 65 6e 65 72 69 63 3b 0d 0a 0d 0a 6e 61 6d 65 73  eneric;....names
0150: 70 61 63 65 20 53 79 73 74 65 6d 2e 44 61 74 61  pace System.Data
0160: 2e 53 51 4c 69 74 65 0d 0a 7b 0d 0a 20 20 20 20  .SQLite..{..    
0170: 69 6e 74 65 72 6e 61 6c 20 73 74 61 74 69 63 20  internal static 
0180: 63 6c 61 73 73 20 53 51 4c 69 74 65 44 65 66 69  class SQLiteDefi
0190: 6e 65 43 6f 6e 73 74 61 6e 74 73 0d 0a 20 20 20  neConstants..   
01a0: 20 7b 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c   {..        publ
01b0: 69 63 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e  ic static readon
01c0: 6c 79 20 49 4c 69 73 74 3c 73 74 72 69 6e 67 3e  ly IList<string>
01d0: 20 4f 70 74 69 6f 6e 4c 69 73 74 20 3d 20 6e 65   OptionList = ne
01e0: 77 20 4c 69 73 74 3c 73 74 72 69 6e 67 3e 28 6e  w List<string>(n
01f0: 65 77 20 73 74 72 69 6e 67 5b 5d 20 7b 0d 0a 23  ew string[] {..#
0200: 69 66 20 43 48 45 43 4b 5f 53 54 41 54 45 0d 0a  if CHECK_STATE..
0210: 20 20 20 20 20 20 20 20 20 20 20 20 22 43 48 45              "CHE
0220: 43 4b 5f 53 54 41 54 45 22 2c 0d 0a 23 65 6e 64  CK_STATE",..#end
0230: 69 66 0d 0a 0d 0a 23 69 66 20 43 4f 55 4e 54 5f  if....#if COUNT_
0240: 48 41 4e 44 4c 45 0d 0a 20 20 20 20 20 20 20 20  HANDLE..        
0250: 20 20 20 20 22 43 4f 55 4e 54 5f 48 41 4e 44 4c      "COUNT_HANDL
0260: 45 22 2c 0d 0a 23 65 6e 64 69 66 0d 0a 0d 0a 23  E",..#endif....#
0270: 69 66 20 44 45 42 55 47 0d 0a 20 20 20 20 20 20  if DEBUG..      
0280: 20 20 20 20 20 20 22 44 45 42 55 47 22 2c 0d 0a        "DEBUG",..
0290: 23 65 6e 64 69 66 0d 0a 0d 0a 23 69 66 20 49 4e  #endif....#if IN
02a0: 54 45 52 4f 50 5f 43 4f 44 45 43 0d 0a 20 20 20  TEROP_CODEC..   
02b0: 20 20 20 20 20 20 20 20 20 22 49 4e 54 45 52 4f           "INTERO
02c0: 50 5f 43 4f 44 45 43 22 2c 0d 0a 23 65 6e 64 69  P_CODEC",..#endi
02d0: 66 0d 0a 0d 0a 23 69 66 20 49 4e 54 45 52 4f 50  f....#if INTEROP
02e0: 5f 44 45 42 55 47 0d 0a 20 20 20 20 20 20 20 20  _DEBUG..        
02f0: 20 20 20 20 22 49 4e 54 45 52 4f 50 5f 44 45 42      "INTEROP_DEB
0300: 55 47 22 2c 0d 0a 23 65 6e 64 69 66 0d 0a 0d 0a  UG",..#endif....
0310: 23 69 66 20 49 4e 54 45 52 4f 50 5f 45 58 54 45  #if INTEROP_EXTE
0320: 4e 53 49 4f 4e 5f 46 55 4e 43 54 49 4f 4e 53 0d  NSION_FUNCTIONS.
0330: 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 49 4e  .            "IN
0340: 54 45 52 4f 50 5f 45 58 54 45 4e 53 49 4f 4e 5f  TEROP_EXTENSION_
0350: 46 55 4e 43 54 49 4f 4e 53 22 2c 0d 0a 23 65 6e  FUNCTIONS",..#en
0360: 64 69 66 0d 0a 0d 0a 23 69 66 20 49 4e 54 45 52  dif....#if INTER
0370: 4f 50 5f 4c 45 47 41 43 59 5f 43 4c 4f 53 45 0d  OP_LEGACY_CLOSE.
0380: 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 49 4e  .            "IN
0390: 54 45 52 4f 50 5f 4c 45 47 41 43 59 5f 43 4c 4f  TEROP_LEGACY_CLO
03a0: 53 45 22 2c 0d 0a 23 65 6e 64 69 66 0d 0a 0d 0a  SE",..#endif....
03b0: 23 69 66 20 49 4e 54 45 52 4f 50 5f 4c 4f 47 0d  #if INTEROP_LOG.
03c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 49 4e  .            "IN
03d0: 54 45 52 4f 50 5f 4c 4f 47 22 2c 0d 0a 23 65 6e  TEROP_LOG",..#en
03e0: 64 69 66 0d 0a 0d 0a 23 69 66 20 49 4e 54 45 52  dif....#if INTER
03f0: 4f 50 5f 54 45 53 54 5f 45 58 54 45 4e 53 49 4f  OP_TEST_EXTENSIO
0400: 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 22  N..            "
0410: 49 4e 54 45 52 4f 50 5f 54 45 53 54 5f 45 58 54  INTEROP_TEST_EXT
0420: 45 4e 53 49 4f 4e 22 2c 0d 0a 23 65 6e 64 69 66  ENSION",..#endif
0430: 0d 0a 0d 0a 23 69 66 20 4e 45 54 5f 32 30 0d 0a  ....#if NET_20..
0440: 20 20 20 20 20 20 20 20 20 20 20 20 22 4e 45 54              "NET
0450: 5f 32 30 22 2c 0d 0a 23 65 6e 64 69 66 0d 0a 0d  _20",..#endif...
0460: 0a 23 69 66 20 4e 45 54 5f 33 35 0d 0a 20 20 20  .#if NET_35..   
0470: 20 20 20 20 20 20 20 20 20 22 4e 45 54 5f 33 35           "NET_35
0480: 22 2c 0d 0a 23 65 6e 64 69 66 0d 0a 0d 0a 23 69  ",..#endif....#i
0490: 66 20 4e 45 54 5f 34 30 0d 0a 20 20 20 20 20 20  f NET_40..      
04a0: 20 20 20 20 20 20 22 4e 45 54 5f 34 30 22 2c 0d        "NET_40",.
04b0: 0a 23 65 6e 64 69 66 0d 0a 0d 0a 23 69 66 20 4e  .#endif....#if N
04c0: 45 54 5f 34 35 0d 0a 20 20 20 20 20 20 20 20 20  ET_45..         
04d0: 20 20 20 22 4e 45 54 5f 34 35 22 2c 0d 0a 23 65     "NET_45",..#e
04e0: 6e 64 69 66 0d 0a 0d 0a 23 69 66 20 4e 45 54 5f  ndif....#if NET_
04f0: 43 4f 4d 50 41 43 54 5f 32 30 0d 0a 20 20 20 20  COMPACT_20..    
0500: 20 20 20 20 20 20 20 20 22 4e 45 54 5f 43 4f 4d          "NET_COM
0510: 50 41 43 54 5f 32 30 22 2c 0d 0a 23 65 6e 64 69  PACT_20",..#endi
0520: 66 0d 0a 0d 0a 23 69 66 20 50 4c 41 54 46 4f 52  f....#if PLATFOR
0530: 4d 5f 43 4f 4d 50 41 43 54 46 52 41 4d 45 57 4f  M_COMPACTFRAMEWO
0540: 52 4b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  RK..            
0550: 22 50 4c 41 54 46 4f 52 4d 5f 43 4f 4d 50 41 43  "PLATFORM_COMPAC
0560: 54 46 52 41 4d 45 57 4f 52 4b 22 2c 0d 0a 23 65  TFRAMEWORK",..#e
0570: 6e 64 69 66 0d 0a 0d 0a 23 69 66 20 50 52 45 4c  ndif....#if PREL
0580: 4f 41 44 5f 4e 41 54 49 56 45 5f 4c 49 42 52 41  OAD_NATIVE_LIBRA
0590: 52 59 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  RY..            
05a0: 22 50 52 45 4c 4f 41 44 5f 4e 41 54 49 56 45 5f  "PRELOAD_NATIVE_
05b0: 4c 49 42 52 41 52 59 22 2c 0d 0a 23 65 6e 64 69  LIBRARY",..#endi
05c0: 66 0d 0a 0d 0a 23 69 66 20 52 45 54 41 52 47 45  f....#if RETARGE
05d0: 54 41 42 4c 45 0d 0a 20 20 20 20 20 20 20 20 20  TABLE..         
05e0: 20 20 20 22 52 45 54 41 52 47 45 54 41 42 4c 45     "RETARGETABLE
05f0: 22 2c 0d 0a 23 65 6e 64 69 66 0d 0a 0d 0a 23 69  ",..#endif....#i
0600: 66 20 53 51 4c 49 54 45 5f 53 54 41 4e 44 41 52  f SQLITE_STANDAR
0610: 44 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 22  D..            "
0620: 53 51 4c 49 54 45 5f 53 54 41 4e 44 41 52 44 22  SQLITE_STANDARD"
0630: 2c 0d 0a 23 65 6e 64 69 66 0d 0a 0d 0a 23 69 66  ,..#endif....#if
0640: 20 54 48 52 4f 57 5f 4f 4e 5f 44 49 53 50 4f 53   THROW_ON_DISPOS
0650: 45 44 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  ED..            
0660: 22 54 48 52 4f 57 5f 4f 4e 5f 44 49 53 50 4f 53  "THROW_ON_DISPOS
0670: 45 44 22 2c 0d 0a 23 65 6e 64 69 66 0d 0a 0d 0a  ED",..#endif....
0680: 23 69 66 20 54 52 41 43 45 0d 0a 20 20 20 20 20  #if TRACE..     
0690: 20 20 20 20 20 20 20 22 54 52 41 43 45 22 2c 0d         "TRACE",.
06a0: 0a 23 65 6e 64 69 66 0d 0a 0d 0a 23 69 66 20 54  .#endif....#if T
06b0: 52 41 43 45 5f 43 4f 4e 4e 45 43 54 49 4f 4e 0d  RACE_CONNECTION.
06c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 54 52  .            "TR
06d0: 41 43 45 5f 43 4f 4e 4e 45 43 54 49 4f 4e 22 2c  ACE_CONNECTION",
06e0: 0d 0a 23 65 6e 64 69 66 0d 0a 0d 0a 23 69 66 20  ..#endif....#if 
06f0: 54 52 41 43 45 5f 48 41 4e 44 4c 45 0d 0a 20 20  TRACE_HANDLE..  
0700: 20 20 20 20 20 20 20 20 20 20 22 54 52 41 43 45            "TRACE
0710: 5f 48 41 4e 44 4c 45 22 2c 0d 0a 23 65 6e 64 69  _HANDLE",..#endi
0720: 66 0d 0a 0d 0a 23 69 66 20 54 52 41 43 45 5f 50  f....#if TRACE_P
0730: 52 45 4c 4f 41 44 0d 0a 20 20 20 20 20 20 20 20  RELOAD..        
0740: 20 20 20 20 22 54 52 41 43 45 5f 50 52 45 4c 4f      "TRACE_PRELO
0750: 41 44 22 2c 0d 0a 23 65 6e 64 69 66 0d 0a 0d 0a  AD",..#endif....
0760: 23 69 66 20 54 52 41 43 45 5f 53 54 41 54 45 4d  #if TRACE_STATEM
0770: 45 4e 54 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ENT..           
0780: 20 22 54 52 41 43 45 5f 53 54 41 54 45 4d 45 4e   "TRACE_STATEMEN
0790: 54 22 2c 0d 0a 23 65 6e 64 69 66 0d 0a 0d 0a 23  T",..#endif....#
07a0: 69 66 20 54 52 41 43 45 5f 57 41 52 4e 49 4e 47  if TRACE_WARNING
07b0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 54  ..            "T
07c0: 52 41 43 45 5f 57 41 52 4e 49 4e 47 22 2c 0d 0a  RACE_WARNING",..
07d0: 23 65 6e 64 69 66 0d 0a 0d 0a 23 69 66 20 55 53  #endif....#if US
07e0: 45 5f 49 4e 54 45 52 4f 50 5f 44 4c 4c 0d 0a 20  E_INTEROP_DLL.. 
07f0: 20 20 20 20 20 20 20 20 20 20 20 22 55 53 45 5f             "USE_
0800: 49 4e 54 45 52 4f 50 5f 44 4c 4c 22 2c 0d 0a 23  INTEROP_DLL",..#
0810: 65 6e 64 69 66 0d 0a 0d 0a 20 20 20 20 20 20 20  endif....       
0820: 20 20 20 20 20 6e 75 6c 6c 0d 0a 20 20 20 20 20       null..     
0830: 20 20 20 7d 29 3b 0d 0a 20 20 20 20 7d 0d 0a 7d     });..    }..}
0840: 0d 0a                                            ..