Skip to contents

Decide, per object, whether to upload or reuse

Usage

freeze_plan(
  objects,
  prev_catalog,
  version,
  layout = c("compat", "canonical"),
  release_prefix = CC_RELEASE_PREFIX
)

Arguments

objects

tibble from release_objects() (all tables, row-bound).

prev_catalog

previous release's catalog (list) or NULL.

version, release_prefix

the release and its prefix.

layout

"compat" (objects live under the release prefix; unchanged ones are server-side copied from the previous release) or "canonical" (objects live under CC_TABLES_PREFIX; unchanged ones already exist there).

Value

objects plus path (bucket-relative destination), action (upload | copy | exists) and source (bucket-relative path copied from, or NA). For a copy/exists object bytes and sha256 describe the object that will actually sit at path — the previous release's — and the local export's values move to bytes_local/sha256_local (4.0.3): identity is the row signature, and a row-identical re-export is not byte-identical for every table (v2026.09.04 shipped 173 catalog entries whose size/sha256 described the local file while the path held the copied object).