miller/pkg/transformers/utils
John Kerl 1a20b32bb5
join: add --ignore-empty to skip pairing on empty-string join keys (#1194) (#2210)
By default, records with an empty-string value in a join field are
paired just like any other value, so two records both missing an ID
get matched with each other -- rarely the intended behavior.
--ignore-empty treats an empty-string join-field value as if the
field were absent, on both the left and right files, so such records
fall through to unpaired handling (--np/--ul/--ur) instead of
cross-joining on the empty string.

Wires the check through both the default half-streaming join and the
-s/--sorted-input doubly-streaming join, which track left-file
buckets independently and needed the same empty-aware key-presence
check in JoinBucketKeeper.

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-15 16:42:39 -04:00
..
doc.go Export library code in pkg/ (#1391) 2023-09-10 17:15:13 -04:00
join_bucket.go Multiple style updates (#1974) 2026-02-16 15:49:21 -05:00
join_bucket_keeper.go join: add --ignore-empty to skip pairing on empty-string join keys (#1194) (#2210) 2026-07-15 16:42:39 -04:00
percentile_keeper.go Add mlr rank verb (#2178) 2026-07-07 17:35:18 -04:00
README.md Export library code in pkg/ (#1391) 2023-09-10 17:15:13 -04:00
stats1_accumulators.go Performance and style fixes (#1981) 2026-02-18 09:19:31 -05:00
stats2_accumulators.go Convert if/else-if chains to typed switch statements (staticcheck QF1003) (#2112) 2026-06-28 18:27:42 -04:00
top_keeper.go Multiple style updates (#1974) 2026-02-16 15:49:21 -05:00
window_keeper.go Multiple style updates (#1974) 2026-02-16 15:49:21 -05:00
window_keeper_test.go Export library code in pkg/ (#1391) 2023-09-10 17:15:13 -04:00

These are data structures used by various verbs including join,stats1, and `top.