System.Data.SQLite
Check-in [8848fb5ed8]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:1.0.55.0
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | sourceforge
Files: files | file ages | folders
SHA1: 8848fb5ed8a4ad43bb7e8e74eb26f73f6013b02c
User & Date: rmsimpson 2008-08-06 21:49:08
Context
2008-08-08
05:42
1.0.56.0 beta check-in: 85ed84191d user: rmsimpson tags: sourceforge
2008-08-06
21:49
1.0.55.0 check-in: 8848fb5ed8 user: rmsimpson tags: sourceforge
21:48
3.6.1 debug sources check-in: add0673a62 user: rmsimpson tags: sourceforge
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to Doc/Extra/dbfactorysupport.html.

    93     93   <configuration>
    94     94     <system.data>
    95     95       <DbProviderFactories>
    96     96         <remove invariant="System.Data.SQLite"/>
    97     97         <add name="SQLite Data Provider" invariant="System.Data.SQLite" 
    98     98              description=".Net Framework Data Provider for SQLite"
    99     99              type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite,
   100         -                 Version=1.0.54.0, Culture=neutral,
          100  +                 Version=1.0.55.0, Culture=neutral,
   101    101                    PublicKeyToken=db937bc2d44ff139"/>
   102    102       </DbProviderFactories>
   103    103     </system.data>
   104    104   </configuration>
   105    105   </pre>
   106    106         </div>
   107    107         <p>

Changes to Doc/Extra/lang_expr.html.

     1      1   <html dir="LTR" xmlns="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:MSHelp="http://msdn.microsoft.com/mshelp" xmlns:tool="http://www.microsoft.com/tooltip" xmlns:ndoc="urn:ndoc-preprocess">
     2      2     <head>
     3      3       <meta http-equiv="Content-Type" content="text/html; charset=Windows-1252" />
     4      4       <title>expression</title>
     5      5       <link rel="stylesheet" type="text/css" href="ndoc.css"> </link>
     6      6       <link rel="stylesheet" type="text/css" href="user.css"> </link>
     7      7       <script type="text/javascript" src="ndoc.js"> </script>
            8  +    <style type="text/css">
            9  +      .style1
           10  +      {
           11  +        height: 70px;
           12  +      }
           13  +    </style>
     8     14     </head>
     9     15     <body style="display: none;">
    10     16       <input type="hidden" id="userDataCache" class="userDataStyle" />
    11     17       <input type="hidden" id="hiddenScrollOffset" />
    12     18       <img id="dropDownImage" style="display:none; height:0; width:0;" src="drpdown.gif" />
    13     19       <img id="dropDownHoverImage" style="display:none; height:0; width:0;" src="drpdown_orange.gif" />
    14     20       <img id="collapseImage" style="display:none; height:0; width:0;" src="collapse.gif" />
................................................................................
   355    361         <p>
   356    362           The core functions shown below are available by default. Additional functions may
   357    363           be written in C and added to the database engine using the <a href="capi3ref.html#cfunc">
   358    364             sqlite3_create_function()</a> API.</p>
   359    365         <p>
   360    366           <table border="0" cellpadding="10">
   361    367             <tr>
   362         -            <td align="right" valign="top" width="120">
          368  +            <td align="right" valign="top" width="1%" nowrap>
   363    369                 abs(<i>X</i>)</td>
   364    370               <td valign="top">
   365    371                 Return the absolute value of argument <i>X</i>.</td>
   366    372             </tr>
          373  +          <tr>
          374  +            <td align="right" width="1%" nowrap>
          375  +              acos(<i>X</i>)</td>
          376  +            <td valign="top">
          377  +              A mathematical function that returns the angle, in radians, whose cosine is the 
          378  +              specified <b>double</b> expression</td>
          379  +          </tr>
          380  +          <tr>
          381  +            <td align="right" width="1%" nowrap>
          382  +              acosh(<i>X</i>)</td>
          383  +            <td valign="top">
          384  +              Inverse hyperbolic cosine</td>
          385  +          </tr>
          386  +          <tr>
          387  +            <td align="right" width="1%" nowrap>
          388  +              asin(<i>X</i>)</td>
          389  +            <td valign="top">
          390  +              Returns the angle, in radians, whose sine is the specified <b>double</b> 
          391  +              expression</td>
          392  +          </tr>
          393  +          <tr>
          394  +            <td align="right" width="1%" nowrap>
          395  +              asinh(<i>X</i>)</td>
          396  +            <td valign="top">
          397  +              Inverse hyperbolic sine</td>
          398  +          </tr>
          399  +          <tr>
          400  +            <td align="right" width="1%" nowrap>
          401  +              atan(<i>X</i>)</td>
          402  +            <td valign="top">
          403  +              Returns the angle in radians whose tangent is a specified <b>double</b> 
          404  +              expression</td>
          405  +          </tr>
          406  +          <tr>
          407  +            <td align="right" width="1%" nowrap>
          408  +              atanh(<i>X</i>)</td>
          409  +            <td valign="top">
          410  +              Inverse hyperbolic tangent</td>
          411  +          </tr>
          412  +          <tr>
          413  +            <td align="right" width="1%" nowrap class="style1">
          414  +              atn2(<i>X</i>,<i>Y</i>)<br />
          415  +              atan2(<i>X</i>,<i>Y</i>)</td>
          416  +            <td valign="top" class="style1">
          417  +              Returns the angle, in radians, between the positive x-axis and the ray from the 
          418  +              origin to the point (y, x), where x and y are the values of the two specified 
          419  +              double expressions</td>
          420  +          </tr>
          421  +          <tr>
          422  +            <td align="right" width="1%" nowrap>
          423  +              ceil(<i>X</i>)<br />
          424  +              ceiling(<i>X</i>)</td>
          425  +            <td valign="top">
          426  +              Returns the smallest integer greater than, or equal to, the specified numeric 
          427  +              expression</td>
          428  +          </tr>
          429  +          <tr>
          430  +            <td align="right" width="1%" nowrap>
          431  +              charindex(<i>X</i>,<i>Y</i>[,<i>Z</i>])</td>
          432  +            <td valign="top">
          433  +              Returns the 1-based position of the string <i>X</i> inside the string <i>Y</i> 
          434  +              starting at position <i>Z</i>.&nbsp; Returns 0 if not <i>X</i> is not found 
          435  +              within <i>Y</i>.</td>
          436  +          </tr>
   367    437             <tr>
   368    438               <td align="right" width="1%" nowrap>
   369    439                 coalesce(<i>X</i>,<i>Y</i>,...)</td>
   370    440               <td valign="top">
   371    441                 Return a copy of the first non-NULL argument. If all arguments are NULL then NULL
   372    442                 is returned. There must be at least 2 arguments.</td>
   373    443             </tr>
          444  +          <tr>
          445  +            <td align="right" width="1%" nowrap>
          446  +              cos(<i>X</i>)</td>
          447  +            <td valign="top">
          448  +              a mathematical function that returns the trigonometric cosine of the specified 
          449  +              angle, in radians, in the specified expression</td>
          450  +          </tr>
          451  +          <tr>
          452  +            <td align="right" width="1%" nowrap>
          453  +              cosh(<i>X</i>)</td>
          454  +            <td valign="top">
          455  +              Hyperbolic cosine</td>
          456  +          </tr>
          457  +          <tr>
          458  +            <td align="right" width="1%" nowrap>
          459  +              cot(<i>X</i>)</td>
          460  +            <td valign="top">
          461  +              A mathematical function that returns the trigonometric cotangent of the 
          462  +              specified angle, in radians, in the specified <b>double</b> expression</td>
          463  +          </tr>
          464  +          <tr>
          465  +            <td align="right" width="1%" nowrap>
          466  +              coth(<i>X</i>)</td>
          467  +            <td valign="top">
          468  +              <span class="h1purpose">Hyperbolic cotangent</span></td>
          469  +          </tr>
          470  +          <tr>
          471  +            <td align="right" width="1%" nowrap>
          472  +              difference(<i>X</i>,<i>Y</i>)</td>
          473  +            <td valign="top">
          474  +              Returns an integer value that indicates the difference between the SOUNDEX 
          475  +              values of two character expressions</td>
          476  +          </tr>
          477  +          <tr>
          478  +            <td align="right" width="1%" nowrap>
          479  +              degrees(<i>X</i>)</td>
          480  +            <td valign="top">
          481  +              Converts radians to degrees</td>
          482  +          </tr>
          483  +          <tr>
          484  +            <td align="right" width="1%" nowrap>
          485  +              exp(<i>X</i>)</td>
          486  +            <td valign="top">
          487  +              Returns the exponential value of the specified expression</td>
          488  +          </tr>
          489  +          <tr>
          490  +            <td align="right" width="1%" nowrap>
          491  +              floor(<i>X</i>)</td>
          492  +            <td valign="top">
          493  +              Returns the largest integer less than or equal to the specified numeric 
          494  +              expression</td>
          495  +          </tr>
   374    496             <tr>
   375    497               <a name="globFunc"></a>
   376    498               <td align="right" width="1%" nowrap>
   377    499                 glob(<i>X</i>,<i>Y</i>)</td>
   378    500               <td valign="top">
   379    501                 This function is used to implement the "<b>X GLOB Y</b>" syntax of SQLite. The <a
   380    502                   href="capi3ref.html#sqlite3_create_function">sqlite3_create_function()</a> interface
................................................................................
   392    514               <td align="right" width="1%" nowrap>
   393    515                 last_insert_rowid()</td>
   394    516               <td valign="top">
   395    517                 Return the ROWID of the last row insert from this connection to the database. This
   396    518                 is the same value that would be returned from the <b>sqlite_last_insert_rowid()</b>
   397    519                 API function.</td>
   398    520             </tr>
          521  +          <tr>
          522  +            <td align="right" width="1%" nowrap>
          523  +              last_rows_affected()</td>
          524  +            <td valign="top">
          525  +              Returns the number of rows affected by the last insert/update operation</td>
          526  +          </tr>
          527  +          <tr>
          528  +            <td align="right" width="1%" nowrap>
          529  +              leftstr(<i>X</i>,<i>Y</i>)</td>
          530  +            <td valign="top">
          531  +              Returns the leftmost <i>Y</i> characters in string <i>X</i>.</td>
          532  +          </tr>
   399    533             <tr>
   400    534               <td align="right" width="1%" nowrap>
   401    535                 length(<i>X</i>)</td>
   402    536               <td valign="top">
   403    537                 Return the string length of <i>X</i> in characters. If SQLite is configured to support
   404    538                 UTF-8, then the number of UTF-8 characters is returned, not the number of bytes.</td>
   405    539             </tr>
................................................................................
   424    558               <td valign="top">
   425    559                 Load SQLite extensions out of the shared library file named <i>X</i> using the entry
   426    560                 point <i>Y</i>. The result is a NULL. If <i>Y</i> is omitted then the default entry
   427    561                 point of <b>sqlite3_extension_init</b> is used. This function raises an exception
   428    562                 if the extension fails to load or initialize correctly.
   429    563               </td>
   430    564             </tr>
          565  +          <tr>
          566  +            <td align="right" width="1%" nowrap>
          567  +              log(<i>X</i>)</td>
          568  +            <td valign="top">
          569  +              Returns the natural logarithm of the specified <b>double</b> expression</td>
          570  +          </tr>
          571  +          <tr>
          572  +            <td align="right" width="1%" nowrap>
          573  +              log10(<i>X</i>)</td>
          574  +            <td valign="top">
          575  +              Returns the base-10 logarithm of the specified <b>double</b> expression</td>
          576  +          </tr>
   431    577             <tr>
   432    578               <td align="right" width="1%" nowrap>
   433    579                 lower(<i>X</i>)</td>
   434    580               <td valign="top">
   435    581                 Return a copy of string <i>X</i> will all characters converted to lower case. The
   436    582                 C library <b>tolower()</b> routine is used for the conversion, which means that
   437    583                 this function might not work correctly on UTF-8 characters.</td>
