Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Simplify and cleanup authorizer tests. Update version history docs. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
441ccabcc6f9c31f180459d81e9a0c1a |
User & Date: | mistachkin 2013-09-18 02:31:09.409 |
Context
2013-09-18
| ||
08:11 | Add missing comments for the new attribute classes. check-in: b434e4278d user: mistachkin tags: trunk | |
02:31 | Simplify and cleanup authorizer tests. Update version history docs. check-in: 441ccabcc6 user: mistachkin tags: trunk | |
02:10 | Add experimental support for interfacing with the authorizer callback mechanism in the SQLite core library. check-in: 12c508890c user: mistachkin tags: trunk | |
Changes
Changes to Doc/Extra/version.html.
︙ | ︙ | |||
51 52 53 54 55 56 57 58 59 60 61 62 63 64 | <li>Return false for the SQLiteParameterCollection.IsSynchronized property because it is not thread-safe.</li> <li>Raise the static SQLiteConnection.Changed event when any SQLiteCommand, SQLiteDataReader, or CriticalHandle derived object instance is created. Fix for <a href="http://system.data.sqlite.org/index.html/info/aba4549801">[aba4549801]</a>.</li> <li>Add SQLiteCommand.Execute, SQLiteCommand.ExecuteNonQuery, and SQLiteCommand.ExecuteScalar method overloads that take a CommandBehavior parameter.</li> <li>Revise how the extra object data is passed to the static SQLiteConnection.Changed event. <b>** Potentially Incompatible Change **</b></li> <li>Make sure the database cannot be changed by a query when the CommandBehavior.SchemaOnly flag is used. Fix for <a href="http://system.data.sqlite.org/index.html/info/f8dbab8baf">[f8dbab8baf]</a>. <b>** Potentially Incompatible Change **</b></li> <li>Include the XML documentation files in the NuGet packages. Fix for <a href="http://system.data.sqlite.org/index.html/info/5970d5b0a6">[5970d5b0a6]</a>.</li> <li>Add InteropVersion, InteropSourceId, ProviderVersion, and ProviderSourceId properties to the SQLiteConnection class.</li> </ul> <p><b>1.0.88.0 - August 7, 2013</b></p> <ul> <li>Various fixes to managed virtual table integration infrastructure.</li> <li>Implement workaround for an incorrect PROCESSOR_ARCHITECTURE being reported. Fix for <a href="http://system.data.sqlite.org/index.html/info/9ac9862611">[9ac9862611]</a>.</li> <li>Modify classes that implement the IDisposable pattern to set the disposed flag after their base classes have been disposed.</li> <li>When automatically registering custom functions, use the executing assembly (i.e. System.Data.SQLite) for reference detection. Fix for <a href="http://system.data.sqlite.org/index.html/info/4e49a58c4c">[4e49a58c4c]</a>.</li> | > | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | <li>Return false for the SQLiteParameterCollection.IsSynchronized property because it is not thread-safe.</li> <li>Raise the static SQLiteConnection.Changed event when any SQLiteCommand, SQLiteDataReader, or CriticalHandle derived object instance is created. Fix for <a href="http://system.data.sqlite.org/index.html/info/aba4549801">[aba4549801]</a>.</li> <li>Add SQLiteCommand.Execute, SQLiteCommand.ExecuteNonQuery, and SQLiteCommand.ExecuteScalar method overloads that take a CommandBehavior parameter.</li> <li>Revise how the extra object data is passed to the static SQLiteConnection.Changed event. <b>** Potentially Incompatible Change **</b></li> <li>Make sure the database cannot be changed by a query when the CommandBehavior.SchemaOnly flag is used. Fix for <a href="http://system.data.sqlite.org/index.html/info/f8dbab8baf">[f8dbab8baf]</a>. <b>** Potentially Incompatible Change **</b></li> <li>Include the XML documentation files in the NuGet packages. Fix for <a href="http://system.data.sqlite.org/index.html/info/5970d5b0a6">[5970d5b0a6]</a>.</li> <li>Add InteropVersion, InteropSourceId, ProviderVersion, and ProviderSourceId properties to the SQLiteConnection class.</li> <li>Add experimental support for interfacing with the authorizer callback in the SQLite core library.</li> </ul> <p><b>1.0.88.0 - August 7, 2013</b></p> <ul> <li>Various fixes to managed virtual table integration infrastructure.</li> <li>Implement workaround for an incorrect PROCESSOR_ARCHITECTURE being reported. Fix for <a href="http://system.data.sqlite.org/index.html/info/9ac9862611">[9ac9862611]</a>.</li> <li>Modify classes that implement the IDisposable pattern to set the disposed flag after their base classes have been disposed.</li> <li>When automatically registering custom functions, use the executing assembly (i.e. System.Data.SQLite) for reference detection. Fix for <a href="http://system.data.sqlite.org/index.html/info/4e49a58c4c">[4e49a58c4c]</a>.</li> |
︙ | ︙ |
Changes to Tests/authorizer.eagle.
︙ | ︙ | |||
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | CreateTable CreateIndex Read Insert Update Delete] if {[$e ActionCode] in $noiseActionCodes && \ [string match "sqlite_*" [$e Argument1]]} then { return } lappend ::data [list \ [$e UserData] [$e ActionCode] [$e Argument1] \ [$e Argument2] [$e Database] [$e Context]] if {[$e ActionCode] eq "CreateTable" && \ [$e Argument1] eq "tDeny"} then { $e ReturnCode Deny } } setupDb [set fileName authorizer-1.1.db] | > > > > > > > > > > > > > > > > | 30 31 32 33 34 35 36 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 | CreateTable CreateIndex Read Insert Update Delete] if {[$e ActionCode] in $noiseActionCodes && \ [string match "sqlite_*" [$e Argument1]]} then { return } # # NOTE: Filter out all "non-primary" events to make the test # results more deterministic in the face of different # query plans. # if {[$e ActionCode] ne $::filter} then { return } # # NOTE: Record the authorizer arguments exactly as we received # them. # lappend ::data [list \ [$e UserData] [$e ActionCode] [$e Argument1] \ [$e Argument2] [$e Database] [$e Context]] # # NOTE: Deny all attempts to create a table named "tDeny". # if {[$e ActionCode] eq "CreateTable" && \ [$e Argument1] eq "tDeny"} then { $e ReturnCode Deny } } setupDb [set fileName authorizer-1.1.db] |
︙ | ︙ | |||
91 92 93 94 95 96 97 | Attach {ATTACH DATABASE ':memory:' AS d1;} \ Detach {DETACH DATABASE d1;} \ CreateVtable {CREATE VIRTUAL TABLE t3 USING fts4(x TEXT);} \ DropVtable {DROP TABLE t3;} \ CreateTable {CREATE TABLE tDeny(x);}] foreach {name value} $sql { | > | | | | | < | | | | | < | < | < | | | < | | < | | | < < < | < < < < | | < | 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | Attach {ATTACH DATABASE ':memory:' AS d1;} \ Detach {DETACH DATABASE d1;} \ CreateVtable {CREATE VIRTUAL TABLE t3 USING fts4(x TEXT);} \ DropVtable {DROP TABLE t3;} \ CreateTable {CREATE TABLE tDeny(x);}] foreach {name value} $sql { set filter $name; set data [list] set code [catch {sql execute $db $value} result] set result [lindex [split [string map [list \r\n \n] $result] \n] 0] lappend results [list $name $data $code $result] } lappend results [isTableInDb tDeny] set results } -cleanup { catch {object invoke $connection remove_Authorize $callback} catch {object removecallback $callback} cleanupDb $fileName freeDbConnection unset -nocomplain result code data filter value name sql results callback \ connection db fileName rename onAuthorize "" } -constraints \ {eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \ {{CreateTable {{0 CreateTable t1 {} main {}}} 0 0} {CreateIndex {{0 CreateIndex\ i1 t1 main {}}} 0 0} {CreateTrigger {{0 CreateTrigger tr1 t1 main {}}} 0 0}\ {CreateView {{0 CreateView v1 {} main {}}} 0 0} {CreateTempTable {{0\ CreateTempTable t2 {} temp {}}} 0 0} {CreateTempIndex {{0 CreateTempIndex i2 t2\ temp {}}} 0 0} {CreateTempTrigger {{0 CreateTempTrigger tr2 t2 temp {}}} 0 0}\ {CreateTempView {{0 CreateTempView v2 {} temp {}}} 0 0} {Pragma {{0 Pragma\ journal_mode WAL {} {}}} 0 0} {Function {{0 Function {} julianday {} {}}} 0 0}\ {Read {{0 Read t1 x main {}}} 0 0} {Select {{0 Select {} {} {} {}}} 0 0}\ {Insert {{0 Insert t1 {} main {}}} 0 0} {Update {{0 Update t1 x main {}}} 0 0}\ {Delete {{0 Delete t1 {} main {}}} 0 0} {AlterTable {{0 AlterTable main t1 {}\ {}}} 0 0} {Reindex {{0 Reindex i1 {} main {}}} 0 0} {Analyze {{0 Analyze t1 {}\ main {}}} 0 0} {DropTempView {{0 DropTempView v2 {} temp {}}} 0 0}\ {DropTempTrigger {{0 DropTempTrigger tr2 t2 temp {}}} 0 0} {DropTempIndex {{0\ DropTempIndex i2 t2 temp {}}} 0 0} {DropTempTable {{0 DropTempTable t2 {} temp\ {}}} 0 0} {DropView {{0 DropView v1 {} main {}}} 0 0} {DropTrigger {{0\ DropTrigger tr1 t1 main {}}} 0 0} {DropIndex {{0 DropIndex i1 t1 main {}}} 0 0}\ {DropTable {{0 DropTable t1 {} main {}}} 0 0} {Transaction {{0 Transaction\ BEGIN {} {} {}} {0 Transaction COMMIT {} {} {}}} 0 0} {Savepoint {{0 Savepoint\ BEGIN s1 {} {}} {0 Savepoint RELEASE s1 {} {}}} 0 0} {Attach {{0 Attach\ :memory: {} {} {}}} 0 0} {Detach {{0 Detach d1 {} {} {}}} 0 0} {CreateVtable\ {{0 CreateVtable t3 fts4 main {}}} 0 0} {DropVtable {{0 DropVtable t3 fts4 main\ {}}} 0 0} {CreateTable {{0 CreateTable tDeny {} main {}}} 1\ {System.Data.SQLite.SQLiteException (0x80004005): authorization denied}} False}} ############################################################################### runSQLiteTestEpilogue runTestEpilogue |
Changes to Tests/common.eagle.
︙ | ︙ | |||
997 998 999 1000 1001 1002 1003 | # return [expr {[sql execute -execute scalar $db \ "SELECT COUNT(*) FROM sqlite_master WHERE type = 'table' AND name = ?;" \ [list param1 String $name]] > 0}] } proc trimSql { sql } { | < | < < < < < | 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 | # return [expr {[sql execute -execute scalar $db \ "SELECT COUNT(*) FROM sqlite_master WHERE type = 'table' AND name = ?;" \ [list param1 String $name]] > 0}] } proc trimSql { sql } { return [regsub -all -- {\s+} [string trim $sql] " "] } proc executeSql { sql {execute none} {fileName ""} } { if {[string length $fileName] == 0} then {set fileName :memory:} setupDb $fileName "" "" "" "" "" false false false false memDb try { |
︙ | ︙ |
Changes to readme.htm.
︙ | ︙ | |||
196 197 198 199 200 201 202 203 204 205 206 207 208 209 | <li>Return false for the SQLiteParameterCollection.IsSynchronized property because it is not thread-safe.</li> <li>Raise the static SQLiteConnection.Changed event when any SQLiteCommand, SQLiteDataReader, or CriticalHandle derived object instance is created. Fix for [aba4549801].</li> <li>Add SQLiteCommand.Execute, SQLiteCommand.ExecuteNonQuery, and SQLiteCommand.ExecuteScalar method overloads that take a CommandBehavior parameter.</li> <li>Revise how the extra object data is passed to the static SQLiteConnection.Changed event. <b>** Potentially Incompatible Change **</b></li> <li>Make sure the database cannot be changed by a query when the CommandBehavior.SchemaOnly flag is used. Fix for [f8dbab8baf]. <b>** Potentially Incompatible Change **</b></li> <li>Include the XML documentation files in the NuGet packages. Fix for [5970d5b0a6].</li> <li>Add InteropVersion, InteropSourceId, ProviderVersion, and ProviderSourceId properties to the SQLiteConnection class.</li> </ul> <p> <b>1.0.88.0 - August 7, 2013</b> </p> <ul> <li>Various fixes to managed virtual table integration infrastructure.</li> <li>Implement workaround for an incorrect PROCESSOR_ARCHITECTURE being reported. Fix for [9ac9862611].</li> | > | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | <li>Return false for the SQLiteParameterCollection.IsSynchronized property because it is not thread-safe.</li> <li>Raise the static SQLiteConnection.Changed event when any SQLiteCommand, SQLiteDataReader, or CriticalHandle derived object instance is created. Fix for [aba4549801].</li> <li>Add SQLiteCommand.Execute, SQLiteCommand.ExecuteNonQuery, and SQLiteCommand.ExecuteScalar method overloads that take a CommandBehavior parameter.</li> <li>Revise how the extra object data is passed to the static SQLiteConnection.Changed event. <b>** Potentially Incompatible Change **</b></li> <li>Make sure the database cannot be changed by a query when the CommandBehavior.SchemaOnly flag is used. Fix for [f8dbab8baf]. <b>** Potentially Incompatible Change **</b></li> <li>Include the XML documentation files in the NuGet packages. Fix for [5970d5b0a6].</li> <li>Add InteropVersion, InteropSourceId, ProviderVersion, and ProviderSourceId properties to the SQLiteConnection class.</li> <li>Add experimental support for interfacing with the authorizer callback in the SQLite core library.</li> </ul> <p> <b>1.0.88.0 - August 7, 2013</b> </p> <ul> <li>Various fixes to managed virtual table integration infrastructure.</li> <li>Implement workaround for an incorrect PROCESSOR_ARCHITECTURE being reported. Fix for [9ac9862611].</li> |
︙ | ︙ |
Changes to www/news.wiki.
︙ | ︙ | |||
12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <li>Return false for the SQLiteParameterCollection.IsSynchronized property because it is not thread-safe.</li> <li>Raise the static SQLiteConnection.Changed event when any SQLiteCommand, SQLiteDataReader, or CriticalHandle derived object instance is created. Fix for [aba4549801].</li> <li>Add SQLiteCommand.Execute, SQLiteCommand.ExecuteNonQuery, and SQLiteCommand.ExecuteScalar method overloads that take a CommandBehavior parameter.</li> <li>Revise how the extra object data is passed to the static SQLiteConnection.Changed event. <b>** Potentially Incompatible Change **</b></li> <li>Make sure the database cannot be changed by a query when the CommandBehavior.SchemaOnly flag is used. Fix for [f8dbab8baf]. <b>** Potentially Incompatible Change **</b></li> <li>Include the XML documentation files in the NuGet packages. Fix for [5970d5b0a6].</li> <li>Add InteropVersion, InteropSourceId, ProviderVersion, and ProviderSourceId properties to the SQLiteConnection class.</li> </ul> <p> <b>1.0.88.0 - August 7, 2013</b> </p> <ul> <li>Various fixes to managed virtual table integration infrastructure.</li> <li>Implement workaround for an incorrect PROCESSOR_ARCHITECTURE being reported. Fix for [9ac9862611].</li> | > | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <li>Return false for the SQLiteParameterCollection.IsSynchronized property because it is not thread-safe.</li> <li>Raise the static SQLiteConnection.Changed event when any SQLiteCommand, SQLiteDataReader, or CriticalHandle derived object instance is created. Fix for [aba4549801].</li> <li>Add SQLiteCommand.Execute, SQLiteCommand.ExecuteNonQuery, and SQLiteCommand.ExecuteScalar method overloads that take a CommandBehavior parameter.</li> <li>Revise how the extra object data is passed to the static SQLiteConnection.Changed event. <b>** Potentially Incompatible Change **</b></li> <li>Make sure the database cannot be changed by a query when the CommandBehavior.SchemaOnly flag is used. Fix for [f8dbab8baf]. <b>** Potentially Incompatible Change **</b></li> <li>Include the XML documentation files in the NuGet packages. Fix for [5970d5b0a6].</li> <li>Add InteropVersion, InteropSourceId, ProviderVersion, and ProviderSourceId properties to the SQLiteConnection class.</li> <li>Add experimental support for interfacing with the authorizer callback in the SQLite core library.</li> </ul> <p> <b>1.0.88.0 - August 7, 2013</b> </p> <ul> <li>Various fixes to managed virtual table integration infrastructure.</li> <li>Implement workaround for an incorrect PROCESSOR_ARCHITECTURE being reported. Fix for [9ac9862611].</li> |
︙ | ︙ |