Skip to content

storage

django_spire.contrib.sync.database.storage

UpsertResult dataclass

skipped = field(default_factory=set) class-attribute instance-attribute

errors = field(default_factory=list) class-attribute instance-attribute

SequenceRange dataclass

value_first instance-attribute

value_last instance-attribute

CheckpointPosition dataclass

peer_sequence instance-attribute

local_sequence_pushed instance-attribute

SequenceAllocator

Bases: Protocol

allocate

Source code in django_spire/contrib/sync/database/storage.py
def allocate(self, count: int = 1) -> SequenceRange: ...

current

Source code in django_spire/contrib/sync/database/storage.py
def current(self) -> int: ...

CheckpointStore

Bases: Protocol

get_after_keys

Source code in django_spire/contrib/sync/database/storage.py
def get_after_keys(self, peer_node_id: str) -> dict[str, dict[str, int | str]]: ...

get_checkpoint

Source code in django_spire/contrib/sync/database/storage.py
def get_checkpoint(self, peer_node_id: str) -> CheckpointPosition: ...

save_checkpoint

Source code in django_spire/contrib/sync/database/storage.py
def save_checkpoint(
    self,
    peer_node_id: str,
    peer_sequence: int,
    local_sequence_pushed: int,
    after_keys: dict[str, dict[str, int | str]] | None = None,
) -> None: ...

RecordReader

Bases: Protocol

get_changed_since

Source code in django_spire/contrib/sync/database/storage.py
def get_changed_since(
    self,
    model_label: str,
    sequence: int,
    peer_node_id: str,
    sequence_max: int | None = None,
    limit: int | None = None,
    after_key: str | None = None,
) -> dict[str, SyncRecord]: ...

get_deletes_since

Source code in django_spire/contrib/sync/database/storage.py
def get_deletes_since(
    self,
    model_label: str,
    sequence: int,
    peer_node_id: str,
    sequence_max: int | None = None,
) -> dict[str, int]: ...

get_records

Source code in django_spire/contrib/sync/database/storage.py
def get_records(
    self,
    model_label: str,
    keys: set[str],
) -> dict[str, SyncRecord]: ...

get_tombstones

Source code in django_spire/contrib/sync/database/storage.py
def get_tombstones(
    self,
    model_label: str,
    keys: set[str],
) -> dict[str, int]: ...

RecordWriter

Bases: Protocol

clear_tombstones

Source code in django_spire/contrib/sync/database/storage.py
def clear_tombstones(
    self,
    model_label: str,
    keys: set[str],
) -> None: ...

delete_many

Source code in django_spire/contrib/sync/database/storage.py
def delete_many(
    self,
    model_label: str,
    deletes: dict[str, int],
    origin_node: str,
) -> None: ...

upsert_many

Source code in django_spire/contrib/sync/database/storage.py
def upsert_many(
    self,
    model_label: str,
    records: dict[str, SyncRecord],
    origin_node: str,
) -> UpsertResult: ...

DatabaseSyncStorage

Bases: CheckpointStore, RecordReader, RecordWriter, Protocol

get_sequence_allocator

Source code in django_spire/contrib/sync/database/storage.py
def get_sequence_allocator(self) -> SequenceAllocator: ...