................................................................................
   456    602             </tr>
   457    603             <tr>
   458    604               <td align="right" width="1%" nowrap>
   459    605                 nullif(<i>X</i>,<i>Y</i>)</td>
   460    606               <td valign="top">
   461    607                 Return the first argument if the arguments are different, otherwise return NULL.</td>
   462    608             </tr>
          609  +          <tr>
          610  +            <td align="right" width="1%" nowrap>
          611  +              padc(<i>X</i>,<i>Y</i>)</td>
          612  +            <td valign="top">
          613  +              Pads the given string <i>X</i> on the left and the right with spaces until it is 
          614  +              the specified length <i>Y</i></td>
          615  +          </tr>
          616  +          <tr>
          617  +            <td align="right" width="1%" nowrap>
          618  +              padl(<i>X</i>,<i>Y</i>)</td>
          619  +            <td valign="top">
          620  +              Pads the given string <i>X</i> on the left with spaces until it is the specified 
          621  +              length <i>Y</i></td>
          622  +          </tr>
          623  +          <tr>
          624  +            <td align="right" width="1%" nowrap>
          625  +              padr(<i>X</i>,<i>Y</i>)</td>
          626  +            <td valign="top">
          627  +              Pads the given string <i>X</i> on the right with spaces until it is the 
          628  +              specified length <i>Y</i></td>
          629  +          </tr>
          630  +          <tr>
          631  +            <td align="right" width="1%" nowrap>
          632  +              pi</td>
          633  +            <td valign="top">
          634  +              Returns the value of pi</td>
          635  +          </tr>
          636  +          <tr>
          637  +            <td align="right" width="1%" nowrap>
          638  +              power(<i>X</i>,<i>Y</i>)</td>
          639  +            <td valign="top">
          640  +              Returns the value of the specified expression <i>X</i> to the specified power <i>
          641  +              Y</i></td>
          642  +          </tr>
          643  +          <tr>
          644  +            <td align="right" width="1%" nowrap>
          645  +              proper(<i>X</i>)</td>
          646  +            <td valign="top">
          647  +              Proper-case the given string <i>X</i></td>
          648  +          </tr>
   463    649             <tr>
   464    650               <td align="right" width="1%" nowrap>
   465    651                 quote(<i>X</i>)</td>
   466    652               <td valign="top">
   467    653                 This routine returns a string which is the value of its argument suitable for inclusion
   468    654                 into another SQL statement. Strings are surrounded by single-quotes with escapes
   469    655                 on interior quotes as needed. BLOBs are encoded as hexadecimal literals. The current
   470    656                 implementation of
   471    657             VACUUM uses this function. The function is also useful when writing
   472    658                 triggers to implement undo/redo functionality.
   473    659               </td>
   474    660             </tr>
          661  +          <tr>
          662  +            <td align="right" width="1%" nowrap>
          663  +              radians(<i>X</i>)</td>
          664  +            <td valign="top">
          665  +              Converts degrees to radians</td>
          666  +          </tr>
   475    667             <tr>
   476    668               <td align="right" width="1%" nowrap>
   477    669                 random(*)</td>
   478    670               <td valign="top">
   479    671                 Return a pseudo-random integer between -9223372036854775808 and +9223372036854775807.</td>
   480    672             </tr>
          673  +          <tr>
          674  +            <td align="right" width="1%" nowrap>
          675  +              replicate(<i>X</i>,<i>Y</i>)</td>
          676  +            <td valign="top">
          677  +              Return the concatenation of string <i>X</i> repeated <i>Y</i> times</td>
          678  +          </tr>
          679  +          <tr>
          680  +            <td align="right" width="1%" nowrap>
          681  +              reverse(<i>X</i>)</td>
          682  +            <td valign="top">
          683  +              Returns the string <i>X</i> reversed</td>
          684  +          </tr>
          685  +          <tr>
          686  +            <td align="right" width="1%" nowrap>
          687  +              rightstr(<i>X</i>,<i>Y</i>)</td>
          688  +            <td valign="top">
          689  +              Returns the right-most <i>Y</i> characters in string <i>X</i>.</td>
          690  +          </tr>
   481    691             <tr>
   482    692               <td align="right" width="1%" nowrap>
   483    693                 round(<i>X</i>)<br />
   484    694                 round(<i>X</i>,<i>Y</i>)</td>
   485    695               <td valign="top">
   486    696                 Round off the number <i>X</i> to <i>Y</i> digits to the right of the decimal point.
   487    697                 If the <i>Y</i> argument is omitted, 0 is assumed.</td>
   488    698             </tr>
          699  +          <tr>
          700  +            <td align="right" width="1%" nowrap>
          701  +              sign(<i>X</i>)</td>
          702  +            <td valign="top">
          703  +              Returns the positive (+1), zero (0), or negative (-1) sign of the specified 
          704  +              expression</td>
          705  +          </tr>
          706  +          <tr>
          707  +            <td align="right" width="1%" nowrap>
          708  +              sin(<i>X</i>)</td>
          709  +            <td valign="top">
          710  +              Returns the trigonometric sine of the specified angle, in radians, and in an 
          711  +              approximate numeric, <b>double</b>, expression</td>
          712  +          </tr>
   489    713             <tr>
   490    714               <td align="right" width="1%" nowrap>
   491    715                 soundex(<i>X</i>)</td>
   492    716               <td valign="top">
   493         -              Compute the soundex encoding of the string <i>X</i>. The string "?000" is returned
   494         -              if the argument is NULL. This function is omitted from SQLite by default. It is
   495         -              only available the -DSQLITE_SOUNDEX=1 compiler option is used when SQLite is built.</td>
          717  +              Compute the soundex encoding of the string <i>X</i>. The string &quot;?000&quot; is 
          718  +              returned if the argument is NULL.</td>
   496    719             </tr>
   497    720             <tr>
   498    721               <td align="right" width="1%" nowrap>
   499    722                 sqlite_version(*)</td>
   500    723               <td valign="top">
   501         -              Return the version string for the SQLite library that is running. Example: "2.8.0"</td>
          724  +              Return the version string for the SQLite library that is running. Example: "3.6.0"</td>
          725  +          </tr>
          726  +          <tr>
          727  +            <td align="right" width="1%" nowrap>
          728  +              sqrt(<i>X</i>)</td>
          729  +            <td valign="top">
          730  +              Returns the square root of the specified value</td>
          731  +          </tr>
          732  +          <tr>
          733  +            <td align="right" width="1%" nowrap>
          734  +              square(X)</td>
          735  +            <td valign="top">
          736  +              Returns the square of the specified value</td>
          737  +          </tr>
          738  +          <tr>
          739  +            <td align="right" width="1%" nowrap>
          740  +              strfilter(<i>X</i>,<i>Y</i>)</td>
          741  +            <td valign="top">
          742  +              Given a source string <i>X</i> and the characters to filter <i>Y</i>, returns <i>
          743  +              X</i> with all characters not found in <i>Y</i> removed.</td>
   502    744             </tr>
   503    745             <tr>
   504    746               <td align="right" width="1%" nowrap>
   505    747                 substr(<i>X</i>,<i>Y</i>,<i>Z</i>)</td>
   506    748               <td valign="top">
   507    749                 Return a substring of input string <i>X</i> that begins with the <i>Y</i>-th character
   508    750                 and which is <i>Z</i> characters long. The left-most character of <i>X</i> is number
   509    751                 1. If <i>Y</i> is negative the the first character of the substring is found by
   510    752                 counting from the right rather than the left. If SQLite is configured to support
   511    753                 UTF-8, then characters indices refer to actual UTF-8 characters, not bytes.</td>
   512    754             </tr>
          755  +          <tr>
          756  +            <td align="right" width="1%" nowrap>
          757  +              tan(<i>X</i>)</td>
          758  +            <td valign="top">
          759  +              Returns the tangent of the input expression</td>
          760  +          </tr>
          761  +          <tr>
          762  +            <td align="right" width="1%" nowrap>
          763  +              tanh(<i>X</i>)</td>
          764  +            <td valign="top">
          765  +              Hyperbolic tangent</td>
          766  +          </tr>
   513    767             <tr>
   514    768               <td align="right" width="1%" nowrap>
   515    769                 typeof(<i>X</i>)</td>
   516    770               <td valign="top">
   517    771                 Return the type of the expression <i>X</i>. The only return values are "null", "integer",
   518    772                 "real", "text", and "blob".
   519    773           SQLite's type handling is explained in <a href="http://www.sqlite.org/datatype3.html">
................................................................................
   561    815                 count(<i>X</i>)<br />
   562    816                 count(*)</td>
   563    817               <td valign="top">
   564    818                 The first form return a count of the number of times that <i>X</i> is not NULL in
   565    819                 a group. The second form (with no argument) returns the total number of rows in
   566    820                 the group.</td>
   567    821             </tr>
          822  +          <tr>
          823  +            <td align="right" width="1%" nowrap>
          824  +              lower_quartile(<i>X</i>)</td>
          825  +            <td valign="top">
          826  +              Returns the lower quartile of the given numbers in the set</td>
          827  +          </tr>
   568    828             <tr>
   569    829               <td align="right" width="1%" nowrap>
   570    830                 max(<i>X</i>)</td>
   571    831               <td valign="top">
   572    832                 Return the maximum value of all values in the group. The usual sort order is used
   573    833                 to determine the maximum.</td>
   574    834             </tr>
          835  +          <tr>
          836  +            <td align="right" width="1%" nowrap>
          837  +              median(<i>X</i>)</td>
          838  +            <td valign="top">
          839  +              Returns the middle value in a set of ordered numbers. (The medial value is 
          840  +              unlike the mean value, which is the sum of a set of numbers divided by the count 
          841  +              of numbers in the set). The median value is determined by choosing the smallest 
          842  +              value such that at least half of the values in the set are no greater than the 
          843  +              chosen value. If the number of values within the set is odd, the median value 
          844  +              corresponds to a single value. If the number of values within the set is even, 
          845  +              the median value corresponds to the sum of the two middle values divided by two.</td>
          846  +          </tr>
   575    847             <tr>
   576    848               <td align="right" width="1%" nowrap>
   577    849                 min(<i>X</i>)</td>
   578    850               <td valign="top">
   579    851                 Return the minimum non-NULL value of all values in the group. The usual sort order
   580    852                 is used to determine the minimum. NULL is only returned if all values in the group
   581    853                 are NULL.</td>
   582    854             </tr>
          855  +          <tr>
          856  +            <td align="right" width="1%" nowrap>
          857  +              mode(<i>X</i>)</td>
          858  +            <td valign="top">
          859  +              Computes the most frequently occurring value in a sample set</td>
          860  +          </tr>
          861  +          <tr>
          862  +            <td align="right" width="1%" nowrap>
          863  +              stdev(<i>X</i>)</td>
          864  +            <td valign="top">
          865  +              Returns the statistical standard deviation of all values in the specified 
          866  +              expression</td>
          867  +          </tr>
   583    868             <tr>
   584    869               <td align="right" width="1%" nowrap>
   585    870                 sum(<i>X</i>)<br />
   586    871                 total(<i>X</i>)</td>
   587    872               <td valign="top">
   588    873                 Return the numeric sum of all non-NULL values in the group. If there are no non-NULL
   589    874                 input rows then sum() returns NULL but total() returns 0.0. NULL is not normally
................................................................................
   600    885                   approximation to the true sum.</p>
   601    886                 <p>
   602    887                   Sum() will throw an "integer overflow" exception if all inputs are integers or NULL
   603    888                   and an integer overflow occurs at any point during the computation. Total() never
   604    889                   throws an exception.</p>
   605    890               </td>
   606    891             </tr>
          892  +          <tr>
          893  +            <td align="right" width="1%" nowrap>
          894  +              upper_quartile(<i>X</i>)</td>
          895  +            <td valign="top">
          896  +              Returns the upper quartile of the numbers in the given set</td>
          897  +          </tr>
   607    898           </table>
   608    899         </p>
   609    900         <hr>
   610    901         <div id="footer">
   611    902           <p>
   612    903             &nbsp;</p>
   613    904           <p>
   614    905           </p>
   615    906         </div>
   616    907       </div>
   617    908       </div>
   618    909     </body>
   619    910   </html>

Changes to Doc/Extra/version.html.

    51     51             </td>
    52     52           </tr>
    53     53         </table>
    54     54       </div>
    55     55       <div id="mainSection">
    56     56       <div id="mainBody">
    57     57       <h1 class="heading">Version History</h1>
           58  +    <p><b>1.0.55.0 - August 6, 2008</b></p>
           59  +    <ul>
           60  +      <li>Code merge with SQLite 3.6.1</li>
           61  +      <li>Added support for the user-contributed extension-functions at
           62  +        <a href="http://www.sqlite.org/contrib">http://www.sqlite.org/contrib</a>.&nbsp; 
           63  +        Feel free to override any of them with your own implementation.&nbsp; The new 
           64  +        functions are: <i>acos, asin, atan, atn2, atan2, acosh, asinh, atanh, 
           65  +        difference, degrees, radians, cos, sin, tan, cot, cosh, sinh, tanh, coth, exp, 
           66  +        log, log10, power, sign, sqrt, square, ceil, floor, pi, replicate, charindex, 
           67  +        leftstr, rightstr, reverse, proper, padl, padr, padc, strfilter,</i> and 
           68  +        aggregates <i>stdev, variance, mode, median, lower_quartile, upper_quartile.</i></li>
           69  +      <li>Moved the last_rows_affected() function to the C extension library.</li>
           70  +      <li>Added a new class, SQLiteFunctionEx which extends SQLiteFunction and adds the 
           71  +        ability for a user-defined function to get the collating sequence during the 
           72  +        Invoke/Step methods.&nbsp; User-defined functions can use the collating sequence 
           73  +        as a helper to compare values.</li>
           74  +      <li>When registering user-defined collation sequences and functions, the provider 
           75  +        will now register both a UTF8 and a UTF16 version instead of just UTF8.</li>
           76  +      <li>Revamped connection pooling and added static ClearPool() and ClearAllPools() 
           77  +        functions to SQLiteConnection.&nbsp; Behavior of the pool and its clearing 
           78  +        mechanics match SqlClient.</li>
           79  +      <li>Fixed connections going to the pool so that any unfinalized lingering commands 
           80  +        from un-collected datareaders are automatically reset and any lurking 
           81  +        transactions made on the connection are rolled back.</li>
           82  +      <li>Transaction isolation levels are now partially supported.&nbsp; Serializable 
           83  +        is the default, which obtains read/write locks immediately -- this is compatible 
           84  +        with previous releases of the provider.&nbsp; Unspecified will default to 
           85  +        whatever the default isolation mode is set to, and ReadCommitted will cause a 
           86  +        deferred lock to be obtained.&nbsp; No other values are legal.</li>
           87  +      <li>Revamped the test.exe program.&nbsp; It&#39;s now an interactive GUI application.&nbsp; 
           88  +        Easier for me to add tests now.</li>
           89  +      <li>Tweaks to the VS designer package and installer.</li>
           90  +      <li>More adjustments to the internal SQLite3.Prepare() method to account for both 
           91  +        kinds of lock errors when retrying.</li>
           92  +      <li>Stripped a lot of unnecessary interop() calls and replaced with base sqlite calls.&nbsp; 
           93  +        Revamped most of UnsafeNativeMethods to make it easier to port the code.</li>
           94  +      <li>Rerigged internal callbacks for userdef functions and other native to managed 
           95  +        callbacks.&nbsp; More portable this way.</li>
           96  +      <li>Source can now can be compiled with the SQLITE_STANDARD preprocessor symbol to 
           97  +        force the wrapper to use the stock sqlite3 library.&nbsp; Some functionality is 
           98  +        missing, but its minimal.&nbsp; None of the precompiled binaries are compiled 
           99  +        using this setting, but its useful for testing portability.</li>
          100  +      <li>Added &quot;boolean&quot; and a couple other missing datatypes to the &quot;DataTypes&quot; schema 
          101  +        xml file.&nbsp; Used by the VS designer when displaying tables and querying.</li>
          102  +      <li>Added a new connection string option &quot;Read Only&quot;.&nbsp; When set to True, the 
          103  +        database will be opened in read-only mode.</li>
          104  +      <li>Added a new connection string option &quot;Max Pool Size&quot; to set the maximum size 
          105  +        of the connection pool for a given db file connection.</li>
          106  +      <li>Added a new connection string option &quot;Default IsolationLevel&quot; to set the 
          107  +        default isolation level of transactions.&nbsp; Possible values are Serializable and 
          108  +        ReadCommitted.</li>
          109  +      <li>Added a new connection string option &quot;URI&quot; as an optional parameter for 
          110  +        compatibility with other ports of the provider.</li>
          111  +    </ul>
    58    112       <p><b>1.0.54.0 - July 25, 2008</b></p>
    59    113       <ul>
    60    114         <li>Fixed the setup project, which somehow &quot;forgot&quot; to include all the binaries in 
    61    115           the 53 release.</li>
    62    116         <li>Fixed a crash in the table designer when creating a new table and tabbing past 
    63    117           the &quot;Allow Nulls&quot; cell in the grid while creating a new column.</li>
    64    118         <li>Fixed a mostly-benign bug in SQLiteDataReader&#39;s GetEnumerator, which failed to 

