retrofit0.10.0-wip.8

retrofit data list

List the data fold the emit verbs would apply.

Read-only: it emits no SQL and mints nothing. With no --label it renders the
reference fold plus an inventory of the labels the corpus carries; naming
labels renders the fold those layers produce, in argv order.

Run with --help-all for what each field of an item line means.

Usage:
  retrofit data list [flags]

Flags:
      --at <cut>                     render point <cut>: an opid prefix or root/last/seal anchor, optionally with ^ or ~N (default: last)
      --data-root data_root          root that overrides the schema's data_root
      --extra-seed-path seed_paths   root that appends to the declared seed_paths
  -h, --help                         help for list
      --help-all                     show extended help (vocabulary, semantics, caveats)
      --label <label>                apply the dataset carrying this exact <label> (repeatable; argv order is layer order; byte-exact)
      --schema <name>                registered schema <name> (resolves via the chain when omitted)
      --seed-path seed_paths         root that replaces the declared seed_paths

Global Flags:
      --as string        output mode: text | json (default "text")
  -C, --chdir string     treat <dir> as the working directory for the entire run
      --config string    retrofit.toml path (overrides discovery; also accepts $RETROFIT_CONFIG)
  -f, --file string      oplog file path; selects a registered [[schema]] path (overrides discovery)
      --no-consolidate   render every advisory occurrence instead of collapsing repeats
  -q, --quiet count      suppress the advisory tier on stderr; stack (-qq) to drop it whole (errors and results still print)
  -v, --verbose          reveal info-tier advisories on stderr

Docs: https://docs.retrofit.sh/current/commands/retrofit-data-list/

retrofit data list --help-all adds:

Extended help:

Reading an item line:

  <schema.table>  <state>  floor=...  appends=N  excluded=N(...)  s3=N

  floor=     The floor: the record whose replace sets the table's rows,
             as <label>/<disposition>/<body>@<anchor>. The label is the
             layer that placed it (ref is the reference band), the body
             is data or none (a table declared empty), and the anchor is
             the op the record is anchored at. floor=none when no floor
             occupies the table.
  witness=   The floor record's witness state: 'witnessed <opid>',
             witness-stale or unwitnessed. Printed after a floor only.
  removed=   The keys a reference replace floor dropped from the rows
             its chain held before, or 'not-computable (<cause>)' when
             they cannot be worked out offline. Printed after such a
             floor only.
  appends=N  The contributions stacked on the floor, or composing the
             table alone when there is none: one per layer, anchor and
             disposition (append or restate), however many records each
             holds.
  excluded=N(<cause>:<n>,...)
             The table's records this fold leaves out, then the count
             under each cause. -v adds one indented line per record with
             its cause, label, anchor and file.
  s3=N       The contributions anchored below a lower layer's floor: an
             append or restate from a later --label layer, anchored at
             an earlier op than the floor the layers beneath it (the
             reference band included) put on the table. It was written
             against an older version of the dataset it stacks on, so a
             statement in it may no longer match the rows beneath.
             Information only: the fold is the same and nothing refuses.
             snapshot and migrate note each one under -v as
             data-layer-below-floor. A replace never counts, because it
             discards the layers beneath it. s3=0 is the usual reading.

A bare run ends with one inventory line per label the corpus carries:

  label <label>  files=N

  files=N    The number of data files carrying that label.

Under --as=json the counts are lists: appends[], excluded[] and s3[] name
each entry the text line only counts.

Before 1.0, any release may change behavior; the release notes list what changed.