Ejemplo n.º 1
0
        public static SqliteJournalMode Convert(SQLiteJournalModeEnum journalMode)
        {
            switch (journalMode)
            {
            case SQLiteJournalModeEnum.Delete:
                return(SqliteJournalMode.Delete);

            case SQLiteJournalModeEnum.Off:
                return(SqliteJournalMode.Off);

            case SQLiteJournalModeEnum.Persist:
                return(SqliteJournalMode.Persist);

            case SQLiteJournalModeEnum.Memory:
                return(SqliteJournalMode.Memory);

            case SQLiteJournalModeEnum.Truncate:
                return(SqliteJournalMode.Truncate);

            case SQLiteJournalModeEnum.Wal:
                return(SqliteJournalMode.Wal);

            case SQLiteJournalModeEnum.Default:
            default:
                return(SqliteJournalMode.Default);
            }
        }
Ejemplo n.º 2
0
 private static string GetConnectionString(
     string dataSource,
     bool binaryGuid,
     DateTimeKind dateTimeKind,
     SQLiteDateFormats dateTimeFormat,
     SQLiteJournalModeEnum journalMode,
     SynchronizationModes syncMode,
     int pageSize,
     int cacheSize)
 {
     Ensure.NotNullOrEmptyOrWhiteSpace(dataSource);
     return(new SQLiteConnectionStringBuilder
     {
         DataSource = dataSource,
         FailIfMissing = false,
         Pooling = false,
         BinaryGUID = binaryGuid,
         DateTimeKind = dateTimeKind,
         DateTimeFormat = dateTimeFormat,
         JournalMode = journalMode,
         SyncMode = syncMode,
         UseUTF16Encoding = false,
         ReadOnly = false,
         LegacyFormat = false,
         PageSize = pageSize,
         // reverts back to default on conn.Close has to first be set when Mode is NOT WAL & before any table is created.
         CacheSize = cacheSize // reverts back to default on conn.Close, has to first be set when Mode is NOT WAL
     }.ToString());
 }
        public void JournalMode(string text, SQLiteJournalModeEnum expected)
        {
            SQLiteConnectionStringBuilder csb = new SQLiteConnectionStringBuilder {
                ConnectionString = "Journal Mode=" + text
            };

            Assert.AreEqual(expected, csb.JournalMode);
        }
 public static VirtualRadar.Interface.SQLite.SQLiteJournalModeEnum ToSQLiteJournalModeEnum(SQLiteJournalModeEnum value)
 {
     switch(value) {
         case SQLiteJournalModeEnum.Delete:      return VirtualRadar.Interface.SQLite.SQLiteJournalModeEnum.Delete;
         case SQLiteJournalModeEnum.Persist:     return VirtualRadar.Interface.SQLite.SQLiteJournalModeEnum.Persist;
         case SQLiteJournalModeEnum.Off:         return VirtualRadar.Interface.SQLite.SQLiteJournalModeEnum.Off;
         #if DOTNET_BUILD
         case SQLiteJournalModeEnum.Default:     return VirtualRadar.Interface.SQLite.SQLiteJournalModeEnum.Default;
         case SQLiteJournalModeEnum.Truncate:    return VirtualRadar.Interface.SQLite.SQLiteJournalModeEnum.Truncate;
         case SQLiteJournalModeEnum.Memory:      return VirtualRadar.Interface.SQLite.SQLiteJournalModeEnum.Memory;
         case SQLiteJournalModeEnum.Wal:         return VirtualRadar.Interface.SQLite.SQLiteJournalModeEnum.Wal;
         #endif
         default:                                throw new NotImplementedException();
     }
 }