Changes to Doc/SQLite.NET.chm.

cannot compute difference between binary files

Changes to SQLite.Designer/AssemblyInfo.cs.

    28     28   //      Major Version
    29     29   //      Minor Version 
    30     30   //      Build Number
    31     31   //      Revision
    32     32   //
    33     33   // You can specify all the values or you can default the Revision and Build Numbers 
    34     34   // by using the '*' as shown below:
    35         -[assembly: AssemblyVersion("1.0.33.0")]
    36         -[assembly: AssemblyFileVersion("1.0.33.0")]
           35  +[assembly: AssemblyVersion("1.0.35.0")]
           36  +[assembly: AssemblyFileVersion("1.0.35.0")]
    37     37   [assembly: AssemblyDelaySignAttribute(false)]
    38     38   [assembly: AssemblyKeyFileAttribute("..\\System.Data.SQLite\\System.Data.SQLite.snk")]
    39     39   [assembly: AssemblyKeyNameAttribute("")]

Changes to SQLite.Designer/Design/Table.cs.

    29     29     internal class Table : ViewTableBase, ICustomTypeDescriptor
    30     30     {
    31     31       private string _name;
    32     32       private string _oldname;
    33     33       private string _catalog;
    34     34       private List<Column> _columns = new List<Column>();
    35     35       private bool _exists = false;
    36         -    private bool _hascheck = false;
    37     36       private string _origSql = String.Empty;
    38     37       private List<Index> _indexes = new List<Index>();
    39     38       private List<Index> _oldindexes = new List<Index>();
    40     39       private List<ForeignKey> _fkeys = new List<ForeignKey>();
    41     40       private List<ForeignKey> _oldfkeys = new List<ForeignKey>();
    42     41       private List<string> _check = new List<string>();
    43     42       private List<Trigger> _triggers = new List<Trigger>();
................................................................................
    88     87       private void ReloadDefinition()
    89     88       {
    90     89         using (DataTable tbl = _connection.GetSchema("Tables", new string[] { Catalog, null, Name }))
    91     90         {
    92     91           if (tbl.Rows.Count > 0)
    93     92           {
    94     93             _exists = true;
    95         -          _hascheck = (bool)tbl.Rows[0]["HAS_CHECKCONSTRAINTS"];
    96     94             _origSql = tbl.Rows[0]["TABLE_DEFINITION"].ToString().Trim().TrimEnd(';');
    97     95           }
    98     96           else
    99     97           {
   100     98             _exists = false;
   101     99             return;
   102    100           }
................................................................................
   265    263   
   266    264       [Browsable(false)]
   267    265       public string OriginalSql
   268    266       {
   269    267         get { return _origSql; }
   270    268       }
   271    269   
   272         -    [Browsable(false)]
   273         -    public bool HasCheck
   274         -    {
   275         -      get { return _hascheck; }
   276         -    }
   277         -
   278    270       [Category("Storage")]
   279    271       [RefreshProperties(RefreshProperties.All)]
   280    272       [ParenthesizePropertyName(true)]
   281    273       public override string Name
   282    274       {
   283    275         get { return _name; }
   284    276         set

Changes to SQLite.Designer/SQLite.Designer.csproj.

     1      1   <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
     2      2     <PropertyGroup>
     3      3       <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     4      4       <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
     5         -    <ProductVersion>9.0.30428</ProductVersion>
            5  +    <ProductVersion>9.0.30703</ProductVersion>
     6      6       <SchemaVersion>2.0</SchemaVersion>
     7      7       <ProjectGuid>{9B4A5CF6-5BE5-4926-ACC7-B729A8C05198}</ProjectGuid>
     8      8       <OutputType>Library</OutputType>
     9      9       <AppDesignerFolder>Properties</AppDesignerFolder>
    10     10       <RootNamespace>SQLite.Designer</RootNamespace>
    11     11       <AssemblyName>SQLite.Designer</AssemblyName>
    12     12       <SignAssembly>false</SignAssembly>
................................................................................
    66     66         <HintPath>..\..\..\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\PublicAssemblies\Microsoft.VisualStudio.CommandBars.dll</HintPath>
    67     67       </Reference>
    68     68       <Reference Include="Microsoft.VisualStudio.Data, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
    69     69         <SpecificVersion>False</SpecificVersion>
    70     70         <HintPath>..\..\..\Program Files (x86)\Microsoft Visual Studio 2008 SDK\VisualStudioIntegration\Common\Assemblies\2005\Microsoft.VisualStudio.Data.dll</HintPath>
    71     71         <Private>False</Private>
    72     72       </Reference>
           73  +    <Reference Include="Microsoft.VisualStudio.Data.Services, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
    73     74       <Reference Include="Microsoft.VisualStudio.OLE.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    74     75         <SpecificVersion>False</SpecificVersion>
    75     76       </Reference>
    76     77       <Reference Include="Microsoft.VisualStudio.Shell, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
    77     78         <SpecificVersion>False</SpecificVersion>
    78     79       </Reference>
    79     80       <Reference Include="Microsoft.VisualStudio.Shell.Interop, Version=7.1.40304.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
................................................................................
   201    202         <DependentUpon>ChangeScriptDialog.cs</DependentUpon>
   202    203       </EmbeddedResource>
   203    204       <EmbeddedResource Include="SQLiteDataViewSupport2005.xml" />
   204    205     </ItemGroup>
   205    206     <ItemGroup>
   206    207       <None Include="Resources\info.png" />
   207    208     </ItemGroup>
          209  +  <ItemGroup>
          210  +    <None Include="Resources\ToolboxItems.txt" />
          211  +  </ItemGroup>
   208    212     <ItemGroup>
   209    213       <Folder Include="Properties\" />
   210    214     </ItemGroup>
   211    215     <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   212    216     <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\VSSDK\Microsoft.VsSDK.targets" />
   213    217     <PropertyGroup>
   214    218       <PostBuildEvent>
   215    219       </PostBuildEvent>
   216    220     </PropertyGroup>
   217    221   </Project>

Changes to SQLite.Designer/SQLiteConnectionProperties.cs.

    13     13     using Microsoft.Win32;
    14     14   
    15     15     /// <summary>
    16     16     /// Provides rudimentary connectionproperties support
    17     17     /// </summary>
    18     18     internal sealed class SQLiteConnectionProperties : AdoDotNetConnectionProperties
    19     19     {
    20         -    public SQLiteConnectionProperties() : base("System.Data.SQLite")
           20  +    public SQLiteConnectionProperties()
           21  +      : this(null)
    21     22       {
    22     23       }
    23     24   
    24         -    public SQLiteConnectionProperties(string connectionString) : base("System.Data.SQLite", connectionString)
           25  +    public SQLiteConnectionProperties(string connectionString)
           26  +      : base("System.Data.SQLite", connectionString)
    25     27       {
    26     28       }
    27     29   
    28     30       public override string[] GetBasicProperties()
    29     31       {
    30         -      return new string[] { "Data Source" };
           32  +      return new string[] { "data source" };
           33  +    }
           34  +
           35  +    protected override bool ShouldPersistProperty(string propertyName)
           36  +    {
           37  +      if (String.Compare(propertyName, "Database", StringComparison.OrdinalIgnoreCase) == 0) return false;
           38  +
           39  +      return base.ShouldPersistProperty(propertyName);
           40  +    }
           41  +
           42  +    public override bool Contains(string propertyName)
           43  +    {
           44  +      if (String.Compare(propertyName, "Database", StringComparison.OrdinalIgnoreCase) == 0)
           45  +        return (base.Contains("data source") || base.Contains("uri"));
           46  +
           47  +      return base.Contains(propertyName);
           48  +    }
           49  +
           50  +    public override object this[string propertyName]
           51  +    {
           52  +      get
           53  +      {
           54  +        if (String.Compare(propertyName, "Database", StringComparison.OrdinalIgnoreCase) == 0)
           55  +          return System.IO.Path.GetFileNameWithoutExtension(GetDatabaseFile());
           56  +
           57  +        return base[propertyName];
           58  +      }
           59  +      set
           60  +      {
           61  +        base[propertyName] = value;
           62  +      }
           63  +    }
           64  +
           65  +    internal string GetDatabaseFile()
           66  +    {
           67  +      if (this["data source"] is string && ((string)this["data source"]).Length > 0)
           68  +        return (string)this["data source"];
           69  +      else if (this["uri"] is string)
           70  +        return MapUriPath((string)this["uri"]);
           71  +      return String.Empty;
    31     72       }
    32     73   
    33     74       public override bool  IsComplete
    34     75       {
    35     76         get 
    36     77         {
    37         -        return true;
           78  +        if (Contains("data source") == true)
           79  +        {
           80  +          if (this["data source"] is string && ((string)this["data source"]).Length > 0)
           81  +            return true;
           82  +        }
           83  +        else if (Contains("uri") == true)
           84  +        {
           85  +          if (this["uri"] is string && MapUriPath((string)this["uri"]).Length > 0)
           86  +            return true;
           87  +        }
           88  +
           89  +        return false;
    38     90         }
    39     91       }
    40     92   
    41         -    public override bool EquivalentTo(DataConnectionProperties connectionProperties)
           93  +    internal static string MapUriPath(string path)
    42     94       {
    43         -      SQLiteConnectionProperties props = connectionProperties as SQLiteConnectionProperties;
    44         -
    45         -      if (props == null) return false;
    46         -
    47         -      return (String.Compare((string)this["Data Source"], (string)props["Data Source"], true) == 0);
           95  +      if (path.StartsWith("file://"))
           96  +        return path.Substring(7);
           97  +      else if (path.StartsWith("file:"))
           98  +        return path.Substring(5);
           99  +      else if (path.StartsWith("/"))
          100  +        return path;
          101  +      else
          102  +        return String.Empty;
    48    103       }
    49         -    // Provides automatic locating and loading of the SQLite assembly if its not registered in the GAC.
    50         -    // However, if it's not registered in the GAC, then certain design-time elements will fail.
    51         -    //
    52         -    //private static System.Reflection.Assembly _sqlite = null;
    53         -    //static SQLiteConnectionProperties()
    54         -    //{
    55         -    //  AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
    56         -    //}
    57         -
    58         -    //private static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
    59         -    //{
    60         -    //  if (args.Name.StartsWith("System.Data.SQLite", StringComparison.InvariantCultureIgnoreCase))
    61         -    //  {
    62         -    //    return SQLiteAssembly;
    63         -    //  }
    64         -    //  return null;
    65         -    //}
    66         -
    67         -    //internal static System.Reflection.Assembly SQLiteAssembly
    68         -    //{
    69         -    //  get
    70         -    //  {
    71         -    //    if (_sqlite == null)
    72         -    //    {
    73         -    //      using (RegistryKey key = Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\.NETFramework\\v2.0.50727\\AssemblyFoldersEx\\SQLite"))
    74         -    //      {
    75         -    //        if (key != null)
    76         -    //        {
    77         -    //          _sqlite = System.Reflection.Assembly.LoadFrom(System.IO.Path.Combine(key.GetValue(null).ToString(), "System.Data.SQLite.DLL"));
    78         -    //        }
    79         -    //      }
    80         -    //    }
    81         -    //    return _sqlite;
    82         -    //  }
    83         -    //}
    84    104     }
    85    105   }

Changes to SQLite.Designer/SQLiteConnectionUIControl.Designer.cs.

    45     45         this.pageSizeTextBox = new System.Windows.Forms.TextBox();
    46     46         this.fileTextBox = new System.Windows.Forms.TextBox();
    47     47         this.browseButton = new System.Windows.Forms.Button();
    48     48         this.newDatabase = new System.Windows.Forms.Button();
    49     49         this.offRadioButton = new System.Windows.Forms.RadioButton();
    50     50         this.normalRadioButton = new System.Windows.Forms.RadioButton();
    51     51         this.fullRadioButton = new System.Windows.Forms.RadioButton();
           52  +      this.julianRadioButton = new System.Windows.Forms.RadioButton();
    52     53         labelPassword = new System.Windows.Forms.Label();
    53     54         securityGroup = new System.Windows.Forms.GroupBox();
    54     55         encodingGroup = new System.Windows.Forms.GroupBox();
    55     56         dateTimeGroup = new System.Windows.Forms.GroupBox();
    56     57         databaseGroup = new System.Windows.Forms.GroupBox();
    57     58         cacheSizeLabel = new System.Windows.Forms.Label();
    58     59         pageSizeLabel = new System.Windows.Forms.Label();
................................................................................
   127    128         this.utf8RadioButton.TabStop = true;
   128    129         this.utf8RadioButton.Text = "UTF-8";
   129    130         this.utf8RadioButton.UseVisualStyleBackColor = true;
   130    131         this.utf8RadioButton.CheckedChanged += new System.EventHandler(this.encoding_Changed);
   131    132         // 
   132    133         // dateTimeGroup
   133    134         // 
          135  +      dateTimeGroup.Controls.Add(this.julianRadioButton);
   134    136         dateTimeGroup.Controls.Add(this.ticksRadioButton);
   135    137         dateTimeGroup.Controls.Add(this.iso8601RadioButton);
   136    138         dateTimeGroup.Location = new System.Drawing.Point(84, 159);
   137    139         dateTimeGroup.Name = "dateTimeGroup";
   138    140         dateTimeGroup.Size = new System.Drawing.Size(113, 98);
   139    141         dateTimeGroup.TabIndex = 8;
   140    142         dateTimeGroup.TabStop = false;
   141    143         dateTimeGroup.Text = "Date/Time Format";
   142    144         // 
   143    145         // ticksRadioButton
   144    146         // 
   145    147         this.ticksRadioButton.AutoSize = true;
   146         -      this.ticksRadioButton.Location = new System.Drawing.Point(6, 44);
          148  +      this.ticksRadioButton.Location = new System.Drawing.Point(7, 66);
   147    149         this.ticksRadioButton.Name = "ticksRadioButton";
   148    150         this.ticksRadioButton.Size = new System.Drawing.Size(48, 17);
   149    151         this.ticksRadioButton.TabIndex = 1;
   150    152         this.ticksRadioButton.TabStop = true;
   151    153         this.ticksRadioButton.Text = "Ticks";
   152    154         this.ticksRadioButton.UseVisualStyleBackColor = true;
   153    155         this.ticksRadioButton.CheckedChanged += new System.EventHandler(this.datetime_Changed);
................................................................................
   288    290         this.fullRadioButton.Name = "fullRadioButton";
   289    291         this.fullRadioButton.Size = new System.Drawing.Size(41, 17);
   290    292         this.fullRadioButton.TabIndex = 0;
   291    293         this.fullRadioButton.Text = "Full";
   292    294         this.fullRadioButton.UseVisualStyleBackColor = true;
   293    295         this.fullRadioButton.CheckedChanged += new System.EventHandler(this.sync_Changed);
   294    296         // 
          297  +      // julianRadioButton
          298  +      // 
          299  +      this.julianRadioButton.AutoSize = true;
          300  +      this.julianRadioButton.Location = new System.Drawing.Point(7, 44);
          301  +      this.julianRadioButton.Name = "julianRadioButton";
          302  +      this.julianRadioButton.Size = new System.Drawing.Size(74, 17);
          303  +      this.julianRadioButton.TabIndex = 2;
          304  +      this.julianRadioButton.TabStop = true;
          305  +      this.julianRadioButton.Text = "Julian Day";
          306  +      this.julianRadioButton.UseVisualStyleBackColor = true;
          307  +      this.julianRadioButton.CheckedChanged += new System.EventHandler(this.datetime_Changed);
          308  +      // 
   295    309         // SQLiteConnectionUIControl
   296    310         // 
   297    311         this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
   298    312         this.Controls.Add(syncGroup);
   299    313         this.Controls.Add(databaseGroup);
   300    314         this.Controls.Add(dateTimeGroup);
   301    315         this.Controls.Add(encodingGroup);
   302    316         this.Controls.Add(securityGroup);
   303         -      this.Font = new System.Drawing.Font("MS Shell Dlg 2", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
          317  +      this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
   304    318         this.Name = "SQLiteConnectionUIControl";
   305    319         this.Size = new System.Drawing.Size(312, 322);
   306    320         securityGroup.ResumeLayout(false);
   307    321         securityGroup.PerformLayout();
   308    322         encodingGroup.ResumeLayout(false);
   309    323         encodingGroup.PerformLayout();
   310    324         dateTimeGroup.ResumeLayout(false);
................................................................................
   328    342       private System.Windows.Forms.RadioButton ticksRadioButton;
   329    343       private System.Windows.Forms.RadioButton iso8601RadioButton;
   330    344       private System.Windows.Forms.TextBox pageSizeTextBox;
   331    345       private System.Windows.Forms.TextBox cacheSizeTextbox;
   332    346       private System.Windows.Forms.RadioButton offRadioButton;
   333    347       private System.Windows.Forms.RadioButton normalRadioButton;
   334    348       private System.Windows.Forms.RadioButton fullRadioButton;
          349  +    private System.Windows.Forms.RadioButton julianRadioButton;
   335    350     }
   336    351   }

Changes to SQLite.Designer/SQLiteConnectionUIControl.cs.

    52     52         }
    53     53       }
    54     54   
    55     55       #region IDataConnectionUIControl Members
    56     56   
    57     57       public override void LoadProperties()
    58     58       {
    59         -      fileTextBox.Text = ConnectionProperties["Data Source"] as string;
    60         -      passwordTextBox.Text = ConnectionProperties["Password"] as string;
           59  +      if (ConnectionProperties.Contains("data source"))
           60  +        fileTextBox.Text = ConnectionProperties["data source"] as string;
           61  +
           62  +      if (ConnectionProperties.Contains("password"))
           63  +        passwordTextBox.Text = ConnectionProperties["password"] as string;
    61     64       }
    62     65   
    63     66       #endregion
    64     67   
    65     68       private void passwordTextBox_Leave(object sender, EventArgs e)
    66     69       {
    67     70         if (String.IsNullOrEmpty(passwordTextBox.Text))
    68         -        ConnectionProperties.Remove("Password");
           71  +        ConnectionProperties.Remove("password");
    69     72         else
    70         -        ConnectionProperties["Password"] = passwordTextBox.Text;
           73  +        ConnectionProperties["password"] = passwordTextBox.Text;
    71     74       }
    72     75   
    73     76       private void encoding_Changed(object sender, EventArgs e)
    74     77       {
    75     78         if (utf8RadioButton.Checked == true)
    76         -        ConnectionProperties.Remove("UseUTF16Encoding");
           79  +        ConnectionProperties.Remove("useutf16encoding");
    77     80         else
    78         -        ConnectionProperties["UseUTF16Encoding"] = utf16RadioButton.Checked;
           81  +        ConnectionProperties["useutf16encoding"] = utf16RadioButton.Checked;
    79     82       }
    80     83   
    81     84       private void datetime_Changed(object sender, EventArgs e)
    82     85       {
    83     86         if (iso8601RadioButton.Checked == true)
    84         -        ConnectionProperties.Remove("DateTimeFormat");
           87  +        ConnectionProperties.Remove("datetimeformat");
           88  +      else if (ticksRadioButton.Checked == true)
           89  +        ConnectionProperties["datetimeformat"] = "Ticks";
    85     90         else
    86         -        ConnectionProperties["DateTimeFormat"] = "Ticks";
           91  +        ConnectionProperties["datetimeformat"] = "JulianDay";
    87     92       }
    88     93   
    89     94       private void sync_Changed(object sender, EventArgs e)
    90     95       {
    91     96         string sync = "Normal";
    92     97         if (fullRadioButton.Checked == true) sync = "Full";
    93     98         else if (offRadioButton.Checked == true) sync = "Off";
    94     99   
    95    100         if (sync == "Normal")
    96         -        ConnectionProperties.Remove("Synchronous");
          101  +        ConnectionProperties.Remove("synchronous");
    97    102         else
    98         -        ConnectionProperties["Synchronous"] = sync;
          103  +        ConnectionProperties["synchronous"] = sync;
    99    104       }
   100    105   
   101    106       private void pageSizeTextBox_Leave(object sender, EventArgs e)
   102    107       {
   103    108         int n = Convert.ToInt32(pageSizeTextBox.Text);
   104         -      ConnectionProperties["Page Size"] = n;
          109  +      ConnectionProperties["page size"] = n;
   105    110       }
   106    111   
   107    112       private void cacheSizeTextbox_Leave(object sender, EventArgs e)
   108    113       {
   109    114         int n = Convert.ToInt32(cacheSizeTextbox.Text);
   110         -      ConnectionProperties["Cache Size"] = n;
          115  +      ConnectionProperties["cache size"] = n;
   111    116       }
   112    117   
   113    118       private void fileTextBox_Leave(object sender, EventArgs e)
   114    119       {
   115         -      ConnectionProperties["Data Source"] = fileTextBox.Text;
          120  +      ConnectionProperties["data source"] = fileTextBox.Text;
   116    121       }
   117    122     }
   118    123   }

