View Source API Reference Logflare Etso v1.1.2

Modules

Top-level module for Etso.

Used as an Adapter in Repo modules, which transparently spins up one ETS table for each Schema used with the Repo, namespaced to the Repo to allow concurrent running of multiple Repositories.

Repo-level Supervisor which supports the ETS Adapter. Within the Supervision Tree, a Dynamic Supervisor is used to hold the Table Servers, and a Registry is used to keep track of both the Table Servers, and their ETS Tables.

Provides convenience function to spin up a Registry, which is used to hold the Table Servers (registered by GenServer when starting up), alongside their ETS tables (registered when the Table Server starts).

The Table Server is a simple GenServer tasked with starting and holding an ETS table, which is namespaced in the Table Registry by the Repo and the Schema. Once the Table Server starts, it will attempt to create the ETS table, and also register the ETS table with the Table Registry.

Provides convenience function to spin up a Dynamic Supervisor, which is used to hold the Table Servers.

The ETS Match Specifications module contains various functions which convert Ecto queries to ETS Match Specifications in order to execute the given queries with ETS with as much pushed down to ETS as possible.

The ETS Objects Sorter module is responsible for sorting results returned from ETS according to the sort predicates provided in the query.

The ETS Table Structure module contains various convenience functions to aid the transformation between Ecto Schemas (maps) and ETS entries (tuples). The primary key is moved to the head, in accordance with ETS conventions. Composite primary keys can not be accepted, however.