System.Data.SQLite
Check-in [d3a5e943d5]
Not logged in

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

Overview
Comment:Initial updates to support Visual Studio 2015.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | vs2015
Files: files | file ages | folders
SHA1: d3a5e943d584c0cda742e0b5efe00d9b649fc3e9
User & Date: mistachkin 2015-07-20 17:27:51
Context
2015-07-20
18:18
More changes. check-in: 719d9e6cac user: mistachkin tags: vs2015
17:27
Initial updates to support Visual Studio 2015. check-in: d3a5e943d5 user: mistachkin tags: vs2015
2015-07-17
20:37
Add UnbindAllFunctions method to the SQLiteConnection class. check-in: 7d103d8fd5 user: mistachkin tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to Targets/SQLite.NET.Settings.targets.

52
53
54
55
56
57
58





59
60
61
62
63
64
65
...
140
141
142
143
144
145
146









147
148
149
150
151
152
153
...
189
190
191
192
193
194
195










196
197
198
199
200
201
202
                     Exists('$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx45')" />

  <Import Project="$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx451"
          Condition="'$(NetFx451)' != '' And '$(NetFx451)' != 'false' And
                     ('$(NetFx451Settings)' == '' Or '$(NetFx451Settings)' != 'false') And
                     Exists('$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx451')" />






  <!--
  ******************************************************************************
  **                       [Fairly] Generic Properties                        **
  ******************************************************************************
  -->

  <PropertyGroup>
................................................................................
              default, this is disabled.  This must be enabled to successfully
              build the project using Visual Studio 2013 and/or the .NET
              Framework 4.5.1 (if necessary, it will typically be enabled from
              within the project file itself).
    -->
    <NetFx451 Condition="'$(NetFx451)' == ''">false</NetFx451>










    <!--
        NOTE: Load the version-specific settings for the .NET Framework 2.0?
              By default, this is disabled.  If this is enabled when compiling
              for the .NET Framework 2.0, the version-specific settings file
              "SQLite.NET.Settings.targets.netFx20" will be loaded if it is
              actually present, before any other settings in this file are
              processed.
................................................................................
              By default, this is disabled.  If this is enabled when compiling
              for the .NET Framework 4.5.1, the version-specific settings file
              "SQLite.NET.Settings.targets.netFx451" will be loaded if it is
              actually present, before any other settings in this file are
              processed.
    -->
    <NetFx451Settings Condition="'$(NetFx451Settings)' == ''">false</NetFx451Settings>










  </PropertyGroup>

  <!--
  ******************************************************************************
  **                            Feature Properties                            **
  ******************************************************************************
  -->







>
>
>
>
>







 







>
>
>
>
>
>
>
>
>







 







>
>
>
>
>
>
>
>
>
>







52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
...
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
...
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
                     Exists('$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx45')" />

  <Import Project="$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx451"
          Condition="'$(NetFx451)' != '' And '$(NetFx451)' != 'false' And
                     ('$(NetFx451Settings)' == '' Or '$(NetFx451Settings)' != 'false') And
                     Exists('$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx451')" />

  <Import Project="$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx46"
          Condition="'$(NetFx46)' != '' And '$(NetFx46)' != 'false' And
                     ('$(NetFx46Settings)' == '' Or '$(NetFx46Settings)' != 'false') And
                     Exists('$(SQLiteNetDir)\Targets\SQLite.NET.Settings.targets.netFx46')" />

  <!--
  ******************************************************************************
  **                       [Fairly] Generic Properties                        **
  ******************************************************************************
  -->

  <PropertyGroup>
................................................................................
              default, this is disabled.  This must be enabled to successfully
              build the project using Visual Studio 2013 and/or the .NET
              Framework 4.5.1 (if necessary, it will typically be enabled from
              within the project file itself).
    -->
    <NetFx451 Condition="'$(NetFx451)' == ''">false</NetFx451>

    <!--
        NOTE: Only use functionality available in the .NET Framework 4.6?  By
              default, this is disabled.  This must be enabled to successfully
              build the project using Visual Studio 2015 and/or the .NET
              Framework 4.6 (if necessary, it will typically be enabled from
              within the project file itself).
    -->
    <NetFx46 Condition="'$(NetFx46)' == ''">false</NetFx46>

    <!--
        NOTE: Load the version-specific settings for the .NET Framework 2.0?
              By default, this is disabled.  If this is enabled when compiling
              for the .NET Framework 2.0, the version-specific settings file
              "SQLite.NET.Settings.targets.netFx20" will be loaded if it is
              actually present, before any other settings in this file are
              processed.