Changes to SQLite.Designer/SQLiteConnectionUIControl.resx.

   128    128     </metadata>
   129    129     <metadata name="dateTimeGroup.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   130    130       <value>False</value>
   131    131     </metadata>
   132    132     <metadata name="databaseGroup.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   133    133       <value>False</value>
   134    134     </metadata>
   135         -  <metadata name="cacheSizeLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   136         -    <value>False</value>
   137         -  </metadata>
   138         -  <metadata name="pageSizeLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   139         -    <value>False</value>
   140         -  </metadata>
   141    135     <metadata name="cacheSizeLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   142    136       <value>False</value>
   143    137     </metadata>
   144    138     <metadata name="pageSizeLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   145    139       <value>False</value>
   146    140     </metadata>
   147    141     <metadata name="syncGroup.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
   148    142       <value>False</value>
   149    143     </metadata>
   150    144   </root>

Changes to SQLite.Designer/SQLitePackage.cs.

    24     24       {
    25     25       }
    26     26   
    27     27       protected override void Initialize()
    28     28       {
    29     29         IServiceContainer sc = (IServiceContainer)this;
    30     30         sc.AddService(typeof(SQLiteProviderObjectFactory), new ServiceCreatorCallback(CreateService), true);
           31  +
           32  +      ToolboxInitialized += new EventHandler(SQLitePackage_ToolboxInitialized);
           33  +      ToolboxUpgraded += new EventHandler(SQLitePackage_ToolboxUpgraded);
    31     34         base.Initialize();
    32     35       }
           36  +
           37  +    void SQLitePackage_ToolboxUpgraded(object sender, EventArgs e)
           38  +    {
           39  +      IVsToolbox vstbx = GetService(typeof(SVsToolbox)) as IVsToolbox;
           40  +
           41  +      vstbx.RemoveTab("SQLite");
           42  +
           43  +      SQLitePackage_ToolboxInitialized(sender, e);
           44  +    }
           45  +
           46  +    void SQLitePackage_ToolboxInitialized(object sender, EventArgs e)
           47  +    {
           48  +      ParseToolboxResource(new System.IO.StringReader(VSPackage.ToolboxItems), null);
           49  +    }
    33     50   
    34     51       private object CreateService(IServiceContainer container, Type serviceType)
    35     52       {
    36     53         if (serviceType == typeof(SQLiteProviderObjectFactory))
    37     54           return new SQLiteProviderObjectFactory();
    38     55   
    39     56         return null;
    40     57       }
    41     58     }
    42     59   }

Changes to SQLite.Designer/VSPackage.Designer.cs.

    98     98           ///   Looks up a localized string similar to The database and its metadata will be re-encrypted using the supplied password as a hash..
    99     99           /// </summary>
   100    100           internal static string ReEncrypt {
   101    101               get {
   102    102                   return ResourceManager.GetString("ReEncrypt", resourceCulture);
   103    103               }
   104    104           }
          105  +        
          106  +        /// <summary>
          107  +        ///   Looks up a localized string similar to .
          108  +        /// </summary>
          109  +        internal static string ToolboxItems {
          110  +            get {
          111  +                return ResourceManager.GetString("ToolboxItems", resourceCulture);
          112  +            }
          113  +        }
   105    114       }
   106    115   }

