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

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 @> will have it's own index module that implements the Protocol for this module.

Summary

Functions

add_shape(index, value, shape_instance, and_where)

See Electric.Shapes.Filter.Index.Protocol.add_shape/4.

affected_shapes(index, field, record)

See Electric.Shapes.Filter.Index.Protocol.affected_shapes/3.

all_shapes(index)

See Electric.Shapes.Filter.Index.Protocol.all_shapes/1.

empty?(index)

See Electric.Shapes.Filter.Index.Protocol.empty?/1.

new(binary, type)

remove_shape(index, shape_id)

See Electric.Shapes.Filter.Index.Protocol.remove_shape/2.