................................................................................
              By default, this is disabled.  If this is enabled when compiling
              for the .NET Framework 4.5.1, the version-specific settings file
              "SQLite.NET.Settings.targets.netFx451" will be loaded if it is
              actually present, before any other settings in this file are
              processed.
    -->
    <NetFx451Settings Condition="'$(NetFx451Settings)' == ''">false</NetFx451Settings>

    <!--
        NOTE: Load the version-specific settings for the .NET Framework 4.6?
              By default, this is disabled.  If this is enabled when compiling
              for the .NET Framework 4.6, the version-specific settings file
              "SQLite.NET.Settings.targets.netFx46" will be loaded if it is
              actually present, before any other settings in this file are
              processed.
    -->
    <NetFx46Settings Condition="'$(NetFx46Settings)' == ''">false</NetFx46Settings>
  </PropertyGroup>

  <!--
  ******************************************************************************
  **                            Feature Properties                            **
  ******************************************************************************
  -->

Changes to Targets/SQLite.NET.Settings.targets.netFx35.

11
12
13
14
15
16
17

18
19
20
21
22
23
                            '$(ConfigurationYear)' != '2005' And
                            '$(ConfigurationYear)' != '2008'">
    <NetFx20>true</NetFx20>
    <NetFx35>true</NetFx35>
    <NetFx40>false</NetFx40>
    <NetFx45>false</NetFx45>
    <NetFx451>false</NetFx451>

    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
    <TargetFrameworkProfile></TargetFrameworkProfile>
    <Prefer32Bit>false</Prefer32Bit>
    <PlatformToolset>v110</PlatformToolset>
  </PropertyGroup>
</Project>







>






11
12
13
14
15
16
17
18
19
20
21
22
23
24
                            '$(ConfigurationYear)' != '2005' And
                            '$(ConfigurationYear)' != '2008'">
    <NetFx20>true</NetFx20>
    <NetFx35>true</NetFx35>
    <NetFx40>false</NetFx40>
    <NetFx45>false</NetFx45>
    <NetFx451>false</NetFx451>
    <NetFx46>false</NetFx46>
    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
    <TargetFrameworkProfile></TargetFrameworkProfile>
    <Prefer32Bit>false</Prefer32Bit>
    <PlatformToolset>v110</PlatformToolset>
  </PropertyGroup>
</Project>

Changes to lib/System.Data.SQLite/common.eagle.

19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
..
37
38
39
40
41
42
43



44
45
46
47
48
49
50
..
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
...
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
...
189
190
191
192
193
194
195



196
197
198
199
200
201
202
....
3687
3688
3689
3690
3691
3692
3693



3694
3695
3696
3697
3698
3699
3700
....
3702
3703
3704
3705
3706
3707
3708



3709
3710
3711
3712
3713
3714
3715
....
3794
3795
3796
3797
3798
3799
3800





3801
3802
3803
3804
3805
3806
3807
....
3819
3820
3821
3822
3823
3824
3825





3826
3827
3828
3829
3830
3831