Changes to SQLite.Designer/VSPackage.resx.

   129    129     <data name="400" xml:space="preserve">
   130    130       <value>MHM2ZQETQKDTJEPTC1MTQCZ1R1KQEMAPZHETDZPZI9RPJ0E0DHAHKCHZPKQ8AQZICADHKIZ1JAQED8IDEHZPZKZEIKAQERHPRCQMAMRKDEZZQRDRDHJEZIKECZPDIIKC</value>
   131    131     </data>
   132    132     <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
   133    133     <data name="info" type="System.Resources.ResXFileRef, System.Windows.Forms">
   134    134       <value>Resources\info.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
   135    135     </data>
          136  +  <data name="ToolboxItems" type="System.Resources.ResXFileRef, System.Windows.Forms">
          137  +    <value>Resources\ToolboxItems.txt;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252</value>
          138  +  </data>
   136    139   </root>

Changes to bin/CompactFramework/System.Data.SQLite.DLL.

cannot compute difference between binary files

Changes to bin/CompactFramework/System.Data.SQLite.lib.

cannot compute difference between binary files

Changes to bin/CompactFramework/testce.exe.

cannot compute difference between binary files

Changes to bin/Designer/SQLite.Designer.dll.

cannot compute difference between binary files

Changes to bin/Designer/SQLite.Designer.pdb.

cannot compute difference between binary files

Changes to bin/Designer/install.exe.

cannot compute difference between binary files

Changes to bin/Designer/install.pdb.

cannot compute difference between binary files

Changes to bin/System.Data.SQLite.XML.

     1      1   <?xml version="1.0"?>
     2      2   <doc>
     3      3       <assembly>
     4      4           <name>System.Data.SQLite</name>
     5      5       </assembly>
     6      6       <members>
            7  +        <member name="F:System.Data.SQLite.SQLiteConnectionPool._connections">
            8  +            <summary>
            9  +            The connection pool object
           10  +            </summary>
           11  +        </member>
           12  +        <member name="F:System.Data.SQLite.SQLiteConnectionPool._poolVersion">
           13  +            <summary>
           14  +            The default version number new pools will get
           15  +            </summary>
           16  +        </member>
           17  +        <member name="M:System.Data.SQLite.SQLiteConnectionPool.Remove(System.String,System.Int32,System.Int32@)">
           18  +            <summary>
           19  +            Attempt to pull a pooled connection out of the queue for active duty
           20  +            </summary>
           21  +            <param name="fileName">The filename for a desired connection</param>
           22  +            <param name="maxPoolSize">The maximum size the connection pool for the filename can be</param>
           23  +            <param name="version">The pool version the returned connection will belong to</param>
           24  +            <returns>Returns NULL if no connections were available.  Even if none are, the poolversion will still be a valid pool version</returns>
           25  +        </member>
           26  +        <member name="M:System.Data.SQLite.SQLiteConnectionPool.ClearAllPools">
           27  +            <summary>
           28  +            Clears out all pooled connections and rev's up the default pool version to force all old active objects
           29  +            not in the pool to get discarded rather than returned to their pools.
           30  +            </summary>
           31  +        </member>
           32  +        <member name="M:System.Data.SQLite.SQLiteConnectionPool.ClearPool(System.String)">
           33  +            <summary>
           34  +            Clear a given pool for a given filename.  Discards anything in the pool for the given file, and revs the pool
           35  +            version so current active objects on the old version of the pool will get discarded rather than be returned to the pool.
           36  +            </summary>
           37  +            <param name="fileName">The filename of the pool to clear</param>
           38  +        </member>
           39  +        <member name="M:System.Data.SQLite.SQLiteConnectionPool.Add(System.String,System.Data.SQLite.SQLiteConnectionHandle,System.Int32)">
           40  +            <summary>
           41  +            Return a connection to the pool for someone else to use.
           42  +            </summary>
           43  +            <param name="fileName">The filename of the pool to use</param>
           44  +            <param name="hdl">The connection handle to pool</param>
           45  +            <param name="version">The pool version the handle was created under</param>
           46  +            <remarks>
           47  +            If the version numbers don't match between the connection and the pool, then the handle is discarded.
           48  +            </remarks>
           49  +        </member>
           50  +        <member name="T:System.Data.SQLite.SQLiteConnectionPool.Pool">
           51  +            <summary>
           52  +            Keeps track of connections made on a specified file.  The PoolVersion dictates whether old objects get
           53  +            returned to the pool or discarded when no longer in use.
           54  +            </summary>
           55  +        </member>
     7     56           <member name="T:System.Data.SQLite.SQLiteConnection">
     8     57               <summary>
     9     58               SQLite implentation of DbConnection.
    10     59               </summary>
    11     60               <remarks>
    12     61               The <see cref="P:System.Data.SQLite.SQLiteConnection.ConnectionString">ConnectionString</see> property of the SQLiteConnection class can contain the following parameter(s), delimited with a semi-colon:
    13     62               <list type="table">
................................................................................
    95    144               <description>N</description>
    96    145               <description>0</description>
    97    146               </item>
    98    147               <item>
    99    148               <description>Legacy Format</description>
   100    149               <description><b>True</b> - Use the more compatible legacy 3.x database format<br/><b>False</b> - Use the newer 3.3x database format which compresses numbers more effectively</description>
   101    150               <description>N</description>
   102         -            <description>True</description>
          151  +            <description>False</description>
   103    152               </item>
   104    153               <item>
   105    154               <description>Default Timeout</description>
   106    155               <description>{time in seconds}<br/>The default command timeout</description>
   107    156               <description>N</description>
   108    157               <description>30</description>
   109    158               </item>
   110    159               <item>
   111    160               <description>Journal Mode</description>
   112    161               <description><b>Delete</b> - Delete the journal file after a commit<br/><b>Persist</b> - Zero out and leave the journal file on disk after a commit<br/><b>Off</b> - Disable the rollback journal entirely</description>
   113    162               <description>N</description>
   114    163               <description>Delete</description>
   115    164               </item>
          165  +            <item>
          166  +            <description>Read Only</description>
          167  +            <description><b>True</b> - Open the database for read only access<br/><b>False</b> - Open the database for normal read/write access</description>
          168  +            <description>N</description>
          169  +            <description>False</description>
          170  +            </item>
          171  +            <item>
          172  +            <description>Max Pool Size</description>
          173  +            <description>The maximum number of connections for the given connection string that can be in the connection pool</description>
          174  +            <description>N</description>
          175  +            <description>100</description>
          176  +            </item>
          177  +            <item>
          178  +            <description>Default IsolationLevel</description>
          179  +            <description>The default transaciton isolation level</description>
          180  +            <description>N</description>
          181  +            <description>Serializable</description>
          182  +            </item>
   116    183               </list>
   117    184               </remarks>
   118    185           </member>
   119    186           <member name="F:System.Data.SQLite.SQLiteConnection._connectionState">
   120    187               <summary>
   121    188               State of the current connection
   122    189               </summary>
................................................................................
   126    193               The connection string
   127    194               </summary>
   128    195           </member>
   129    196           <member name="F:System.Data.SQLite.SQLiteConnection._transactionLevel">
   130    197               <summary>
   131    198               Nesting level of the transactions open on the connection
   132    199               </summary>
          200  +        </member>
          201  +        <member name="F:System.Data.SQLite.SQLiteConnection._defaultIsolation">
          202  +            <summary>
          203  +            The default isolation level for new transactions
          204  +            </summary>
   133    205           </member>
   134    206           <member name="F:System.Data.SQLite.SQLiteConnection._enlistment">
   135    207               <summary>
   136    208               Whether or not the connection is enlisted in a distrubuted transaction
   137    209               </summary>
   138    210           </member>
   139    211           <member name="F:System.Data.SQLite.SQLiteConnection._sql">
................................................................................
   216    288               <summary>
   217    289               Raises the state change event when the state of the connection changes
   218    290               </summary>
   219    291               <param name="newState">The new state.  If it is different from the previous state, an event is raised.</param>
   220    292           </member>
   221    293           <member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel,System.Boolean)">
   222    294               <summary>
   223         -            Creates a new SQLiteTransaction if one isn't already active on the connection.
          295  +            OBSOLETE.  Creates a new SQLiteTransaction if one isn't already active on the connection.
   224    296               </summary>
   225         -            <param name="isolationLevel">SQLite doesn't support varying isolation levels, so this parameter is ignored.</param>
          297  +            <param name="isolationLevel">This parameter is ignored.</param>
   226    298               <param name="deferredLock">When TRUE, SQLite defers obtaining a write lock until a write operation is requested.
   227    299               When FALSE, a writelock is obtained immediately.  The default is TRUE, but in a multi-threaded multi-writer 
   228    300               environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock.</param>
   229    301               <returns>Returns a SQLiteTransaction object.</returns>
   230    302           </member>
   231    303           <member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Boolean)">
   232    304               <summary>
   233         -            Creates a new SQLiteTransaction if one isn't already active on the connection.
          305  +            OBSOLETE.  Creates a new SQLiteTransaction if one isn't already active on the connection.
   234    306               </summary>
   235    307               <param name="deferredLock">When TRUE, SQLite defers obtaining a write lock until a write operation is requested.
   236         -            When FALSE, a writelock is obtained immediately.  The default is TRUE, but in a multi-threaded multi-writer 
          308  +            When FALSE, a writelock is obtained immediately.  The default is false, but in a multi-threaded multi-writer 
   237    309               environment, one may instead choose to lock the database immediately to avoid any possible writer deadlock.</param>
   238    310               <returns>Returns a SQLiteTransaction object.</returns>
   239    311           </member>
   240    312           <member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction(System.Data.IsolationLevel)">
   241    313               <summary>
   242    314               Creates a new SQLiteTransaction if one isn't already active on the connection.
   243    315               </summary>
   244         -            <param name="isolationLevel">SQLite supports only serializable transactions.</param>
          316  +            <param name="isolationLevel">Supported isolation levels are Serializable, ReadCommitted and Unspecified.</param>
          317  +            <remarks>
          318  +            Unspecified will use the default isolation level specified in the connection string.  If no isolation level is specified in the 
          319  +            connection string, Serializable is used.
          320  +            Serializable transactions are the default.  In this mode, the engine gets an immediate lock on the database, and no other threads
          321  +            may begin a transaction.  Other threads may read from the database, but not write.
          322  +            With a ReadCommitted isolation level, locks are deferred and elevated as needed.  It is possible for multiple threads to start
          323  +            a transaction in ReadCommitted mode, but if a thread attempts to commit a transaction while another thread
          324  +            has a ReadCommitted lock, it may timeout or cause a deadlock on both threads until both threads' CommandTimeout's are reached.
          325  +            </remarks>
   245    326               <returns>Returns a SQLiteTransaction object.</returns>
   246    327           </member>
   247    328           <member name="M:System.Data.SQLite.SQLiteConnection.BeginTransaction">
   248    329               <summary>
   249    330               Creates a new SQLiteTransaction if one isn't already active on the connection.
   250    331               </summary>
   251    332               <returns>Returns a SQLiteTransaction object.</returns>
   252    333           </member>
   253    334           <member name="M:System.Data.SQLite.SQLiteConnection.BeginDbTransaction(System.Data.IsolationLevel)">
   254    335               <summary>
   255    336               Forwards to the local BeginTransaction() function
   256    337               </summary>
   257         -            <param name="isolationLevel"></param>
          338  +            <param name="isolationLevel">Supported isolation levels are Unspecified, Serializable, and ReadCommitted</param>
   258    339               <returns></returns>
   259    340           </member>
   260    341           <member name="M:System.Data.SQLite.SQLiteConnection.ChangeDatabase(System.String)">
   261    342               <summary>
   262    343               Not implemented
   263    344               </summary>
   264    345               <param name="databaseName"></param>
   265    346           </member>
   266    347           <member name="M:System.Data.SQLite.SQLiteConnection.Close">
   267    348               <summary>
   268    349               When the database connection is closed, all commands linked to this connection are automatically reset.
   269    350               </summary>
          351  +        </member>
          352  +        <member name="M:System.Data.SQLite.SQLiteConnection.ClearPool(System.Data.SQLite.SQLiteConnection)">
          353  +            <summary>
          354  +            Clears the connection pool associated with the connection.  Any other active connections using the same database file
          355  +            will be discarded instead of returned to the pool when they are closed.
          356  +            </summary>
          357  +            <param name="connection"></param>
          358  +        </member>
          359  +        <member name="M:System.Data.SQLite.SQLiteConnection.ClearAllPools">
          360  +            <summary>
          361  +            Clears all connection pools.  Any active connections will be discarded instead of sent to the pool when they are closed.
          362  +            </summary>
   270    363           </member>
   271    364           <member name="M:System.Data.SQLite.SQLiteConnection.CreateCommand">
   272    365               <summary>
   273    366               Create a new SQLiteCommand and associate it with this connection.
   274    367               </summary>
   275    368               <returns>Returns an instantiated SQLiteCommand object already assigned to this connection.</returns>
   276    369           </member>
   277    370           <member name="M:System.Data.SQLite.SQLiteConnection.CreateDbCommand">
   278    371               <summary>
   279    372               Forwards to the local CreateCommand() function
   280    373               </summary>
   281    374               <returns></returns>
   282    375           </member>
   283         -        <member name="M:System.Data.SQLite.SQLiteConnection.ParseConnectionString">
          376  +        <member name="M:System.Data.SQLite.SQLiteConnection.ParseConnectionString(System.String)">
   284    377               <summary>
   285    378               Parses the connection string into component parts
   286    379               </summary>
          380  +            <param name="connectionString">The connection string to parse</param>
   287    381               <returns>An array of key-value pairs representing each parameter of the connection string</returns>
   288    382           </member>
   289    383           <member name="M:System.Data.SQLite.SQLiteConnection.EnlistTransaction(System.Transactions.Transaction)">
   290    384               <summary>
   291    385               Manual distributed transaction enlistment support
   292    386               </summary>
   293    387               <param name="transaction">The distributed transaction to enlist in</param>
