A drop-in replacement for use Ecto.Repo that adds Recall's read
fast-path.
defmodule MyApp.Repo do
use Recall.Repo, otp_app: :my_app
endThis is exactly use Ecto.Repo, adapter: Ecto.Adapters.Recall, plus an
override of all/2 that, for the bare Repo.all(Schema) case on a
load_free? schema, assembles structs directly from the stored Mnesia records
instead of routing every field through Ecto's per-field loader. See
Ecto.Adapters.Recall.FastRead for which queries qualify and why it's
equivalent to the standard path.
Everything else behaves identically to Ecto.Repo. The fast-path can be
disabled per call with Repo.all(query, recall_fast: false) — used by the
benchmark to measure the standard path through the same repo.