Ejemplo n.º 5
0
        private static Mono.Data.Sqlite.SQLiteJournalModeEnum GetJournalMode(SQLiteJournalModeEnum journalMode)
        {
            switch (journalMode)
            {
            case SQLiteJournalModeEnum.Delete:
                return(Mono.Data.Sqlite.SQLiteJournalModeEnum.Delete);

            case SQLiteJournalModeEnum.Off:
                return(Mono.Data.Sqlite.SQLiteJournalModeEnum.Off);

            case SQLiteJournalModeEnum.Persist:
                return(Mono.Data.Sqlite.SQLiteJournalModeEnum.Persist);

            default:
                return(Mono.Data.Sqlite.SQLiteJournalModeEnum.Delete);
            }
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Returns a file-based <c>SQLite</c> connection-string.
 /// </summary>
 public static string GetFileConnectionString(
     FileInfo file,
     bool binaryGuid                   = false,
     DateTimeKind dateTimeKind         = DateTimeKind.Utc,
     SQLiteDateFormats dateTimeFormat  = SQLiteDateFormats.UnixEpoch,
     SQLiteJournalModeEnum journalMode = SQLiteJournalModeEnum.Wal,
     SynchronizationModes syncMode     = SynchronizationModes.Off,
     int pageSize  = 4096,
     int cacheSize = -2000)
 {
     Ensure.NotNull(file, nameof(file));
     return(GetConnectionString(
                file.FullName,
                binaryGuid,
                dateTimeKind,
                dateTimeFormat,
                journalMode,
                syncMode,
                pageSize,
                cacheSize));
 }
Ejemplo n.º 7
0
        private static SqliteUri BuildUri(FileInfo fileInfo,
           string password,
           bool zipVfs,
           bool foreignKeysOn,
           SQLiteJournalModeEnum journalMode = SQLiteJournalModeEnum.Wal,
           SynchronizationModes synchronousity = SynchronizationModes.Full,
           int pageSize = 4096,
           int cacheSize = 2000,
           bool binaryGuid = false,
           bool failIfMissing = true)
        {
            CheckPageSize(pageSize);
            var nvc = new NameValueCollection();

            if (!string.IsNullOrWhiteSpace(password))
            {
                nvc.Add("password", password);
            }

            if (zipVfs && !string.IsNullOrWhiteSpace(password))
            {
                nvc.Add("vfs", "zipvfs");
                nvc.Add("zv", "zlib");
                nvc.Add("zipvfs_journal mode", journalMode.ToString());
            }
            else
            {
                nvc.Add("journal mode", journalMode.ToString());
            }

            nvc.Add("foreign keys", foreignKeysOn.ToString());
            nvc.Add("synchronous", synchronousity.ToString());
            nvc.Add("page size", pageSize.ToString());
            nvc.Add("cache size", cacheSize.ToString());
            nvc.Add("BinaryGuid", binaryGuid.ToString());
            nvc.Add("FailIfMissing", failIfMissing.ToString());

            return new SqliteUri(fileInfo, nvc);
        }
Ejemplo n.º 8
0
        private static SqliteUri BuildUri(FileInfo fileInfo,
                                          string password,
                                          bool zipVfs,
                                          bool foreignKeysOn,
                                          SQLiteJournalModeEnum journalMode   = SQLiteJournalModeEnum.Wal,
                                          SynchronizationModes synchronousity = SynchronizationModes.Full,
                                          int pageSize       = 4096,
                                          int cacheSize      = 2000,
                                          bool binaryGuid    = false,
                                          bool failIfMissing = true)
        {
            CheckPageSize(pageSize);
            var nvc = new NameValueCollection();

            if (!string.IsNullOrWhiteSpace(password))
            {
                nvc.Add("password", password);
            }

            if (zipVfs && !string.IsNullOrWhiteSpace(password))
            {
                nvc.Add("vfs", "zipvfs");
                nvc.Add("zv", "zlib");
                nvc.Add("zipvfs_journal mode", journalMode.ToString());
            }
            else
            {
                nvc.Add("journal mode", journalMode.ToString());
            }

            nvc.Add("foreign keys", foreignKeysOn.ToString());
            nvc.Add("synchronous", synchronousity.ToString());
            nvc.Add("page size", pageSize.ToString());
            nvc.Add("cache size", cacheSize.ToString());
            nvc.Add("BinaryGuid", binaryGuid.ToString());
            nvc.Add("FailIfMissing", failIfMissing.ToString());

            return(new SqliteUri(fileInfo, nvc));
        }
Ejemplo n.º 9
0
        static SQLiteConnection GetConnection(string path, SynchronizationModes sync, SQLiteJournalModeEnum jornal)
        {
            var connectionString = new SQLiteConnectionStringBuilder()
            {
                DataSource            = path,
                DefaultIsolationLevel = System.Data.IsolationLevel.ReadCommitted,
                SyncMode    = sync,
                JournalMode = jornal,
                Pooling     = true,
                CacheSize   = 65535
            };

            var conn = new SQLiteConnection(connectionString.ToString());

            conn.Open();

            return(conn);
        }
Ejemplo n.º 10
0
        public static VirtualRadar.Interface.SQLite.SQLiteJournalModeEnum ToSQLiteJournalModeEnum(SQLiteJournalModeEnum value)
        {
            switch (value)
            {
            case SQLiteJournalModeEnum.Delete:      return(VirtualRadar.Interface.SQLite.SQLiteJournalModeEnum.Delete);

            case SQLiteJournalModeEnum.Persist:     return(VirtualRadar.Interface.SQLite.SQLiteJournalModeEnum.Persist);

            case SQLiteJournalModeEnum.Off:         return(VirtualRadar.Interface.SQLite.SQLiteJournalModeEnum.Off);

                #if DOTNET_BUILD
            case SQLiteJournalModeEnum.Default:     return(VirtualRadar.Interface.SQLite.SQLiteJournalModeEnum.Default);

            case SQLiteJournalModeEnum.Truncate:    return(VirtualRadar.Interface.SQLite.SQLiteJournalModeEnum.Truncate);

            case SQLiteJournalModeEnum.Memory:      return(VirtualRadar.Interface.SQLite.SQLiteJournalModeEnum.Memory);

            case SQLiteJournalModeEnum.Wal:         return(VirtualRadar.Interface.SQLite.SQLiteJournalModeEnum.Wal);
                #endif
            default:                                throw new NotImplementedException();
            }
        }
		public void JournalMode(string text, SQLiteJournalModeEnum expected)
		{
			SQLiteConnectionStringBuilder csb = new SQLiteConnectionStringBuilder { ConnectionString = "Journal Mode=" + text };
			Assert.AreEqual(expected, csb.JournalMode);
		}