joinCandidate

private fnCsvCandidate joinCandidate(CsvCandidate a, CsvCandidate b) @safe pure nothrow

Joins two candidates into one column kind: the lattice of ADR-2026-10-24-19 with STRING on top. NULL joins away; the numeric chain collapses upward (integers beyond long have no exact common integer kind); every other distinct pair is text. Idempotent, commutative and associative - so block and thread boundaries cannot change the joined schema.

Parameters

aone candidate
bthe other candidate

Returns

the joined candidate.