Example #1
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 Synchronous(string text, SynchronizationModes expected)
        {
            SQLiteConnectionStringBuilder csb = new SQLiteConnectionStringBuilder {
                ConnectionString = "Synchronous=" + text
            };

            Assert.AreEqual(expected, csb.SyncMode);
        }
Example #3
0
        public static SqliteSyncMode Convert(SynchronizationModes syncMode)
        {
            switch (syncMode)
            {
            case SynchronizationModes.Full:
                return(SqliteSyncMode.Full);

            case SynchronizationModes.Off:
                return(SqliteSyncMode.Off);

            case SynchronizationModes.Normal:
            default:
                return(SqliteSyncMode.Normal);
            }
        }
        private static Mono.Data.Sqlite.SynchronizationModes GetSyncMode(SynchronizationModes syncMode)
        {
            switch (syncMode)
            {
            case SynchronizationModes.Full:
                return(Mono.Data.Sqlite.SynchronizationModes.Full);

            case SynchronizationModes.Normal:
                return(Mono.Data.Sqlite.SynchronizationModes.Normal);

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

            default:
                return(Mono.Data.Sqlite.SynchronizationModes.Normal);
            }
        }
Example #5
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);
        }
Example #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));
 }
        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);
        }
Example #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));
        }
 internal static VirtualRadar.Interface.SQLite.SynchronizationModes ToSynchronizationModes(SynchronizationModes value)
 {
     switch(value) {
         case SynchronizationModes.Normal:   return VirtualRadar.Interface.SQLite.SynchronizationModes.Normal;
         case SynchronizationModes.Full:     return VirtualRadar.Interface.SQLite.SynchronizationModes.Full;
         case SynchronizationModes.Off:      return VirtualRadar.Interface.SQLite.SynchronizationModes.Off;
         default:                            throw new NotImplementedException();
     }
 }
Example #10
0
        internal static VirtualRadar.Interface.SQLite.SynchronizationModes ToSynchronizationModes(SynchronizationModes value)
        {
            switch (value)
            {
            case SynchronizationModes.Normal:   return(VirtualRadar.Interface.SQLite.SynchronizationModes.Normal);

            case SynchronizationModes.Full:     return(VirtualRadar.Interface.SQLite.SynchronizationModes.Full);

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

            default:                            throw new NotImplementedException();
            }
        }
		public void Synchronous(string text, SynchronizationModes expected)
		{
			SQLiteConnectionStringBuilder csb = new SQLiteConnectionStringBuilder { ConnectionString = "Synchronous=" + text };
			Assert.AreEqual(expected, csb.SyncMode);
		}