ducky

Native DuckDB driver for Gleam.

Provides a type-safe, ergonomic interface to DuckDB for both Erlang and JavaScript runtimes.

Quick Start

import ducky
import gleam/io
import gleam/string

pub fn main() {
  let assert Ok(conn) = ducky.connect(":memory:")
  let assert Ok(result) = ducky.query(conn, "SELECT 42 as answer")
  io.println(string.inspect(result))
}

Types

pub type DataFrame =
  types.DataFrame
pub type Error =
  error.Error
pub type Row =
  types.Row
pub type Value =
  types.Value

Values

pub const close: fn(connection.Connection) -> Result(
  Nil,
  error.Error,
)
pub const connect: fn(String) -> Result(
  connection.Connection,
  error.Error,
)
pub const query: fn(connection.Connection, String) -> Result(
  types.DataFrame,
  error.Error,
)
pub const query_params: fn(
  connection.Connection,
  String,
  List(types.Value),
) -> Result(types.DataFrame, error.Error)
pub const transaction: fn(
  connection.Connection,
  fn(connection.Connection) -> Result(b, error.Error),
) -> Result(b, error.Error)
pub const with_connection: fn(
  String,
  fn(connection.Connection) -> Result(a, error.Error),
) -> Result(a, error.Error)
Search Document