System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact aeb620187f77db3ee25a9edb6573215fcdefaa50:


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 20 0d 0a  soft.com).. * ..
00b0: 20 2a 20 52 65 6c 65 61 73 65 64 20 74 6f 20 74   * Released to t
00c0: 68 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e  he public domain
00d0: 2c 20 75 73 65 20 61 74 20 79 6f 75 72 20 6f 77  , use at your ow
00e0: 6e 20 72 69 73 6b 21 0d 0a 20 2a 2a 2a 2a 2a 2a  n 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 2a 2f 0d 0a 0d 0a 75 73 69 6e 67 20 53 79 73  **/....using Sys
0130: 74 65 6d 2e 54 65 78 74 3b 0d 0a 0d 0a 23 69 66  tem.Text;....#if
0140: 20 4e 45 54 5f 34 30 20 7c 7c 20 4e 45 54 5f 34   NET_40 || NET_4
0150: 35 20 7c 7c 20 4e 45 54 5f 34 35 31 20 7c 7c 20  5 || NET_451 || 
0160: 4e 45 54 5f 34 35 32 20 7c 7c 20 4e 45 54 5f 34  NET_452 || NET_4
0170: 36 20 7c 7c 20 4e 45 54 5f 34 36 31 20 7c 7c 20  6 || NET_461 || 
0180: 4e 45 54 5f 34 36 32 20 7c 7c 20 4e 45 54 5f 34  NET_462 || NET_4
0190: 37 20 7c 7c 20 4e 45 54 5f 34 37 31 0d 0a 75 73  7 || NET_471..us
01a0: 69 6e 67 20 53 79 73 74 65 6d 2e 52 75 6e 74 69  ing System.Runti
01b0: 6d 65 3b 0d 0a 23 65 6e 64 69 66 0d 0a 0d 0a 23  me;..#endif....#
01c0: 69 66 20 55 53 45 5f 45 4e 54 49 54 59 5f 46 52  if USE_ENTITY_FR
01d0: 41 4d 45 57 4f 52 4b 5f 36 0d 0a 6e 61 6d 65 73  AMEWORK_6..names
01e0: 70 61 63 65 20 53 79 73 74 65 6d 2e 44 61 74 61  pace System.Data
01f0: 2e 53 51 4c 69 74 65 2e 45 46 36 0d 0a 23 65 6c  .SQLite.EF6..#el
0200: 73 65 0d 0a 6e 61 6d 65 73 70 61 63 65 20 53 79  se..namespace Sy
0210: 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65  stem.Data.SQLite
0220: 2e 4c 69 6e 71 0d 0a 23 65 6e 64 69 66 0d 0a 7b  .Linq..#endif..{
0230: 0d 0a 09 69 6e 74 65 72 6e 61 6c 20 61 62 73 74  ...internal abst
0240: 72 61 63 74 20 63 6c 61 73 73 20 49 6e 74 65 72  ract class Inter
0250: 6e 61 6c 42 61 73 65 0d 0a 09 7b 0d 0a 09 09 2f  nalBase...{..../
0260: 2f 20 4d 65 74 68 6f 64 73 0d 0a 23 69 66 20 4e  / Methods..#if N
0270: 45 54 5f 34 30 20 7c 7c 20 4e 45 54 5f 34 35 20  ET_40 || NET_45 
0280: 7c 7c 20 4e 45 54 5f 34 35 31 20 7c 7c 20 4e 45  || NET_451 || NE
0290: 54 5f 34 35 32 20 7c 7c 20 4e 45 54 5f 34 36 20  T_452 || NET_46 
02a0: 7c 7c 20 4e 45 54 5f 34 36 31 20 7c 7c 20 4e 45  || NET_461 || NE
02b0: 54 5f 34 36 32 20 7c 7c 20 4e 45 54 5f 34 37 20  T_462 || NET_47 
02c0: 7c 7c 20 4e 45 54 5f 34 37 31 0d 0a 09 09 5b 54  || NET_471....[T
02d0: 61 72 67 65 74 65 64 50 61 74 63 68 69 6e 67 4f  argetedPatchingO
02e0: 70 74 4f 75 74 28 22 50 65 72 66 6f 72 6d 61 6e  ptOut("Performan
02f0: 63 65 20 63 72 69 74 69 63 61 6c 20 74 6f 20 69  ce critical to i
0300: 6e 6c 69 6e 65 20 74 68 69 73 20 74 79 70 65 20  nline this type 
0310: 6f 66 20 6d 65 74 68 6f 64 20 61 63 72 6f 73 73  of method across
0320: 20 4e 47 65 6e 20 69 6d 61 67 65 20 62 6f 75 6e   NGen image boun
0330: 64 61 72 69 65 73 22 29 5d 0d 0a 23 65 6e 64 69  daries")]..#endi
0340: 66 0d 0a 09 09 70 72 6f 74 65 63 74 65 64 20 49  f....protected I
0350: 6e 74 65 72 6e 61 6c 42 61 73 65 28 29 0d 0a 09  nternalBase()...
0360: 09 7b 0d 0a 09 09 7d 0d 0a 0d 0a 09 09 69 6e 74  .{....}......int
0370: 65 72 6e 61 6c 20 61 62 73 74 72 61 63 74 20 76  ernal abstract v
0380: 6f 69 64 20 54 6f 43 6f 6d 70 61 63 74 53 74 72  oid ToCompactStr
0390: 69 6e 67 28 53 74 72 69 6e 67 42 75 69 6c 64 65  ing(StringBuilde
03a0: 72 20 62 75 69 6c 64 65 72 29 3b 0d 0a 09 09 69  r builder);....i
03b0: 6e 74 65 72 6e 61 6c 20 76 69 72 74 75 61 6c 20  nternal virtual 
03c0: 73 74 72 69 6e 67 20 54 6f 46 75 6c 6c 53 74 72  string ToFullStr
03d0: 69 6e 67 28 29 0d 0a 09 09 7b 0d 0a 09 09 09 53  ing()....{.....S
03e0: 74 72 69 6e 67 42 75 69 6c 64 65 72 20 62 75 69  tringBuilder bui
03f0: 6c 64 65 72 20 3d 20 6e 65 77 20 53 74 72 69 6e  lder = new Strin
0400: 67 42 75 69 6c 64 65 72 28 29 3b 0d 0a 09 09 09  gBuilder();.....
0410: 74 68 69 73 2e 54 6f 46 75 6c 6c 53 74 72 69 6e  this.ToFullStrin
0420: 67 28 62 75 69 6c 64 65 72 29 3b 0d 0a 09 09 09  g(builder);.....
0430: 72 65 74 75 72 6e 20 62 75 69 6c 64 65 72 2e 54  return builder.T
0440: 6f 53 74 72 69 6e 67 28 29 3b 0d 0a 09 09 7d 0d  oString();....}.
0450: 0a 0d 0a 23 69 66 20 4e 45 54 5f 34 30 20 7c 7c  ...#if NET_40 ||
0460: 20 4e 45 54 5f 34 35 20 7c 7c 20 4e 45 54 5f 34   NET_45 || NET_4
0470: 35 31 20 7c 7c 20 4e 45 54 5f 34 35 32 20 7c 7c  51 || NET_452 ||
0480: 20 4e 45 54 5f 34 36 20 7c 7c 20 4e 45 54 5f 34   NET_46 || NET_4
0490: 36 31 20 7c 7c 20 4e 45 54 5f 34 36 32 20 7c 7c  61 || NET_462 ||
04a0: 20 4e 45 54 5f 34 37 20 7c 7c 20 4e 45 54 5f 34   NET_47 || NET_4
04b0: 37 31 0d 0a 09 09 5b 54 61 72 67 65 74 65 64 50  71....[TargetedP
04c0: 61 74 63 68 69 6e 67 4f 70 74 4f 75 74 28 22 50  atchingOptOut("P
04d0: 65 72 66 6f 72 6d 61 6e 63 65 20 63 72 69 74 69  erformance criti
04e0: 63 61 6c 20 74 6f 20 69 6e 6c 69 6e 65 20 74 68  cal to inline th
04f0: 69 73 20 74 79 70 65 20 6f 66 20 6d 65 74 68 6f  is type of metho
0500: 64 20 61 63 72 6f 73 73 20 4e 47 65 6e 20 69 6d  d across NGen im
0510: 61 67 65 20 62 6f 75 6e 64 61 72 69 65 73 22 29  age boundaries")
0520: 5d 0d 0a 23 65 6e 64 69 66 0d 0a 09 09 69 6e 74  ]..#endif....int
0530: 65 72 6e 61 6c 20 76 69 72 74 75 61 6c 20 76 6f  ernal virtual vo
0540: 69 64 20 54 6f 46 75 6c 6c 53 74 72 69 6e 67 28  id ToFullString(
0550: 53 74 72 69 6e 67 42 75 69 6c 64 65 72 20 62 75  StringBuilder bu
0560: 69 6c 64 65 72 29 0d 0a 09 09 7b 0d 0a 09 09 09  ilder)....{.....
0570: 74 68 69 73 2e 54 6f 43 6f 6d 70 61 63 74 53 74  this.ToCompactSt
0580: 72 69 6e 67 28 62 75 69 6c 64 65 72 29 3b 0d 0a  ring(builder);..
0590: 09 09 7d 0d 0a 0d 0a 09 09 70 75 62 6c 69 63 20  ..}......public 
05a0: 6f 76 65 72 72 69 64 65 20 73 74 72 69 6e 67 20  override string 
05b0: 54 6f 53 74 72 69 6e 67 28 29 0d 0a 09 09 7b 0d  ToString()....{.
05c0: 0a 09 09 09 53 74 72 69 6e 67 42 75 69 6c 64 65  ....StringBuilde
05d0: 72 20 62 75 69 6c 64 65 72 20 3d 20 6e 65 77 20  r builder = new 
05e0: 53 74 72 69 6e 67 42 75 69 6c 64 65 72 28 29 3b  StringBuilder();
05f0: 0d 0a 09 09 09 74 68 69 73 2e 54 6f 43 6f 6d 70  .....this.ToComp
0600: 61 63 74 53 74 72 69 6e 67 28 62 75 69 6c 64 65  actString(builde
0610: 72 29 3b 0d 0a 09 09 09 72 65 74 75 72 6e 20 62  r);.....return b
0620: 75 69 6c 64 65 72 2e 54 6f 53 74 72 69 6e 67 28  uilder.ToString(
0630: 29 3b 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a 7d 0d 0a  );....}...}..}..