Direct Xandra connection wrapper for AshScylla.
Replaces the Exandra/Ecto.Repo pattern. Manages a Xandra connection process and provides query/prepare operations.
Usage
# In your application supervision tree:
children = [
{AshScylla.Connection, name: MyApp.Scylla, nodes: ["127.0.0.1:9042"], keyspace: "my_app"}
]
# Or start manually:
{:ok, conn} = AshScylla.Connection.start_link(nodes: ["127.0.0.1:9042"], keyspace: "my_app")Options
All options are passed through to Xandra.start_link/1. Key options:
:name- Register the connection under this name (required for supervised start):nodes- List of nodes, e.g.["127.0.0.1:9042"]:keyspace- Keyspace to USE on connect
Summary
Functions
Returns a specification to start this module under a supervisor.
Returns the connection struct by name (local or global).
Prepares a CQL statement.
Prepares a CQL statement, raising on error.
Executes a simple or prepared query.
Executes a simple or prepared query, raising on error.
Stops the connection.
Types
Functions
@spec child_spec(keyword()) :: Supervisor.child_spec()
Returns a specification to start this module under a supervisor.
See Supervisor.
Returns the connection struct by name (local or global).
@spec prepare(t() | module(), String.t(), keyword()) :: {:ok, Xandra.Prepared.t()} | {:error, term()}
Prepares a CQL statement.
Prepares a CQL statement, raising on error.
Executes a simple or prepared query.
Executes a simple or prepared query, raising on error.
@spec start_link(keyword()) :: GenServer.on_start()
Stops the connection.