Esempio n. 1
0
        /// <summary>
        /// Adds a new snapshot to the snapshot store, keeping all existing snapshots.
        /// </summary>
        /// <param name="snapshot">The snapshot to append to the snapshot store.</param>
        private void InsertSnapshot(Snapshot snapshot)
        {
            var state = serializer.Serialize(snapshot.State);

            using (var command = dialect.CreateCommand(dialect.InsertSnapshot))
            {
                Log.Trace("Inserting stream {0} snapshot for version {1}", snapshot.StreamId, snapshot.Version);

                command.Parameters.Add(dialect.CreateStreamIdParameter(snapshot.StreamId));
                command.Parameters.Add(dialect.CreateVersionParameter(snapshot.Version));
                command.Parameters.Add(dialect.CreateStateParameter(state));

                dialect.ExecuteNonQuery(command);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Creates a <see cref="DataTable"/> based on the required insert/update command parameters.
        /// </summary>
        private static DbBatchOperation CreateBuffer(IStoreSnapshotSettings settings, ISnapshotStoreDialect dialect)
        {
            using (var command = dialect.CreateCommand(settings.ReplaceExisting ? dialect.ReplaceSnapshot : dialect.InsertSnapshot))
            {
                command.Parameters.Add(dialect.CreateStreamIdParameter(default(Guid)));
                command.Parameters.Add(dialect.CreateVersionParameter(default(Int32)));
                command.Parameters.Add(dialect.CreateStateParameter(default(Byte[])));

                return(new DbBatchOperation(dialect, command, settings.BatchSize, settings.FlushInterval));
            }
        }
        /// <summary>
        /// Creates a <see cref="DataTable"/> based on the required insert/update command parameters.
        /// </summary>
        private static DbBatchOperation CreateBuffer(IStoreSnapshotSettings settings, ISnapshotStoreDialect dialect)
        {
            using (var command = dialect.CreateCommand(settings.ReplaceExisting ? dialect.ReplaceSnapshot : dialect.InsertSnapshot))
            {
                command.Parameters.Add(dialect.CreateStreamIdParameter(default(Guid)));
                command.Parameters.Add(dialect.CreateVersionParameter(default(Int32)));
                command.Parameters.Add(dialect.CreateStateParameter(default(Byte[])));

                return new DbBatchOperation(dialect, command, settings.BatchSize, settings.FlushInterval);
            }
        }