DuckDB storage observability helpers.
The functions in this module wrap DuckDB's storage table functions and 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
Runs CHECKPOINT to flush the write-ahead log into the database file.
Runs CHECKPOINT, raising on errors.
Returns compression usage grouped by table column.
Returns compression usage grouped by table column, raising on errors.
Returns DuckDB database size information.
Returns DuckDB database size information, raising on errors.
Runs FORCE CHECKPOINT to wait for the checkpoint lock and flush storage.
Runs FORCE CHECKPOINT, raising on errors.
Returns DuckDB storage segments for a table.
Returns DuckDB storage segments for a table, raising on errors.
Types
Functions
@spec checkpoint( DBConnection.conn() | module(), keyword() ) :: {:ok, QuackDB.Result.t()} | {:error, Exception.t()}
Runs CHECKPOINT to flush the write-ahead log into the database file.
@spec checkpoint!( DBConnection.conn() | module(), keyword() ) :: QuackDB.Result.t()
Runs CHECKPOINT, raising on errors.
@spec compression(DBConnection.conn() | module(), source(), keyword()) :: {:ok, QuackDB.Storage.CompressionSummary.t()} | {:error, Exception.t()}
Returns compression usage grouped by table column.
@spec compression!(DBConnection.conn() | module(), source(), keyword()) :: QuackDB.Storage.CompressionSummary.t()
Returns compression usage grouped by table column, raising on errors.
@spec database_size( DBConnection.conn() | module(), keyword() ) :: {:ok, [QuackDB.Storage.DatabaseSize.t()]} | {:error, Exception.t()}
Returns DuckDB database size information.
@spec database_size!( DBConnection.conn() | module(), keyword() ) :: [QuackDB.Storage.DatabaseSize.t()]
Returns DuckDB database size information, raising on errors.
@spec force_checkpoint( DBConnection.conn() | module(), keyword() ) :: {:ok, QuackDB.Result.t()} | {:error, Exception.t()}
Runs FORCE CHECKPOINT to wait for the checkpoint lock and flush storage.
@spec force_checkpoint!( DBConnection.conn() | module(), keyword() ) :: QuackDB.Result.t()
Runs FORCE CHECKPOINT, raising on errors.
@spec info(DBConnection.conn() | module(), source(), keyword()) :: {:ok, [QuackDB.Storage.Segment.t()]} | {:error, Exception.t()}
Returns DuckDB storage segments for a table.
@spec info!(DBConnection.conn() | module(), source(), keyword()) :: [ QuackDB.Storage.Segment.t() ]
Returns DuckDB storage segments for a table, raising on errors.