Merge branch 'master' into config-checks-ipv6
[mono.git] / mcs / class / Mono.Data.Sqlite / Mono.Data.Sqlite_2.0 / SQLiteConnection.cs
index 195cb33433214dace6c65604df531063a4a9b3fe..1e4e46083700282478bdf06024aa63a2c7a41666 100644 (file)
@@ -304,6 +304,9 @@ namespace Mono.Data.Sqlite
     {\r
       base.Dispose(disposing);\r
 \r
+      if (_sql != null)\r
+        _sql.Dispose ();\r
+\r
       if (disposing)\r
         Close();\r
     }\r
@@ -872,6 +875,15 @@ namespace Mono.Data.Sqlite
           if (SqliteConvert.ToBoolean(FindKey(opts, "FailIfMissing", Boolean.FalseString)) == false)\r
             flags |= SQLiteOpenFlagsEnum.Create;\r
         }\r
+       if (SqliteConvert.ToBoolean (FindKey (opts, "FileProtectionComplete", Boolean.FalseString)))\r
+               flags |= SQLiteOpenFlagsEnum.FileProtectionComplete;\r
+       if (SqliteConvert.ToBoolean (FindKey (opts, "FileProtectionCompleteUnlessOpen", Boolean.FalseString)))\r
+               flags |= SQLiteOpenFlagsEnum.FileProtectionCompleteUnlessOpen;\r
+       if (SqliteConvert.ToBoolean (FindKey (opts, "FileProtectionCompleteUntilFirstUserAuthentication", Boolean.FalseString)))\r
+               flags |= SQLiteOpenFlagsEnum.FileProtectionCompleteUntilFirstUserAuthentication;\r
+       if (SqliteConvert.ToBoolean (FindKey (opts, "FileProtectionNone", Boolean.FalseString)))\r
+               flags |= SQLiteOpenFlagsEnum.FileProtectionNone;\r
+       \r
                                \r
         _sql.Open(fileName, flags, maxPoolSize, usePooling);\r
 \r
@@ -1543,8 +1555,10 @@ namespace Mono.Data.Sqlite
                       while (rdIndexes.Read())\r
                       {\r
                         if (rdIndexes.IsDBNull(4) == false)\r
+                        {\r
                           row["INDEX_DEFINITION"] = rdIndexes.GetString(4);\r
-                        break;\r
+                          break;\r
+                        }\r
                       }\r
                     }\r
 \r