Exemplo n.º 1
0
 /// <summary>
 /// Retrieve all users from the database
 /// </summary>
 /// <returns>IEnumerable{User}.</returns>
 private IEnumerable <User> RetrieveAllUsers(ManagedConnection connection)
 {
     foreach (var row in connection.Query("select id,guid,data from LocalUsersv2"))
     {
         yield return(GetUser(row));
     }
 }
Exemplo n.º 2
0
        protected void RunDefaultInitialization(ManagedConnection db)
        {
            var queries = new List <string>
            {
                "PRAGMA journal_mode=WAL",
                "PRAGMA page_size=4096",
                "PRAGMA synchronous=Normal"
            };

            if (EnableTempStoreMemory)
            {
                queries.AddRange(new List <string>
                {
                    "pragma default_temp_store = memory",
                    "pragma temp_store = memory"
                });
            }
            else
            {
                queries.AddRange(new List <string>
                {
                    "pragma temp_store = file"
                });
            }

            db.ExecuteAll(string.Join(";", queries.ToArray()));
            Logger.LogInformation("PRAGMA synchronous=" + db.Query("PRAGMA synchronous").SelectScalarString().First());
        }
Exemplo n.º 3
0
        private void ImportUserDataIfNeeded(ManagedConnection connection)
        {
            if (!_fileSystem.FileExists(_importFile))
            {
                return;
            }

            var fileToImport = _importFile;
            var isImported   = connection.Query("select IsUserDataImported from DataSettings").SelectScalarBool().FirstOrDefault();

            if (isImported)
            {
                return;
            }

            ImportUserData(connection, fileToImport);

            connection.RunInTransaction(db =>
            {
                using (var statement = db.PrepareStatement("replace into DataSettings (IsUserDataImported) values (@IsUserDataImported)"))
                {
                    statement.TryBind("@IsUserDataImported", true);
                    statement.MoveNext();
                }
            }, TransactionMode);
        }