Server-level admin: create/drop/list databases, existence, readiness. Every
identifier is allowlist-validated BEFORE any request reaches the wire (fixes the
interpolation surface a hand-written create database <name> would open). Returns
are tagged tuples — a transport failure is never swallowed into a bare boolean.
Not delegated from the Arcadic facade: destructive admin stays namespaced.
Summary
Functions
Create a database. Validates name.
Create a database, raising on error.
Whether a database exists.
Drop a database. Validates name.
Drop a database, raising on error.
List all databases.
Server readiness.
Functions
@spec create_database(Arcadic.Conn.t(), String.t()) :: :ok | {:error, atom() | Exception.t()}
Create a database. Validates name.
@spec create_database!(Arcadic.Conn.t(), String.t()) :: :ok
Create a database, raising on error.
@spec database_exists?(Arcadic.Conn.t(), String.t()) :: {:ok, boolean()} | {:error, atom() | Exception.t()}
Whether a database exists.
@spec drop_database(Arcadic.Conn.t(), String.t()) :: :ok | {:error, atom() | Exception.t()}
Drop a database. Validates name.
@spec drop_database!(Arcadic.Conn.t(), String.t()) :: :ok
Drop a database, raising on error.
@spec list_databases(Arcadic.Conn.t()) :: {:ok, [String.t()]} | {:error, Exception.t()}
List all databases.
@spec ready?(Arcadic.Conn.t()) :: {:ok, boolean()} | {:error, Exception.t()}
Server readiness.