................................................................................
   585    679               <description>N</description>
   586    680               <description>0</description>
   587    681               </item>
   588    682               <item>
   589    683               <description>Legacy Format</description>
   590    684               <description><b>True</b> - Use the more compatible legacy 3.x database format<br/><b>False</b> - Use the newer 3.3x database format which compresses numbers more effectively</description>
   591    685               <description>N</description>
   592         -            <description>True</description>
          686  +            <description>False</description>
   593    687               </item>
   594    688               <item>
   595    689               <description>Default Timeout</description>
   596    690               <description>{time in seconds}<br/>The default command timeout</description>
   597    691               <description>N</description>
   598    692               <description>30</description>
   599    693               </item>
   600    694               <item>
   601    695               <description>Journal Mode</description>
   602    696               <description><b>Delete</b> - Delete the journal file after a commit<br/><b>Persist</b> - Zero out and leave the journal file on disk after a commit<br/><b>Off</b> - Disable the rollback journal entirely</description>
   603    697               <description>N</description>
   604    698               <description>Delete</description>
   605    699               </item>
          700  +            <item>
          701  +            <description>Read Only</description>
          702  +            <description><b>True</b> - Open the database for read only access<br/><b>False</b> - Open the database for normal read/write access</description>
          703  +            <description>N</description>
          704  +            <description>False</description>
          705  +            </item>
          706  +            <item>
          707  +            <description>Max Pool Size</description>
          708  +            <description>The maximum number of connections for the given connection string that can be in the connection pool</description>
          709  +            <description>N</description>
          710  +            <description>100</description>
          711  +            </item>
          712  +            <item>
          713  +            <description>Default IsolationLevel</description>
          714  +            <description>The default transaciton isolation level</description>
          715  +            <description>N</description>
          716  +            <description>Serializable</description>
          717  +            </item>
   606    718               </list>
   607    719               </remarks>
   608    720           </member>
   609    721           <member name="P:System.Data.SQLite.SQLiteConnection.DataSource">
   610    722               <summary>
   611    723               Returns the filename without extension or path
   612    724               </summary>
................................................................................
   722    834               </summary>
   723    835           </member>
   724    836           <member name="P:System.Data.SQLite.SQLiteDataAdapter.DeleteCommand">
   725    837               <summary>
   726    838               Gets/sets the delete command for this DataAdapter
   727    839               </summary>
   728    840           </member>
   729         -        <member name="T:System.Data.SQLite.TypeAffinity">
   730         -            <summary>
   731         -            SQLite has very limited types, and is inherently text-based.  The first 5 types below represent the sum of all types SQLite
   732         -            understands.  The DateTime extension to the spec is for internal use only.
   733         -            </summary>
   734         -        </member>
   735         -        <member name="F:System.Data.SQLite.TypeAffinity.Uninitialized">
   736         -            <summary>
   737         -            Not used
   738         -            </summary>
   739         -        </member>
   740         -        <member name="F:System.Data.SQLite.TypeAffinity.Int64">
   741         -            <summary>
   742         -            All integers in SQLite default to Int64
   743         -            </summary>
   744         -        </member>
   745         -        <member name="F:System.Data.SQLite.TypeAffinity.Double">
   746         -            <summary>
   747         -            All floating point numbers in SQLite default to double
   748         -            </summary>
   749         -        </member>
   750         -        <member name="F:System.Data.SQLite.TypeAffinity.Text">
   751         -            <summary>
   752         -            The default data type of SQLite is text
   753         -            </summary>
   754         -        </member>
   755         -        <member name="F:System.Data.SQLite.TypeAffinity.Blob">
   756         -            <summary>
   757         -            Typically blob types are only seen when returned from a function
   758         -            </summary>
   759         -        </member>
   760         -        <member name="F:System.Data.SQLite.TypeAffinity.Null">
   761         -            <summary>
   762         -            Null types can be returned from functions
   763         -            </summary>
   764         -        </member>
   765         -        <member name="F:System.Data.SQLite.TypeAffinity.DateTime">
   766         -            <summary>
   767         -            Used internally by this provider
   768         -            </summary>
   769         -        </member>
   770         -        <member name="F:System.Data.SQLite.TypeAffinity.None">
   771         -            <summary>
   772         -            Used internally
   773         -            </summary>
   774         -        </member>
   775         -        <member name="T:System.Data.SQLite.SQLiteDateFormats">
   776         -            <summary>
   777         -            This implementation of SQLite for ADO.NET can process date/time fields in databases in only one of three formats.  Ticks, ISO8601
   778         -            and JulianDay.
   779         -            Ticks is inherently more accurate, but less compatible with 3rd party tools that query the database, and renders the DateTime field
   780         -            unreadable as text without post-processing.
   781         -            ISO8601 is more compatible, readable, fully-processable, but less accurate as it doesn't provide time down to fractions of a second.
   782         -            JulianDay is the numeric format the SQLite uses internally and is arguably the most compatible with 3rd party tools.  It is
   783         -            not readable as text without post-processing.
   784         -            </summary>
   785         -        </member>
   786         -        <member name="F:System.Data.SQLite.SQLiteDateFormats.Ticks">
   787         -            <summary>
   788         -            Using ticks is more accurate but less compatible with other viewers and utilities that access your database.
   789         -            </summary>
   790         -        </member>
   791         -        <member name="F:System.Data.SQLite.SQLiteDateFormats.ISO8601">
   792         -            <summary>
   793         -            The default format for this provider.
   794         -            </summary>
   795         -        </member>
   796         -        <member name="F:System.Data.SQLite.SQLiteDateFormats.JulianDay">
   797         -            <summary>
   798         -            JulianDay format, which is what SQLite uses internally
   799         -            </summary>
   800         -        </member>
   801         -        <member name="T:System.Data.SQLite.SQLiteJournalModeEnum">
   802         -            <summary>
   803         -            This enum determines how SQLite treats its journal file.
   804         -            </summary>
   805         -            <remarks>
   806         -            By default SQLite will create and delete the journal file when needed during a transaction.
   807         -            However, for some computers running certain filesystem monitoring tools, the rapid
   808         -            creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite.
   809         -            
   810         -            If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file"
   811         -            when starting a transaction.  If this is happening, you may want to change the default journal mode to Persist.
   812         -            </remarks>
   813         -        </member>
   814         -        <member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Delete">
   815         -            <summary>
   816         -            The default mode, this causes SQLite to create and destroy the journal file as-needed.
   817         -            </summary>
   818         -        </member>
   819         -        <member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Persist">
   820         -            <summary>
   821         -            When this is set, SQLite will keep the journal file even after a transaction has completed.  It's contents will be erased,
   822         -            and the journal re-used as often as needed.  If it is deleted, it will be recreated the next time it is needed.
   823         -            </summary>
   824         -        </member>
   825         -        <member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Off">
   826         -            <summary>
   827         -            This option disables the rollback journal entirely.  Interrupted transactions or a program crash can cause database
   828         -            corruption in this mode!
   829         -            </summary>
   830         -        </member>
   831         -        <member name="T:System.Data.SQLite.SQLiteType">
   832         -            <summary>
   833         -            Struct used internally to determine the datatype of a column in a resultset
   834         -            </summary>
   835         -        </member>
   836         -        <member name="F:System.Data.SQLite.SQLiteType.Type">
   837         -            <summary>
   838         -            The DbType of the column, or DbType.Object if it cannot be determined
   839         -            </summary>
   840         -        </member>
   841         -        <member name="F:System.Data.SQLite.SQLiteType.Affinity">
   842         -            <summary>
   843         -            The affinity of a column, used for expressions or when Type is DbType.Object
   844         -            </summary>
   845         -        </member>
   846    841           <member name="T:System.Data.SQLite.SQLiteConvert">
   847    842               <summary>
   848    843               This base class provides datatype conversion services for the SQLite provider.
   849    844               </summary>
   850    845           </member>
   851    846           <member name="F:System.Data.SQLite.SQLiteConvert._datetimeFormats">
   852    847               <summary>
................................................................................
   975    970               [3] Five<br/>
   976    971               <br/>
   977    972               Note that the leading and trailing spaces were removed from each item during the split.
   978    973               </remarks>
   979    974               <param name="source">Source string to split apart</param>
   980    975               <param name="separator">Separator character</param>
   981    976               <returns>A string array of the split up elements</returns>
          977  +        </member>
          978  +        <member name="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.Object)">
          979  +            <summary>
          980  +            Convert a value to true or false.
          981  +            </summary>
          982  +            <param name="source">A string or number representing true or false</param>
          983  +            <returns></returns>
          984  +        </member>
          985  +        <member name="M:System.Data.SQLite.SQLiteConvert.ToBoolean(System.String)">
          986  +            <summary>
          987  +            Convert a string to true or false.
          988  +            </summary>
          989  +            <param name="source">A string representing true or false</param>
          990  +            <returns></returns>
          991  +            <remarks>
          992  +            "yes", "no", "y", "n", "0", "1", "on", "off" as well as Boolean.FalseString and Boolean.TrueString will all be
          993  +            converted to a proper boolean value.
          994  +            </remarks>
   982    995           </member>
   983    996           <member name="M:System.Data.SQLite.SQLiteConvert.ColumnToType(System.Data.SQLite.SQLiteStatement,System.Int32,System.Data.SQLite.SQLiteType)">
   984    997               <summary>
   985    998               Determines the data type of a column in a statement
   986    999               </summary>
   987   1000               <param name="stmt">The statement to retrieve information for</param>
   988   1001               <param name="i">The column to retrieve type information on</param>
................................................................................
  1025   1038           </member>
  1026   1039           <member name="M:System.Data.SQLite.SQLiteConvert.TypeNameToDbType(System.String)">
  1027   1040               <summary>
  1028   1041               For a given type name, return a closest-match .NET type
  1029   1042               </summary>
  1030   1043               <param name="Name">The name of the type to match</param>
  1031   1044               <returns>The .NET DBType the text evaluates to.</returns>
         1045  +        </member>
         1046  +        <member name="T:System.Data.SQLite.TypeAffinity">
         1047  +            <summary>
         1048  +            SQLite has very limited types, and is inherently text-based.  The first 5 types below represent the sum of all types SQLite
         1049  +            understands.  The DateTime extension to the spec is for internal use only.
         1050  +            </summary>
         1051  +        </member>
         1052  +        <member name="F:System.Data.SQLite.TypeAffinity.Uninitialized">
         1053  +            <summary>
         1054  +            Not used
         1055  +            </summary>
         1056  +        </member>
         1057  +        <member name="F:System.Data.SQLite.TypeAffinity.Int64">
         1058  +            <summary>
         1059  +            All integers in SQLite default to Int64
         1060  +            </summary>
         1061  +        </member>
         1062  +        <member name="F:System.Data.SQLite.TypeAffinity.Double">
         1063  +            <summary>
         1064  +            All floating point numbers in SQLite default to double
         1065  +            </summary>
         1066  +        </member>
         1067  +        <member name="F:System.Data.SQLite.TypeAffinity.Text">
         1068  +            <summary>
         1069  +            The default data type of SQLite is text
         1070  +            </summary>
         1071  +        </member>
         1072  +        <member name="F:System.Data.SQLite.TypeAffinity.Blob">
         1073  +            <summary>
         1074  +            Typically blob types are only seen when returned from a function
         1075  +            </summary>
         1076  +        </member>
         1077  +        <member name="F:System.Data.SQLite.TypeAffinity.Null">
         1078  +            <summary>
         1079  +            Null types can be returned from functions
         1080  +            </summary>
         1081  +        </member>
         1082  +        <member name="F:System.Data.SQLite.TypeAffinity.DateTime">
         1083  +            <summary>
         1084  +            Used internally by this provider
         1085  +            </summary>
         1086  +        </member>
         1087  +        <member name="F:System.Data.SQLite.TypeAffinity.None">
         1088  +            <summary>
         1089  +            Used internally
         1090  +            </summary>
         1091  +        </member>
         1092  +        <member name="T:System.Data.SQLite.SQLiteDateFormats">
         1093  +            <summary>
         1094  +            This implementation of SQLite for ADO.NET can process date/time fields in databases in only one of three formats.  Ticks, ISO8601
         1095  +            and JulianDay.
         1096  +            </summary>
         1097  +            <remarks>
         1098  +            ISO8601 is more compatible, readable, fully-processable, but less accurate as it doesn't provide time down to fractions of a second.
         1099  +            JulianDay is the numeric format the SQLite uses internally and is arguably the most compatible with 3rd party tools.  It is
         1100  +            not readable as text without post-processing.
         1101  +            Ticks less compatible with 3rd party tools that query the database, and renders the DateTime field unreadable as text without post-processing.
         1102  +            
         1103  +            The preferred order of choosing a datetime format is JulianDay, ISO8601, and then Ticks.  Ticks is mainly present for legacy 
         1104  +            code support.
         1105  +            </remarks>
         1106  +        </member>
         1107  +        <member name="F:System.Data.SQLite.SQLiteDateFormats.Ticks">
         1108  +            <summary>
         1109  +            Using ticks is not recommended and is not well supported with LINQ.
         1110  +            </summary>
         1111  +        </member>
         1112  +        <member name="F:System.Data.SQLite.SQLiteDateFormats.ISO8601">
         1113  +            <summary>
         1114  +            The default format for this provider.
         1115  +            </summary>
         1116  +        </member>
         1117  +        <member name="F:System.Data.SQLite.SQLiteDateFormats.JulianDay">
         1118  +            <summary>
         1119  +            JulianDay format, which is what SQLite uses internally
         1120  +            </summary>
         1121  +        </member>
         1122  +        <member name="T:System.Data.SQLite.SQLiteJournalModeEnum">
         1123  +            <summary>
         1124  +            This enum determines how SQLite treats its journal file.
         1125  +            </summary>
         1126  +            <remarks>
         1127  +            By default SQLite will create and delete the journal file when needed during a transaction.
         1128  +            However, for some computers running certain filesystem monitoring tools, the rapid
         1129  +            creation and deletion of the journal file can cause those programs to fail, or to interfere with SQLite.
         1130  +            
         1131  +            If a program or virus scanner is interfering with SQLite's journal file, you may receive errors like "unable to open database file"
         1132  +            when starting a transaction.  If this is happening, you may want to change the default journal mode to Persist.
         1133  +            </remarks>
         1134  +        </member>
         1135  +        <member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Delete">
         1136  +            <summary>
         1137  +            The default mode, this causes SQLite to create and destroy the journal file as-needed.
         1138  +            </summary>
         1139  +        </member>
         1140  +        <member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Persist">
         1141  +            <summary>
         1142  +            When this is set, SQLite will keep the journal file even after a transaction has completed.  It's contents will be erased,
         1143  +            and the journal re-used as often as needed.  If it is deleted, it will be recreated the next time it is needed.
         1144  +            </summary>
         1145  +        </member>
         1146  +        <member name="F:System.Data.SQLite.SQLiteJournalModeEnum.Off">
         1147  +            <summary>
         1148  +            This option disables the rollback journal entirely.  Interrupted transactions or a program crash can cause database
         1149  +            corruption in this mode!
         1150  +            </summary>
         1151  +        </member>
         1152  +        <member name="T:System.Data.SQLite.SQLiteType">
         1153  +            <summary>
         1154  +            Struct used internally to determine the datatype of a column in a resultset
         1155  +            </summary>
         1156  +        </member>
         1157  +        <member name="F:System.Data.SQLite.SQLiteType.Type">
         1158  +            <summary>
         1159  +            The DbType of the column, or DbType.Object if it cannot be determined
         1160  +            </summary>
         1161  +        </member>
         1162  +        <member name="F:System.Data.SQLite.SQLiteType.Affinity">
         1163  +            <summary>
         1164  +            The affinity of a column, used for expressions or when Type is DbType.Object
         1165  +            </summary>
  1032   1166           </member>
  1033   1167           <member name="T:System.Data.SQLite.SQLiteTransaction">
  1034   1168               <summary>
  1035   1169               SQLite implementation of DbTransaction.
  1036   1170               </summary>
  1037   1171           </member>
  1038   1172           <member name="F:System.Data.SQLite.SQLiteTransaction._cnn">
