Packages
exandra
0.6.0
1.1.0
1.0.0
0.16.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.3
0.10.2
0.10.1
0.10.1-rc.5
0.10.0
0.10.0-rc.5
0.10.0-rc.4
0.10.0-rc.3
0.10.0-rc.2
0.10.0-rc.1
0.9.1
0.9.0
0.8.1
0.8.0
0.7.5
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.1
0.5.0
0.4.1
0.4.0
0.3.1
0.3.0
0.2.1
0.2.0
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
Exandra is an Elixir library that brings the power of Scylla/Cassandra to Ecto.
Current section
Files
Jump to
Current section
Files
lib/exandra/xandra_cluster_behaviour.ex
defmodule Exandra.XandraClusterBehaviour do
@moduledoc false
# Module used as a behaviour for Xandra.Cluster, to use as mocks in tests.
alias Xandra.Prepared
@callback child_spec(keyword()) :: Supervisor.child_spec()
@callback execute(
cluster :: pid(),
Xandra.statement() | Prepared.t(),
Xandra.values(),
keyword
) ::
{:ok, Xandra.result()} | {:error, Xandra.error()}
@callback prepare(cluster :: pid(), stmt :: Xandra.statement(), keyword()) ::
{:ok, Prepared.t()} | {:error, term()}
@callback prepare!(cluster :: pid(), stmt :: Xandra.statement(), keyword()) ::
{:ok, Prepared.t()} | {:error, term()}
@callback stream_pages!(
cluster :: pid(),
stmt :: Xandra.statement() | Prepared.t(),
values :: Xandra.values(),
keyword :: keyword()
) :: Enumerable.t()
@callback run(cluster :: pid(), (Xandra.conn() -> term())) :: term()
@callback run(cluster :: pid(), keyword(), (Xandra.conn() -> term())) :: term()
end