Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Reading a report

A text report has four parts. Take:

$ delta-explain ./users -w "country = 'DE' AND age > 40"

Predicate Analysis:
  partition-safe: country = 'DE'
  stats-safe:     age > 40
  unsplittable:   -
  confidence:     conservative

Files in snapshot: 6

Phase 1: Partition pruning [exact]
  predicate:       country = 'DE'
  files remaining: 2  (-4, 67% pruned)
Phase 2: Data skipping (min/max statistics) [conservative]
  predicate:       age > 40
  files remaining: 1  (-1, 50% pruned)

Total reduction: 6 -> 1 files (83% pruned)

Predicate Analysis

Each top-level AND conjunct is routed to the mechanism that can eliminate files on it:

  • partition-safe — references partition columns only; prunes at the directory level, exactly.
  • partition-exact — outside the kernel's language (an any-shape LIKE) but all its columns are partition columns, so it is evaluated directly against the literal partition values.
  • stats-safe — references non-partition columns; prunes on per-file min/max statistics.
  • unsplittable — mixes both axes, or contains a construct the tool cannot reason about; applied conservatively (keeps all files) with a diagnostic.

Confidence

Labels how precisely the elimination can be explained, never whether it is correct (it always is, conservatively):

  • exact — partition values compared directly; every dropped file provably has no match.
  • conservative — min/max ranges can overlap a bound without a match, so files may be kept in excess, never dropped in excess.
  • incomplete — part of the predicate could not be attributed to one phase; the totals stay sound, the attribution does not.

Phases

The pruning is decomposed into chained phases — partition pruning first, then data skipping — each showing the predicate fragment it honored and the files remaining. It is a decomposition of what the metadata makes possible, not an execution trace.

Per-file detail

Add --verbose to see each file kept or dropped and why; in JSON mode it emits a machine-readable files[] array. Cap large listings with --limit.

The precise guarantees behind every label are in What delta-explain guarantees.