................................................................................
  1122   1256               </summary>
  1123   1257           </member>
  1124   1258           <member name="T:System.Data.SQLite.SQLiteKeyReader.KeyQuery">
  1125   1259               <summary>
  1126   1260               A single sub-query for a given table/database.
  1127   1261               </summary>
  1128   1262           </member>
  1129         -        <member name="T:System.Data.SQLite.FunctionType">
  1130         -            <summary>
  1131         -            The type of user-defined function to declare
  1132         -            </summary>
  1133         -        </member>
  1134         -        <member name="F:System.Data.SQLite.FunctionType.Scalar">
  1135         -            <summary>
  1136         -            Scalar functions are designed to be called and return a result immediately.  Examples include ABS(), Upper(), Lower(), etc.
  1137         -            </summary>
  1138         -        </member>
  1139         -        <member name="F:System.Data.SQLite.FunctionType.Aggregate">
  1140         -            <summary>
  1141         -            Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data.
  1142         -            Examples include SUM(), COUNT(), AVG(), etc.
  1143         -            </summary>
  1144         -        </member>
  1145         -        <member name="F:System.Data.SQLite.FunctionType.Collation">
  1146         -            <summary>
  1147         -            Collation sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause.  Typically text in an ORDER BY is
  1148         -            sorted using a straight case-insensitive comparison function.  Custom collating sequences can be used to alter the behavior of text sorting
  1149         -            in a user-defined manner.
  1150         -            </summary>
  1151         -        </member>
  1152         -        <member name="T:System.Data.SQLite.SQLiteCallback">
  1153         -            <summary>
  1154         -            An internal callback delegate declaration.
  1155         -            </summary>
  1156         -            <param name="context">Raw context pointer for the user function</param>
  1157         -            <param name="nArgs">Count of arguments to the function</param>
  1158         -            <param name="argsptr">A pointer to the array of argument pointers</param>
  1159         -        </member>
  1160         -        <member name="T:System.Data.SQLite.SQLiteCollation">
  1161         -            <summary>
  1162         -            Internal callback delegate for implementing collation sequences
  1163         -            </summary>
  1164         -            <param name="len1">Length of the string pv1</param>
  1165         -            <param name="pv1">Pointer to the first string to compare</param>
  1166         -            <param name="len2">Length of the string pv2</param>
  1167         -            <param name="pv2">Pointer to the second string to compare</param>
  1168         -            <returns>Returns -1 if the first string is less than the second.  0 if they are equal, or 1 if the first string is greater
  1169         -            than the second.</returns>
  1170         -        </member>
  1171   1263           <member name="T:System.Data.SQLite.SQLiteFunction">
  1172   1264               <summary>
  1173   1265               This abstract class is designed to handle user-defined functions easily.  An instance of the derived class is made for each
  1174   1266               connection to the database.
  1175   1267               </summary>
  1176   1268               <remarks>
  1177   1269               Although there is one instance of a class derived from SQLiteFunction per database connection, the derived class has no access
................................................................................
  1187   1279               </remarks>
  1188   1280           </member>
  1189   1281           <member name="F:System.Data.SQLite.SQLiteFunction._base">
  1190   1282               <summary>
  1191   1283               The base connection this function is attached to
  1192   1284               </summary>
  1193   1285           </member>
  1194         -        <member name="F:System.Data.SQLite.SQLiteFunction._interopCookie">
  1195         -            <summary>
  1196         -            Used internally to keep track of memory allocated for aggregate functions
  1197         -            </summary>
  1198         -        </member>
  1199   1286           <member name="F:System.Data.SQLite.SQLiteFunction._contextDataList">
  1200   1287               <summary>
  1201   1288               Internal array used to keep track of aggregate function context data
  1202   1289               </summary>
  1203   1290           </member>
  1204   1291           <member name="F:System.Data.SQLite.SQLiteFunction._InvokeFunc">
  1205   1292               <summary>
................................................................................
  1216   1303               Holds a reference to the callback function for finalizing an aggregate function
  1217   1304               </summary>
  1218   1305           </member>
  1219   1306           <member name="F:System.Data.SQLite.SQLiteFunction._CompareFunc">
  1220   1307               <summary>
  1221   1308               Holds a reference to the callback function for collation sequences
  1222   1309               </summary>
         1310  +        </member>
         1311  +        <member name="F:System.Data.SQLite.SQLiteFunction._context">
         1312  +            <summary>
         1313  +            Current context of the current callback.  Only valid during a callback
         1314  +            </summary>
  1223   1315           </member>
  1224   1316           <member name="F:System.Data.SQLite.SQLiteFunction._registeredFunctions">
  1225   1317               <summary>
  1226   1318               This static list contains all the user-defined functions declared using the proper attributes.
  1227   1319               </summary>
  1228   1320           </member>
  1229   1321           <member name="M:System.Data.SQLite.SQLiteFunction.#ctor">
................................................................................
  1306   1398               <summary>
  1307   1399               Internal scalar callback function, which wraps the raw context pointer and calls the virtual Invoke() method.
  1308   1400               </summary>
  1309   1401               <param name="context">A raw context pointer</param>
  1310   1402               <param name="nArgs">Number of arguments passed in</param>
  1311   1403               <param name="argsptr">A pointer to the array of arguments</param>
  1312   1404           </member>
  1313         -        <member name="M:System.Data.SQLite.SQLiteFunction.CompareCallback(System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
         1405  +        <member name="M:System.Data.SQLite.SQLiteFunction.CompareCallback(System.IntPtr,System.Int32,System.IntPtr,System.Int32,System.IntPtr)">
  1314   1406               <summary>
  1315   1407               Internal collation sequence function, which wraps up the raw string pointers and executes the Compare() virtual function.
  1316   1408               </summary>
         1409  +            <param name="ptr">Not used</param>
  1317   1410               <param name="len1">Length of the string pv1</param>
  1318   1411               <param name="ptr1">Pointer to the first string to compare</param>
  1319   1412               <param name="len2">Length of the string pv2</param>
  1320   1413               <param name="ptr2">Pointer to the second string to compare</param>
  1321   1414               <returns>Returns -1 if the first string is less than the second.  0 if they are equal, or 1 if the first string is greater
  1322   1415               than the second.</returns>
  1323   1416           </member>
................................................................................
  1330   1423               That includes pulling out the user's contextData and updating it after the call is made.  We use a sorted list for this so
  1331   1424               binary searches can be done to find the data.
  1332   1425               </remarks>
  1333   1426               <param name="context">A raw context pointer</param>
  1334   1427               <param name="nArgs">Number of arguments passed in</param>
  1335   1428               <param name="argsptr">A pointer to the array of arguments</param>
  1336   1429           </member>
  1337         -        <member name="M:System.Data.SQLite.SQLiteFunction.FinalCallback(System.IntPtr,System.Int32,System.IntPtr)">
         1430  +        <member name="M:System.Data.SQLite.SQLiteFunction.FinalCallback(System.IntPtr)">
  1338   1431               <summary>
  1339   1432               An internal aggregate Final function callback, which wraps the context pointer and calls the virtual Final() method.
  1340   1433               </summary>
  1341   1434               <param name="context">A raw context pointer</param>
  1342         -            <param name="nArgs">Not used, always zero</param>
  1343         -            <param name="argsptr">Not used, always zero</param>
  1344   1435           </member>
  1345   1436           <member name="M:System.Data.SQLite.SQLiteFunction.Dispose(System.Boolean)">
  1346   1437               <summary>
  1347   1438               Placeholder for a user-defined disposal routine
  1348   1439               </summary>
  1349   1440               <param name="disposing">True if the object is being disposed explicitly</param>
  1350   1441           </member>
