Electric.Shapes.Filter.Index (electric v1.4.12)

View Source

Efficiently finds shapes that are affected by a change, specifically for a particular operation in where clause.

Each type of operation that has been optimised such as = or @> has its own index module (EqualityIndex, InclusionIndex) that stores data in ETS tables.

This module dispatches to the appropriate index implementation based on the operation type.

Summary

Functions

add_shape(filter, where_cond_id, shape_id, optimisation)

affected_shapes(filter, where_cond_id, field, operation, record)

all_shape_ids(filter, where_cond_id, field, operation)

remove_shape(filter, where_cond_id, shape_id, optimisation)