Electric.ShapeCache.ShapeCleaner (electric v1.4.13)
View SourceRemoves a shape (consumer, status entry, on-disk data and publication entry) on demand.
Summary
Types
@type reason() :: {:shutdown, :cleanup} | {:shutdown, :suspend} | term()
@type shape_handle() :: Electric.shape_handle()
@type stack_id() :: Electric.stack_id()
Functions
@spec handle_writer_termination(stack_id(), shape_handle(), reason()) :: :removed | :ok
@spec remove_shape(stack_id(), shape_handle(), term()) :: :ok | {:error, term()}
@spec remove_shape_async(stack_id(), shape_handle()) :: :ok
@spec remove_shape_storage_async(stack_id(), [shape_handle()]) :: :ok
@spec remove_shapes(stack_id(), [shape_handle()], term()) :: :ok | {:error, term()}
@spec remove_shapes_async(stack_id(), [shape_handle()]) :: :ok
@spec remove_shapes_for_relations([Electric.oid_relation()], stack_id(), term()) :: :ok