................................................................................
  1370   1461           <member name="M:System.Data.SQLite.SQLiteFunction.BindFunctions(System.Data.SQLite.SQLiteBase)">
  1371   1462               <summary>
  1372   1463               Called by SQLiteBase derived classes, this function binds all user-defined functions to a connection.
  1373   1464               It is done this way so that all user-defined functions will access the database using the same encoding scheme
  1374   1465               as the connection (UTF-8 or UTF-16).
  1375   1466               </summary>
  1376   1467               <remarks>
  1377         -            The wrapper functions that interop with SQLite will create a unique cooke value, which internally is a pointer to
         1468  +            The wrapper functions that interop with SQLite will create a unique cookie value, which internally is a pointer to
  1378   1469               all the wrapped callback functions.  The interop function uses it to map CDecl callbacks to StdCall callbacks.
  1379   1470               </remarks>
  1380   1471               <param name="sqlbase">The base object on which the functions are to bind</param>
  1381   1472               <returns>Returns an array of functions which the connection object should retain until the connection is closed.</returns>
  1382   1473           </member>
  1383   1474           <member name="P:System.Data.SQLite.SQLiteFunction.SQLiteConvert">
  1384   1475               <summary>
  1385   1476               Returns a reference to the underlying connection's SQLiteConvert class, which can be used to convert
  1386   1477               strings and DateTime's into the current connection's encoding schema.
  1387   1478               </summary>
  1388   1479           </member>
         1480  +        <member name="T:System.Data.SQLite.SQLiteFunctionEx">
         1481  +            <summary>
         1482  +            Extends SQLiteFunction and allows an inherited class to obtain the collating sequence associated with a function call.
         1483  +            </summary>
         1484  +            <remarks>
         1485  +            User-defined functions can call the GetCollationSequence() method in this class and use it to compare strings and char arrays.
         1486  +            </remarks>
         1487  +        </member>
         1488  +        <member name="M:System.Data.SQLite.SQLiteFunctionEx.GetCollationSequence">
         1489  +            <summary>
         1490  +            Obtains the collating sequence in effect for the given function.
         1491  +            </summary>
         1492  +            <remarks>
         1493  +            As an optimization, SQLite does not fill in this information when calling functions, unless the NeedCollationSequence
         1494  +            boolean value is set to true in the SQLiteFunctionAttribute.
         1495  +            </remarks>
         1496  +            <returns></returns>
         1497  +        </member>
         1498  +        <member name="T:System.Data.SQLite.FunctionType">
         1499  +            <summary>
         1500  +            The type of user-defined function to declare
         1501  +            </summary>
         1502  +        </member>
         1503  +        <member name="F:System.Data.SQLite.FunctionType.Scalar">
         1504  +            <summary>
         1505  +            Scalar functions are designed to be called and return a result immediately.  Examples include ABS(), Upper(), Lower(), etc.
         1506  +            </summary>
         1507  +        </member>
         1508  +        <member name="F:System.Data.SQLite.FunctionType.Aggregate">
         1509  +            <summary>
         1510  +            Aggregate functions are designed to accumulate data until the end of a call and then return a result gleaned from the accumulated data.
         1511  +            Examples include SUM(), COUNT(), AVG(), etc.
         1512  +            </summary>
         1513  +        </member>
         1514  +        <member name="F:System.Data.SQLite.FunctionType.Collation">
         1515  +            <summary>
         1516  +            Collation sequences are used to sort textual data in a custom manner, and appear in an ORDER BY clause.  Typically text in an ORDER BY is
         1517  +            sorted using a straight case-insensitive comparison function.  Custom collating sequences can be used to alter the behavior of text sorting
         1518  +            in a user-defined manner.
         1519  +            </summary>
         1520  +        </member>
         1521  +        <member name="T:System.Data.SQLite.SQLiteCallback">
         1522  +            <summary>
         1523  +            An internal callback delegate declaration.
         1524  +            </summary>
         1525  +            <param name="context">Raw context pointer for the user function</param>
         1526  +            <param name="nArgs">Count of arguments to the function</param>
         1527  +            <param name="argsptr">A pointer to the array of argument pointers</param>
         1528  +        </member>
         1529  +        <member name="T:System.Data.SQLite.SQLiteFinalCallback">
         1530  +            <summary>
         1531  +            An internal final callback delegate declaration.
         1532  +            </summary>
         1533  +            <param name="context">Raw context pointer for the user function</param>
         1534  +        </member>
         1535  +        <member name="T:System.Data.SQLite.SQLiteCollation">
         1536  +            <summary>
         1537  +            Internal callback delegate for implementing collation sequences
         1538  +            </summary>
         1539  +            <param name="puser">Not used</param>
         1540  +            <param name="len1">Length of the string pv1</param>
         1541  +            <param name="pv1">Pointer to the first string to compare</param>
         1542  +            <param name="len2">Length of the string pv2</param>
         1543  +            <param name="pv2">Pointer to the second string to compare</param>
         1544  +            <returns>Returns -1 if the first string is less than the second.  0 if they are equal, or 1 if the first string is greater
         1545  +            than the second.</returns>
         1546  +        </member>
         1547  +        <member name="T:System.Data.SQLite.CollationTypeEnum">
         1548  +            <summary>
         1549  +            The type of collating sequence
         1550  +            </summary>
         1551  +        </member>
         1552  +        <member name="F:System.Data.SQLite.CollationTypeEnum.Binary">
         1553  +            <summary>
         1554  +            The built-in BINARY collating sequence
         1555  +            </summary>
         1556  +        </member>
         1557  +        <member name="F:System.Data.SQLite.CollationTypeEnum.NoCase">
         1558  +            <summary>
         1559  +            The built-in NOCASE collating sequence
         1560  +            </summary>
         1561  +        </member>
         1562  +        <member name="F:System.Data.SQLite.CollationTypeEnum.Reverse">
         1563  +            <summary>
         1564  +            The built-in REVERSE collating sequence
         1565  +            </summary>
         1566  +        </member>
         1567  +        <member name="F:System.Data.SQLite.CollationTypeEnum.Custom">
         1568  +            <summary>
         1569  +            A custom user-defined collating sequence
         1570  +            </summary>
         1571  +        </member>
         1572  +        <member name="T:System.Data.SQLite.CollationEncodingEnum">
         1573  +            <summary>
         1574  +            The encoding type the collation sequence uses
         1575  +            </summary>
         1576  +        </member>
         1577  +        <member name="F:System.Data.SQLite.CollationEncodingEnum.UTF8">
         1578  +            <summary>
         1579  +            The collation sequence is UTF8
         1580  +            </summary>
         1581  +        </member>
         1582  +        <member name="F:System.Data.SQLite.CollationEncodingEnum.UTF16LE">
         1583  +            <summary>
         1584  +            The collation sequence is UTF16 little-endian
         1585  +            </summary>
         1586  +        </member>
         1587  +        <member name="F:System.Data.SQLite.CollationEncodingEnum.UTF16BE">
         1588  +            <summary>
         1589  +            The collation sequence is UTF16 big-endian
         1590  +            </summary>
         1591  +        </member>
         1592  +        <member name="T:System.Data.SQLite.CollationSequence">
         1593  +            <summary>
         1594  +            A struct describing the collating sequence a function is executing in
         1595  +            </summary>
         1596  +        </member>
         1597  +        <member name="F:System.Data.SQLite.CollationSequence.Name">
         1598  +            <summary>
         1599  +            The name of the collating sequence
         1600  +            </summary>
         1601  +        </member>
         1602  +        <member name="F:System.Data.SQLite.CollationSequence.Type">
         1603  +            <summary>
         1604  +            The type of collating sequence
         1605  +            </summary>
         1606  +        </member>
         1607  +        <member name="F:System.Data.SQLite.CollationSequence.Encoding">
         1608  +            <summary>
         1609  +            The text encoding of the collation sequence
         1610  +            </summary>
         1611  +        </member>
         1612  +        <member name="F:System.Data.SQLite.CollationSequence._func">
         1613  +            <summary>
         1614  +            Context of the function that requested the collating sequence
         1615  +            </summary>
         1616  +        </member>
         1617  +        <member name="M:System.Data.SQLite.CollationSequence.Compare(System.String,System.String)">
         1618  +            <summary>
         1619  +            Calls the base collating sequence to compare two strings
         1620  +            </summary>
         1621  +            <param name="s1">The first string to compare</param>
         1622  +            <param name="s2">The second string to compare</param>
         1623  +            <returns>-1 if s1 is less than s2, 0 if s1 is equal to s2, and 1 if s1 is greater than s2</returns>
         1624  +        </member>
         1625  +        <member name="M:System.Data.SQLite.CollationSequence.Compare(System.Char[],System.Char[])">
         1626  +            <summary>
         1627  +            Calls the base collating sequence to compare two character arrays
         1628  +            </summary>
         1629  +            <param name="c1">The first array to compare</param>
         1630  +            <param name="c2">The second array to compare</param>
         1631  +            <returns>-1 if c1 is less than c2, 0 if c1 is equal to c2, and 1 if c1 is greater than c2</returns>
         1632  +        </member>
  1389   1633           <member name="T:System.Data.SQLite.SQLiteDataReader">
  1390   1634               <summary>
  1391   1635               SQLite implementation of DbDataReader.
  1392   1636               </summary>
  1393   1637           </member>
  1394   1638           <member name="F:System.Data.SQLite.SQLiteDataReader._command">
  1395   1639               <summary>
................................................................................
  2001   2245               Returns underlying column information on the given view
  2002   2246               </summary>
  2003   2247           </member>
  2004   2248           <member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.ForeignKeys">
  2005   2249               <summary>
  2006   2250               Returns foreign key information for the given catalog
  2007   2251               </summary>
         2252  +        </member>
         2253  +        <member name="F:System.Data.SQLite.SQLiteMetaDataCollectionNames.Triggers">
         2254  +            <summary>
         2255  +            Returns the triggers on the database
         2256  +            </summary>
  2008   2257           </member>
  2009   2258           <member name="T:System.Data.SQLite.SQLiteCommand">
  2010   2259               <summary>
  2011   2260               SQLite implementation of DbCommand.
  2012   2261               </summary>
  2013   2262           </member>
  2014   2263           <member name="F:System.Data.SQLite.SQLiteCommand._commandText">
................................................................................
  2249   2498           </member>
  2250   2499           <member name="T:System.Data.SQLite.SQLiteBase">
  2251   2500               <summary>
  2252   2501               This internal class provides the foundation of SQLite support.  It defines all the abstract members needed to implement
  2253   2502               a SQLite data provider, and inherits from SQLiteConvert which allows for simple translations of string to and from SQLite.
  2254   2503               </summary>
  2255   2504           </member>
  2256         -        <member name="M:System.Data.SQLite.SQLiteBase.Open(System.String,System.Boolean)">
         2505  +        <member name="M:System.Data.SQLite.SQLiteBase.Open(System.String,System.Data.SQLite.SQLiteOpenFlagsEnum,System.Int32,System.Boolean)">
  2257   2506               <summary>
  2258   2507               Opens a database.
  2259   2508               </summary>
  2260         -            <param name="usePool">If true, the connection can be pulled from the connection pool</param>
  2261   2509               <remarks>
  2262   2510               Implementers should call SQLiteFunction.BindFunctions() and save the array after opening a connection
  2263   2511               to bind all attributed user-defined functions and collating sequences to the new connection.
  2264   2512               </remarks>
  2265   2513               <param name="strFilename">The filename of the database to open.  SQLite automatically creates it if it doesn't exist.</param>
         2514  +            <param name="flags">The open flags to use when creating the connection</param>
         2515  +            <param name="maxPoolSize">The maximum size of the pool for the given filename</param>
         2516  +            <param name="usePool">If true, the connection can be pulled from the connection pool</param>
  2266   2517           </member>
  2267   2518           <member name="M:System.Data.SQLite.SQLiteBase.Close">
  2268   2519               <summary>
  2269   2520               Closes the currently-open database.
  2270   2521               </summary>
  2271   2522               <remarks>
  2272   2523               After the database has been closed implemeters should call SQLiteFunction.UnbindFunctions() to deallocate all interop allocated
................................................................................
  2280   2531               <param name="nTimeoutMS">The number of milliseconds to wait before returning SQLITE_BUSY</param>
  2281   2532           </member>
  2282   2533           <member name="M:System.Data.SQLite.SQLiteBase.SQLiteLastError">
  2283   2534               <summary>
  2284   2535               Returns the text of the last error issued by SQLite
  2285   2536               </summary>
  2286   2537               <returns></returns>
         2538  +        </member>
         2539  +        <member name="M:System.Data.SQLite.SQLiteBase.ClearPool">
         2540  +            <summary>
         2541  +            When pooling is enabled, force this connection to be disposed rather than returned to the pool
         2542  +            </summary>
  2287   2543           </member>
  2288   2544           <member name="M:System.Data.SQLite.SQLiteBase.Prepare(System.Data.SQLite.SQLiteConnection,System.String,System.Data.SQLite.SQLiteStatement,System.UInt32,System.String@)">
  2289   2545               <summary>
  2290   2546               Prepares a SQL statement for execution.
  2291   2547               </summary>
  2292   2548               <param name="cnn">The source connection preparing the command.  Can be null for any caller except LINQ</param>
  2293   2549               <param name="strSql">The SQL command text to prepare</param>
................................................................................
  2387   2643               which saves space in the database.
  2388   2644               </summary>
  2389   2645           </member>
  2390   2646           <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DataSource">
  2391   2647               <summary>
  2392   2648               Gets/Sets the filename to open on the connection string.
  2393   2649               </summary>
         2650  +        </member>
         2651  +        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Uri">
         2652  +            <summary>
         2653  +            An alternate to the data source property
         2654  +            </summary>
  2394   2655           </member>
  2395   2656           <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultTimeout">
  2396   2657               <summary>
  2397   2658               Gets/sets the default command timeout for newly-created commands.  This is especially useful for 
  2398   2659               commands used internally such as inside a SQLiteTransaction, where setting the timeout is not possible.
  2399   2660               </summary>
  2400   2661           </member>
................................................................................
  2411   2672               </summary>
  2412   2673           </member>
  2413   2674           <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.LegacyFormat">
  2414   2675               <summary>
  2415   2676               If enabled, uses the legacy 3.xx format for maximum compatibility, but results in larger
  2416   2677               database sizes.
  2417   2678               </summary>
         2679  +        </member>
         2680  +        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.ReadOnly">
         2681  +            <summary>
         2682  +            When enabled, the database will be opened for read-only access and writing will be disabled.
         2683  +            </summary>
  2418   2684           </member>
  2419   2685           <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.Password">
  2420   2686               <summary>
  2421   2687               Gets/sets the database encryption password
  2422   2688               </summary>
  2423   2689           </member>
  2424   2690           <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.PageSize">
................................................................................
  2436   2702               Gets/Sets the cache size for the connection.
  2437   2703               </summary>
  2438   2704           </member>
  2439   2705           <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DateTimeFormat">
  2440   2706               <summary>
  2441   2707               Gets/Sets the datetime format for the connection.
  2442   2708               </summary>
         2709  +        </member>
         2710  +        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.JournalMode">
         2711  +            <summary>
         2712  +            Determines how SQLite handles the transaction journal file.
         2713  +            </summary>
         2714  +        </member>
         2715  +        <member name="P:System.Data.SQLite.SQLiteConnectionStringBuilder.DefaultIsolationLevel">
         2716  +            <summary>
         2717  +            Sets the default isolation level for transactions on the connection.
         2718  +            </summary>
  2443   2719           </member>
  2444   2720           <member name="T:System.Data.SQLite.SQLite3">
  2445   2721               <summary>
  2446   2722               This class implements SQLiteBase completely, and is the guts of the code that interop's SQLite with .NET
  2447   2723               </summary>
  2448   2724           </member>
  2449   2725           <member name="F:System.Data.SQLite.SQLite3._sql">

Changes to bin/System.Data.SQLite.dll.

cannot compute difference between binary files

Changes to bin/System.Data.SQLite.lib.

cannot compute difference between binary files

Changes to bin/itanium/System.Data.SQLite.DLL.

cannot compute difference between binary files

Changes to bin/itanium/System.Data.SQLite.lib.

cannot compute difference between binary files

Changes to bin/test.exe.

cannot compute difference between binary files

Changes to bin/x64/System.Data.SQLite.DLL.

cannot compute difference between binary files

Changes to bin/x64/System.Data.SQLite.lib.

cannot compute difference between binary files