catalog pin

Freeze a catalog entry’s caches and persist the result as a new entry.

Pinning changes the build hash, so it always yields a new content-named entry rather than mutating the source. Use –alias to name it, or –move-aliases to move every alias (e.g. prod) from the source entry onto the pinned entry.

Usage

xorq catalog pin ENTRY [OPTIONS]

Arguments

  • ENTRY—An entry name or alias.

Options

Option Default Description
--sync / --no-sync --sync Push the catalog to its remotes after the operation.
--cache-dir $XORQ_CACHE_DIR or ~/.cache/xorq Directory for parquet cache files.
-a, --alias none Register this alias for the new entry.
--move-aliases off Move all of the source entry’s aliases onto the new entry.
-e, --ensure-materialized off Materialize any unpopulated caches (by executing) before pinning.
--relocate-reads / --no-relocate-reads --no-relocate-reads Bundle local-file Read nodes (including frozen caches) into the entry so it is self-contained and runnable from anywhere. Remote reads (s3://, gs://, …) are already location-independent and left in place. Pass –no-relocate-reads for a lean, machine-local entry; this only affects reads not already bundled – relocation discards a read’s original path, so it cannot be undone by a later –no-relocate-reads on an already-relocated input.

Examples

xorq catalog pin penguins-prod --alias penguins-pinned
xorq catalog pin penguins-prod --move-aliases