3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
    ###########################################################################

    proc getBuildYear {} {
      #
      # NOTE: See if the "year" setting has been overridden by the user (e.g.
      #       on the command line).  This helps control exactly which set of
      #       binaries we are testing, those produced using the Visual Studio
      #       2005, 2008, 2010, 2012, or 2013 build systems.  To override this
      #       value via the command line, enter a command similar to one of
      #       the following (all on one line):
      #
      #       EagleShell.exe -anyInitialize "set test_year 2005"
      #         -file .\path\to\all.eagle
      #
      #       EagleShell.exe -anyInitialize "set test_year 2008"
      #         -file .\path\to\all.eagle
      #
................................................................................
      #         -file .\path\to\all.eagle
      #
      #       EagleShell.exe -anyInitialize "set test_year 2012"
      #         -file .\path\to\all.eagle
      #
      #       EagleShell.exe -anyInitialize "set test_year 2013"
      #         -file .\path\to\all.eagle



      #
      #       EagleShell.exe -anyInitialize "unset -nocomplain test_year"
      #         -file .\path\to\all.eagle
      #
      if {[info exists ::test_year] && [string length $::test_year] > 0} then {
        #
        # NOTE: Use the specified test year.  If this variable is not set, the
................................................................................
        #       default value will be based on whether or not Eagle has been
        #       compiled against the CLR v2.0 or CLR v4.0.
        #
        return $::test_year
      } else {
        #
        # NOTE: If Eagle has been compiled against the CLR v4.0, use "2010" by
        #       default (we could use "2012" or "2013" in that case as well) as
        #       the test year; otherwise, use "2008" by default (we could use
        #       "2005" in that case as well).  If another major [incompatible]
        #       version of the CLR is released, this check will have to be
        #       changed.  The default test year to use for a particular CLR
        #       version may be overridden by setting the global variable
        #       "test_year_clr_v$X", where "$X" may [currently] be either "2"
        #       or "4".
        #
        if {[haveConstraint imageRuntime40]} then {
          if {[info exists ::test_year_clr_v4] && \
              [string length $::test_year_clr_v4] > 0} then {
            #
            # NOTE: Use the specified test year for the CLR v4.0.
            #
................................................................................
        # NOTE: Use the specified list of test years.
        #
        return $::test_years
      } else {
        #
        # NOTE: Use the default list of test years (i.e. all).
        #
        return [list 2005 2008 2010 2012 2013]
      }
    }
 
    proc getBuildNetFx {} {
      #
      # NOTE: See if the test .NET Framework setting has been overridden by
      #       the user (e.g. on the command line).
................................................................................
          }
          2012 {
            return netFx45
          }
          2013 {
            return netFx451
          }



          default {
            return netFx35; # TODO: Good "fallback" default?
          }
        }
      }
    }
 
................................................................................
            [getSQLiteTestDataPath] Installer_Test_Vs2010.log]]

        set testInstallVs2012LogFile [file nativename [file join \
            [getSQLiteTestDataPath] Installer_Test_Vs2012.log]]

        set testInstallVs2013LogFile [file nativename [file join \
            [getSQLiteTestDataPath] Installer_Test_Vs2013.log]]




        set testUninstallVs2005LogFile [file nativename [file join \
            [getSQLiteTestDataPath] Uninstaller_Test_Vs2005.log]]

        set testUninstallVs2008LogFile [file nativename [file join \
            [getSQLiteTestDataPath] Uninstaller_Test_Vs2008.log]]

................................................................................
            [getSQLiteTestDataPath] Uninstaller_Test_Vs2010.log]]

        set testUninstallVs2012LogFile [file nativename [file join \
            [getSQLiteTestDataPath] Uninstaller_Test_Vs2012.log]]

        set testUninstallVs2013LogFile [file nativename [file join \
            [getSQLiteTestDataPath] Uninstaller_Test_Vs2013.log]]




        #######################################################################

        if {![haveConstraint [appendArgs file_ \
            [file tail $entityFrameworkDllFile]]]} then {
          checkForFile $test_channel $entityFrameworkDllFile
        }
