abstract class
Movie::Persistence::BackendConnection
- Movie::Persistence::BackendConnection
- Reference
- Object
Overview
One physical backend connection. A connection is owned by exactly one ConnectionWorker and is never used from another execution context.
Included Modules
- Movie::Persistence::DurableStateBackend
- Movie::Persistence::JournalBackend
- Movie::Persistence::OutboxBackend
- Movie::Persistence::QueryBackend
- Movie::Persistence::RetentionBackend
- Movie::Persistence::SchemaBackend
- Movie::Persistence::SnapshotBackend
Direct Known Subclasses
Defined in:
movie/persistence/protocol.crInstance Method Summary
- #acknowledge_outbox(message : AcknowledgeOutbox) : Int64
- #acquire_shard_lease(message : AcquireShardLease) : ShardLeaseToken | Nil
- #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
-
#ensure_schema : Nil
Optional production capabilities retain compatibility with lightweight custom backends.
-
#exec(message : DbExec) : Nil
Raw SQL requests are retained for compatibility with the low-level connection API.
- #exec_last_id(message : DbExecLastId) : Int64
- #load_projection_offset(message : LoadProjectionOffset) : Int64
- #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
- #schema_version : Int64
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
Instance Method Detail
def ensure_schema : Nil
#
Optional production capabilities retain compatibility with lightweight custom backends. SQL backends override all of them.
Raw SQL requests are retained for compatibility with the low-level connection API. Persistence itself never depends on them.