abstract class
Movie::Persistence::SqlBackendConnection
Overview
Shared SQL connection primitives. Persistence concerns reopen this class in focused files so dialect hooks and connection ownership stay central.
Direct Known Subclasses
Defined in:
movie/persistence/sql_backend.crmovie/persistence/sql_fencing.cr
movie/persistence/sql_journal.cr
movie/persistence/sql_outbox.cr
movie/persistence/sql_query.cr
movie/persistence/sql_retention.cr
movie/persistence/sql_schema.cr
movie/persistence/sql_state.cr
Constructors
Instance Method Summary
- #acknowledge_outbox(message : AcknowledgeOutbox) : Int64
- #acquire_shard_lease(message : AcquireShardLease) : ShardLeaseToken | Nil
- #append_events(message : AppendEvents) : WriteResult
- #claim_outbox(message : ClaimOutbox) : Array(StoredOutboxEntry)
- #close : Nil
- #connection_lost?(error : Exception) : Bool
- #delete_events_to(message : DeleteEventsTo) : RetentionResult
- #delete_projection_offset(message : DeleteProjectionOffset) : Bool
- #delete_snapshot(message : DeleteSnapshot) : Nil
- #delete_state(message : DeleteState) : WriteResult
- #ensure_event_store : Nil
-
#ensure_schema : Nil
Optional production capabilities retain compatibility with lightweight custom backends.
- #ensure_state_store : Nil
-
#exec(message : DbExec) : Nil
Raw SQL requests are retained for compatibility with the low-level connection API.
- #exec_last_id(message : DbExecLastId) : Int64
- #load_events(message : LoadEvents) : Array(StoredEvent)
- #load_projection_offset(message : LoadProjectionOffset) : Int64
- #load_snapshot(message : LoadSnapshot) : SnapshotRecord | Nil
- #load_state(message : LoadState) : StateRecord | Nil
- #query_events(message : QueryEvents) : EventPage
- #query_string(message : DbQueryString) : String | Nil
- #query_strings(message : DbQueryStrings) : Array(String)
- #release_outbox(message : ReleaseOutbox) : Bool
- #release_shard_lease(message : ReleaseShardLease) : Bool
- #renew_shard_lease(message : RenewShardLease) : ShardLeaseToken | Nil
- #run_maintenance(message : RunMaintenance) : MaintenanceResult
- #save_projection_offset(message : SaveProjectionOffset) : Int64
- #save_snapshot(message : SaveSnapshot) : Nil
- #save_state(message : SaveState) : WriteResult
- #schema_version : Int64
Instance methods inherited from class Movie::Persistence::BackendConnection
acknowledge_outbox(message : AcknowledgeOutbox) : Int64
acknowledge_outbox,
acquire_shard_lease(message : AcquireShardLease) : ShardLeaseToken | Nil
acquire_shard_lease,
claim_outbox(message : ClaimOutbox) : Array(StoredOutboxEntry)
claim_outbox,
close : Nil
close,
connection_lost?(error : Exception) : Bool
connection_lost?,
delete_events_to(message : DeleteEventsTo) : RetentionResult
delete_events_to,
delete_projection_offset(message : DeleteProjectionOffset) : Bool
delete_projection_offset,
ensure_schema : Nil
ensure_schema,
exec(message : DbExec) : Nil
exec,
exec_last_id(message : DbExecLastId) : Int64
exec_last_id,
load_projection_offset(message : LoadProjectionOffset) : Int64
load_projection_offset,
query_events(message : QueryEvents) : EventPage
query_events,
query_string(message : DbQueryString) : String | Nil
query_string,
query_strings(message : DbQueryStrings) : Array(String)
query_strings,
release_outbox(message : ReleaseOutbox) : Bool
release_outbox,
release_shard_lease(message : ReleaseShardLease) : Bool
release_shard_lease,
renew_shard_lease(message : RenewShardLease) : ShardLeaseToken | Nil
renew_shard_lease,
run_maintenance(message : RunMaintenance) : MaintenanceResult
run_maintenance,
save_projection_offset(message : SaveProjectionOffset) : Int64
save_projection_offset,
schema_version : Int64
schema_version
Instance methods inherited from module Movie::Persistence::OutboxBackend
acknowledge_outbox(message : AcknowledgeOutbox) : Int64
acknowledge_outbox,
claim_outbox(message : ClaimOutbox) : Array(StoredOutboxEntry)
claim_outbox,
release_outbox(message : ReleaseOutbox) : Bool
release_outbox
Instance methods inherited from module Movie::Persistence::QueryBackend
delete_projection_offset(message : DeleteProjectionOffset) : Bool
delete_projection_offset,
load_projection_offset(message : LoadProjectionOffset) : Int64
load_projection_offset,
query_events(message : QueryEvents) : EventPage
query_events,
save_projection_offset(message : SaveProjectionOffset) : Int64
save_projection_offset
Instance methods inherited from module Movie::Persistence::RetentionBackend
delete_events_to(message : DeleteEventsTo) : RetentionResult
delete_events_to,
run_maintenance(message : RunMaintenance) : MaintenanceResult
run_maintenance
Instance methods inherited from module Movie::Persistence::DurableStateBackend
delete_state(message : DeleteState) : WriteResult
delete_state,
ensure_state_store : Nil
ensure_state_store,
load_state(message : LoadState) : StateRecord | Nil
load_state,
save_state(message : SaveState) : WriteResult
save_state
Instance methods inherited from module Movie::Persistence::SnapshotBackend
delete_snapshot(message : DeleteSnapshot) : Nil
delete_snapshot,
load_snapshot(message : LoadSnapshot) : SnapshotRecord | Nil
load_snapshot,
save_snapshot(message : SaveSnapshot) : Nil
save_snapshot
Instance methods inherited from module Movie::Persistence::JournalBackend
append_events(message : AppendEvents) : WriteResult
append_events,
ensure_event_store : Nil
ensure_event_store,
load_events(message : LoadEvents) : Array(StoredEvent)
load_events
Instance methods inherited from module Movie::Persistence::SchemaBackend
ensure_schema : Nil
ensure_schema,
schema_version : Int64
schema_version
Constructor Detail
Instance Method Detail
def ensure_schema : Nil
#
Description copied from class Movie::Persistence::BackendConnection
Optional production capabilities retain compatibility with lightweight custom backends. SQL backends override all of them.
Description copied from class Movie::Persistence::BackendConnection
Raw SQL requests are retained for compatibility with the low-level connection API. Persistence itself never depends on them.