................................................................................
          checkForFile $test_channel $testInstallVs2012LogFile
        }

        if {![haveConstraint [appendArgs file_ \
            [file tail $testInstallVs2013LogFile]]]} then {
          checkForFile $test_channel $testInstallVs2013LogFile
        }






        if {![haveConstraint [appendArgs file_ \
            [file tail $testUninstallVs2005LogFile]]]} then {
          checkForFile $test_channel $testUninstallVs2005LogFile
        }

        if {![haveConstraint [appendArgs file_ \
................................................................................
          checkForFile $test_channel $testUninstallVs2012LogFile
        }

        if {![haveConstraint [appendArgs file_ \
            [file tail $testUninstallVs2013LogFile]]]} then {
          checkForFile $test_channel $testUninstallVs2013LogFile
        }





      }
    }
 
    proc runSQLiteTestFilesEpilogue {} {
      uplevel 1 {
        unset -nocomplain \

            testUninstallVs2013LogFile testUninstallVs2012LogFile \
            testUninstallVs2010LogFile testUninstallVs2008LogFile \
            testUninstallVs2005LogFile testInstallVs2013LogFile \
            testInstallVs2012LogFile testInstallVs2010LogFile \
            testInstallVs2008LogFile testInstallVs2005LogFile

        unset -nocomplain \
            northwindEfDbFile testLinqOutFile \
            walDbFile nonWalDbFile








|
|
|







 







>
>
>







 







|
|
|
|
|
|
|
|







 







|







 







>
>
>







 







>
>
>







 







>
>
>







 







>
>
>
>
>







 







>
>
>
>
>






>
|
|
|







19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
..
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
..
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
...
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
...
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
....
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
....
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
....
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
....
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
    ###########################################################################

    proc getBuildYear {} {
      #
      # NOTE: See if the "year" setting has been overridden by the user (e.g.
      #       on the command line).  This helps control exactly which set of
      #       binaries we are testing, those produced using the Visual Studio
      #       2005, 2008, 2010, 2012, 2013, or 2015 build systems.  To override
      #       this value via the command line, enter a command similar to one
      #       of the following (all on one line):
      #
      #       EagleShell.exe -anyInitialize "set test_year 2005"
      #         -file .\path\to\all.eagle
      #
      #       EagleShell.exe -anyInitialize "set test_year 2008"
      #         -file .\path\to\all.eagle
      #
................................................................................
      #         -file .\path\to\all.eagle
      #
      #       EagleShell.exe -anyInitialize "set test_year 2012"
      #         -file .\path\to\all.eagle
      #
      #       EagleShell.exe -anyInitialize "set test_year 2013"
      #         -file .\path\to\all.eagle
      #
      #       EagleShell.exe -anyInitialize "set test_year 2015"
      #         -file .\path\to\all.eagle
      #
      #       EagleShell.exe -anyInitialize "unset -nocomplain test_year"
      #         -file .\path\to\all.eagle
      #
      if {[info exists ::test_year] && [string length $::test_year] > 0} then {
        #
        # NOTE: Use the specified test year.  If this variable is not set, the
................................................................................
        #       default value will be based on whether or not Eagle has been
        #       compiled against the CLR v2.0 or CLR v4.0.
        #
        return $::test_year
      } else {
        #
        # NOTE: If Eagle has been compiled against the CLR v4.0, use "2010" by
        #       default (we could use "2012", "2013", or "2015" in that case as
        #       well) as the test year; otherwise, use "2008" by default (we
        #       could use "2005" in that case as well).  If another major
        #       [incompatible] version of the CLR is released, this check will
        #       have to be changed.  The default test year to use for a
        #       particular CLR version may be overridden by setting the global
        #       variable "test_year_clr_v$X", where "$X" may [currently] be
        #       either "2" or "4".
        #
        if {[haveConstraint imageRuntime40]} then {
          if {[info exists ::test_year_clr_v4] && \
              [string length $::test_year_clr_v4] > 0} then {
            #
            # NOTE: Use the specified test year for the CLR v4.0.
            #
................................................................................
        # NOTE: Use the specified list of test years.
        #
        return $::test_years
      } else {
        #
        # NOTE: Use the default list of test years (i.e. all).
        #
        return [list 2005 2008 2010 2012 2013 2015]
      }
    }
 
    proc getBuildNetFx {} {
      #
      # NOTE: See if the test .NET Framework setting has been overridden by
      #       the user (e.g. on the command line).
................................................................................
          }
          2012 {
            return netFx45
          }
          2013 {
            return netFx451
          }
          2015 {
            return netFx46
          }
          default {
            return netFx35; # TODO: Good "fallback" default?
          }
        }
      }
    }
 
................................................................................
            [getSQLiteTestDataPath] Installer_Test_Vs2010.log]]

        set testInstallVs2012LogFile [file nativename [file join \
            [getSQLiteTestDataPath] Installer_Test_Vs2012.log]]

        set testInstallVs2013LogFile [file nativename [file join \
            [getSQLiteTestDataPath] Installer_Test_Vs2013.log]]

        set testInstallVs2015LogFile [file nativename [file join \
            [getSQLiteTestDataPath] Installer_Test_Vs2015.log]]

        set testUninstallVs2005LogFile [file nativename [file join \
            [getSQLiteTestDataPath] Uninstaller_Test_Vs2005.log]]

        set testUninstallVs2008LogFile [file nativename [file join \
            [getSQLiteTestDataPath] Uninstaller_Test_Vs2008.log]]

