Exemplo n.º 1
0
            private FastQuery CreateSelectTestQuery(SqliteConnection connection, ConnectionPool pool)
            {
                var sql = $"SELECT A,B FROM `{TestTable}` WHERE `A`=@A AND `B`=@B;";
                var fq  = new FastQuery(sql, connection, pool);

                return(fq);
            }
 private void CreateMetadataQueries(SqliteConnection connection, ConnectionPool pool)
 {
     InsertMetadataRowQuery = CreateInsertMetadataRowQuery(connection, pool);
     FindMetadataQuery      = CreateFindMetadataQuery(connection, pool);
     GetExactMetadataQuery  = CreateGetExactMetadataQuery(connection, pool);
     IncrementCounterQuery  = CreateIncrementCounterQuery(connection, pool);
 }
Exemplo n.º 3
0
            private FastQuery CreateInsertTestQuery(SqliteConnection connection, ConnectionPool pool)
            {
                var sql = $"INSERT OR REPLACE INTO `{TestTable}`(`A`, `B`, `RawData`) VALUES(@A, @B, @RawData);";
                var fq  = new FastQuery(sql, connection, pool);

                return(fq);
            }
Exemplo n.º 4
0
            private FastQuery CreateRollbackQuery(SqliteConnection connection, ConnectionPool pool)
            {
                var sql = $"ROLLBACK;";
                var fq  = new FastQuery(sql, connection, pool);

                return(fq);
            }
Exemplo n.º 5
0
            private FastQuery CreateCommitQuery(SqliteConnection connection, ConnectionPool pool)
            {
                var sql = $"COMMIT;";
                var fq  = new FastQuery(sql, connection, pool);

                return(fq);
            }
Exemplo n.º 6
0
            private FastQuery CreateBeginConcurrentQuery(SqliteConnection connection, ConnectionPool pool)
            {
                var sql = $"BEGIN CONCURRENT;";
                var fq  = new FastQuery(sql, connection, pool);

                return(fq);
            }
            private FastQuery CreateIncrementCounterQuery(SqliteConnection connection, ConnectionPool pool)
            {
                var sql = $"UPDATE {MetadataTable} SET `Counter` = `Counter` + 1 " +
                          $"WHERE `PK` = @Pk";
                var fq = new FastQuery(sql, connection, pool);

                return(fq);
            }
            private FastQuery CreateInsertMetadataRowQuery(SqliteConnection connection, ConnectionPool pool)
            {
#pragma warning disable HAA0201 // Implicit string concatenation allocation
                var sql = $"INSERT INTO {MetadataTable} " +
                          $"(`PK`, `RepoId`, `ContainerId`, `ParentId`, `Counter`, `Version`, `RemoteId`, `Permissions`, `SchemaType`, `Schema`, `Metadata`) " +
                          $"VALUES (@PK, @RepoId, @ContainerId, @ParentId, @Counter, @Version, @RemoteId, @Permissions, @SchemaType, @Schema, @Metadata)";
                var fq = new FastQuery(sql, connection, pool);
                return(fq);
            }
            private FastQuery CreateGetExactMetadataQuery(SqliteConnection connection, ConnectionPool pool)
            {
                var sql = $"SELECT * " +
                          $"from {MetadataTable} " +
                          $"WHERE `PK` = @Pk";
                // TODO optional params via coalesce
                var fq = new FastQuery(sql, connection, pool);

                return(fq);
            }
Exemplo n.º 10
0
            public StorageQueries(SqliteConnection connection, ConnectionPool pool)
            {
                _connection = connection;
                _pool       = pool;

                BeginQuery           = CreateBeginQuery(connection, pool);
                BeginConcurrentQuery = CreateBeginConcurrentQuery(connection, pool);
                CommitQuery          = CreateCommitQuery(connection, pool);
                RollbackQuery        = CreateRollbackQuery(connection, pool);

                InsertTestQuery = CreateInsertTestQuery(connection, pool);
                SelectTestQuery = CreateSelectTestQuery(connection, pool);

                CreateStreamBlockQueries(connection, pool);
                CreateContainerBlockQueries(connection, pool);
                CreateMetadataQueries(connection, pool);
            }