Class: Pgoutput::Client::SlotStatus
- Inherits:
-
SlotStatusData
- Object
- Data
- SlotStatusData
- Pgoutput::Client::SlotStatus
- Defined in:
- lib/pgoutput/client/slot_status.rb,
sig/pgoutput/client/slot_status.rbs
Overview
Typed replication-slot catalog snapshot.
Instance Attribute Summary
Attributes inherited from SlotStatusData
#active, #active_pid, #catalog_xmin, #confirmed_flush_lsn, #conflicting, #database, #inactive_since, #invalidation_reason, #plugin, #restart_lsn, #retained_wal_bytes, #safe_wal_size, #slot_name, #slot_type, #wal_status
Class Method Summary collapse
-
.from_catalog(attributes) ⇒ SlotStatus
Build a snapshot from a
pg_replication_slotsJSON object.
Methods inherited from SlotStatusData
Class Method Details
.from_catalog(attributes) ⇒ SlotStatus
Build a snapshot from a pg_replication_slots JSON object.
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/pgoutput/client/slot_status.rb', line 39 def self.from_catalog(attributes) value = ->(key) { attributes.fetch(key) { attributes[key.to_sym] } } new( slot_name: value.call("slot_name"), plugin: value.call("plugin"), slot_type: value.call("slot_type"), database: value.call("database"), active: value.call("active") == true, active_pid: value.call("active_pid"), catalog_xmin: value.call("catalog_xmin"), restart_lsn: value.call("restart_lsn"), confirmed_flush_lsn: value.call("confirmed_flush_lsn"), retained_wal_bytes: value.call("retained_wal_bytes"), wal_status: value.call("wal_status"), safe_wal_size: value.call("safe_wal_size"), inactive_since: value.call("inactive_since"), conflicting: value.call("conflicting"), invalidation_reason: value.call("invalidation_reason") ) end |