................................................................................
            [getSQLiteTestDataPath] Uninstaller_Test_Vs2010.log]]

        set testUninstallVs2012LogFile [file nativename [file join \
            [getSQLiteTestDataPath] Uninstaller_Test_Vs2012.log]]

        set testUninstallVs2013LogFile [file nativename [file join \
            [getSQLiteTestDataPath] Uninstaller_Test_Vs2013.log]]

        set testUninstallVs2015LogFile [file nativename [file join \
            [getSQLiteTestDataPath] Uninstaller_Test_Vs2015.log]]

        #######################################################################

        if {![haveConstraint [appendArgs file_ \
            [file tail $entityFrameworkDllFile]]]} then {
          checkForFile $test_channel $entityFrameworkDllFile
        }
................................................................................
          checkForFile $test_channel $testInstallVs2012LogFile
        }

        if {![haveConstraint [appendArgs file_ \
            [file tail $testInstallVs2013LogFile]]]} then {
          checkForFile $test_channel $testInstallVs2013LogFile
        }

        if {![haveConstraint [appendArgs file_ \
            [file tail $testInstallVs2015LogFile]]]} then {
          checkForFile $test_channel $testInstallVs2015LogFile
        }

        if {![haveConstraint [appendArgs file_ \
            [file tail $testUninstallVs2005LogFile]]]} then {
          checkForFile $test_channel $testUninstallVs2005LogFile
        }

        if {![haveConstraint [appendArgs file_ \
................................................................................
          checkForFile $test_channel $testUninstallVs2012LogFile
        }

        if {![haveConstraint [appendArgs file_ \
            [file tail $testUninstallVs2013LogFile]]]} then {
          checkForFile $test_channel $testUninstallVs2013LogFile
        }

        if {![haveConstraint [appendArgs file_ \
            [file tail $testUninstallVs2015LogFile]]]} then {
          checkForFile $test_channel $testUninstallVs2015LogFile
        }
      }
    }
 
    proc runSQLiteTestFilesEpilogue {} {
      uplevel 1 {
        unset -nocomplain \
            testUninstallVs2015LogFile testUninstallVs2013LogFile \
            testUninstallVs2012LogFile testUninstallVs2010LogFile \
            testUninstallVs2008LogFile testUninstallVs2005LogFile \
            testInstallVs2015LogFile testInstallVs2013LogFile \
            testInstallVs2012LogFile testInstallVs2010LogFile \
            testInstallVs2008LogFile testInstallVs2005LogFile

        unset -nocomplain \
            northwindEfDbFile testLinqOutFile \
            walDbFile nonWalDbFile

Changes to readme.htm.

47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
  <li>
    Encrypted database support.  Encrypted databases are fully encrypted and
    support both binary and cleartext password types.
  </li>

  <li>
    Visual Studio design-time Support, works with all versions of Visual Studio
    2005/2008/2010/2012/2013.  You can add a SQLite database to the Servers
    list, design queries with the Query Designer, drag-and-drop tables onto a
    Typed DataSet, etc.
    <br />
    <font color="red">
      Due to Visual Studio licensing restrictions, the Express Editions can no
      longer be supported.
    </font>







|







47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
  <li>
    Encrypted database support.  Encrypted databases are fully encrypted and
    support both binary and cleartext password types.
  </li>

  <li>
    Visual Studio design-time Support, works with all versions of Visual Studio
    2005/2008/2010/2012/2013/2015.  You can add a SQLite database to the Servers
    list, design queries with the Query Designer, drag-and-drop tables onto a
    Typed DataSet, etc.
    <br />
    <font color="red">
      Due to Visual Studio licensing restrictions, the Express Editions can no
      longer be supported.
    </font>