Packages
Spawn Statestores Native is a storage lib for the Spawn Actors System using Mnesia
Current section
Files
Jump to
Current section
Files
lib/statestores/adapters/native_projection_adapter.ex
defmodule Statestores.Adapters.NativeProjectionAdapter do
@moduledoc """
Implements the ProjectionBehaviour for Mnesia, with dynamic table name support.
"""
use Statestores.Adapters.ProjectionBehaviour
use GenServer
alias Statestores.Schemas.Projection
import Statestores.Util, only: [normalize_table_name: 1]
@impl true
def create_or_update_table(_projection_type, _table_name) do
raise "Projections are not supported using native adapter"
end
@impl true
def upsert(_projection_type, _table_name, _data) do
raise "Projections are not supported using native adapter"
end
@impl true
def query(_projection_type, _query, _params, _opts) do
raise "Projections are not supported using native adapter"
end
@impl true
def default_port, do: "0000"
def child_spec(_),
do: %{
id: __MODULE__,
start: {__MODULE__, :start_link, []}
}
def start_link, do: GenServer.start_link(__MODULE__, [], name: __MODULE__)
@impl GenServer
def init(_), do: {:ok, nil}
end