# `Dllb`
[🔗](https://github.com/Oeditus/dllb_ex/blob/v0.1.0/lib/dllb.ex#L1)

Elixir client for the dllb multi-model NoSQL database.

Provides a high-level API that delegates to a NimblePool-managed
connection pool. Configure the pool in your application config:

    config :dllb,
      enabled: true,
      host: "127.0.0.1",
      port: 3009,
      pool_size: 5,
      outcome: :json,
      timeout: 30_000

## Usage

    {:ok, result} = Dllb.query("SELECT * FROM users")
    result = Dllb.query!("SELECT * FROM users")

# `query`

```elixir
@spec query(String.t()) :: {:ok, Dllb.Result.t()} | {:error, term()}
```

Executes a query through the connection pool.

Returns `{:ok, result}` or `{:error, reason}`.

# `query!`

```elixir
@spec query!(String.t()) :: Dllb.Result.t()
```

Executes a query through the connection pool, raising on error.

Returns the result struct on success or raises `Dllb.Error`.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
