@spec primary_keys(DBConnection.conn() | module(), source(), keyword()) :: {:ok, [QuackDB.Meta.Column.t()]} | {:error, Exception.t()}
Returns primary-key columns for a table.
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.
Returns column defaults for a table as a map keyed by column name.
Returns column defaults for a table, raising on errors.
Lists attached DuckDB databases.
Lists attached DuckDB databases, raising on errors.
Returns primary-key columns for a table.
Returns primary-key columns for a table, 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.
@spec column_defaults(DBConnection.conn() | module(), source(), keyword()) :: {:ok, %{required(String.t()) => String.t()}} | {:error, Exception.t()}
Returns column defaults for a table as a map keyed by column name.
@spec column_defaults!(DBConnection.conn() | module(), source(), keyword()) :: %{ required(String.t()) => String.t() }
Returns column defaults for a table, raising on errors.
@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 primary_keys(DBConnection.conn() | module(), source(), keyword()) :: {:ok, [QuackDB.Meta.Column.t()]} | {:error, Exception.t()}
Returns primary-key columns for a table.
@spec primary_keys!(DBConnection.conn() | module(), source(), keyword()) :: [ QuackDB.Meta.Column.t() ]
Returns primary-key columns for a table, 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.