DuckDB catalog and metadata helpers.
These functions wrap DuckDB's logical metadata pragmas and table functions.
They accept either a QuackDB connection or a QuackDB-backed Ecto repo. Table
arguments may be schema modules, atoms, strings, or {prefix, source} tuples.
Summary
Functions
Lists attached DuckDB databases.
Lists attached DuckDB databases, raising on errors.
Returns logical column metadata for a table.
Returns logical column metadata for a table, raising on errors.
Lists tables visible to the current DuckDB connection.
Lists tables visible to the current DuckDB connection, raising on errors.
Types
Functions
@spec databases( DBConnection.conn() | module(), keyword() ) :: {:ok, [QuackDB.Meta.Database.t()]} | {:error, Exception.t()}
Lists attached DuckDB databases.
@spec databases!( DBConnection.conn() | module(), keyword() ) :: [QuackDB.Meta.Database.t()]
Lists attached DuckDB databases, raising on errors.
@spec table_info(DBConnection.conn() | module(), source(), keyword()) :: {:ok, [QuackDB.Meta.Column.t()]} | {:error, Exception.t()}
Returns logical column metadata for a table.
@spec table_info!(DBConnection.conn() | module(), source(), keyword()) :: [ QuackDB.Meta.Column.t() ]
Returns logical column metadata for a table, raising on errors.
@spec tables( DBConnection.conn() | module(), keyword() ) :: {:ok, [QuackDB.Meta.Table.t()]} | {:error, Exception.t()}
Lists tables visible to the current DuckDB connection.
@spec tables!( DBConnection.conn() | module(), keyword() ) :: [QuackDB.Meta.Table.t()]
Lists tables visible to the current DuckDB connection, raising on errors.