Repository navigation
Composable selection + a shared selection handler
selection := <struct>on the analysis functions (plink_freq/plink_hardy/plink_missing/plink_score/plink_glm/plink_pca/plink_ld): compose a selection once —samples/region/variant_range— and pass it to many functions, with individual named params overriding per field.variant_rangenow filters on the stat functions (a contiguous variant window). Arbitrary variant-set selection (variants) on the stat functions raises a clear "not supported here" error (Tier-C, deferred).- Internally, selection parsing (
samples/region) is unified behind a shared axisSelectionhandler across all these functions — the reference implementation of the axis-Selectionprimitive for a nascent shared cross-extension convention for axis/array data in DuckDB. - All existing calls are byte-identical (the handler wraps the same primitives; the pre-refactor full-suite baseline is unchanged). The parameter is
selection, not the reserved SQL keywordselect.
Deferred: the read_pfile migration onto the handler, arbitrary variant-set scans on the stat functions, and a named-arg plink_selection() scalar (not expressible in this DuckDB version).
Full suite: 11162 assertions / 186 test cases.
🤖 Generated with Claude Code