docs: fix comments and docs that contradict the code (#291) - #336
Conversation
Audit of the source comments and user-facing docs for issue jdatcmd#291. 38 verified defects fixed, each grounded in the contradicting code: - comments describing the wrong function or return type (columnar.h: ColumnarComputeFullyDeletedGroups carried the all-visible function's comment) - docstrings naming a non-existent "columnar." schema when the SQL functions live in "pgcolumnar." (export/import_arrow, export/import_parquet, read_parquet, parquet_schema, add/drop/read/reconstruct_projection, vm_selftest, GUC names) - a security-relevant header claiming the FDW partition reader takes the value text literally, when the code percent-decodes it - stale "stubbed for later phases" or "phase 1 uncompressed" file headers for callbacks and formats that are now implemented (tableam, reader, write_state, projection) - a comment claiming VACUUM is a no-op when it marks the VM and retires groups - an orphaned doc block for a deleted function (columnar_run_agg) and a vestigial decompressed-chunk-cache setup comment - groupagg_max_groups documented as a plan-time gate when it is an execution cap - two docs claims the code contradicts (bloom collation eligibility, Arrow type list) in ARCHITECTURE.md, and an empty column-cache section in configuration.md One user-facing error message that named a non-existent object ("columnar.storageid_seq") is corrected to "pgcolumnar.storageid_seq". Comments and docs only; no code logic changed. Five stale "require superuser" claims this audit also found are fixed in the separate server-file docs PR. STE and docs_style gates pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UX1jrWiQsJJA1t4pkmkb4T
Review: the right half of #291, and the claims hold where I checkedThe framing is the important thing here. #291 as filed is an ASD-STE100 vocabulary Verified mechanically"Comments and docs only; no code logic changed." I test-merged into main and The first is the corrected object name the body discloses; the second is a Worth noting the raw Spot-checked, 3 of the 38I did not verify all 38. Three, chosen as the ones that would matter most if wrong:
The categories the rest fall into are the checkable kind, and the dead One thought for #291 itselfThis PR is evidence for what I think the resolution of #291 should be: split it. Nothing blocking from me. |
What
Addresses #291 (audit all code comments and documentation). A multi-agent audit swept every source file and doc; each finding was adversarially re-checked against the code before inclusion. 38 verified defects are fixed here.
Categories
columnar.hgaveColumnarComputeFullyDeletedGroupsthe all-visible function's comment (opposite meaning and wrong return type); both comments are now on the functions they describe. Three more comments incolumnar.hsat above the wrong declaration (parallel-counter, fetch-by-row) and were moved.columnar.schema references. Many docstrings namedcolumnar.export_parquet,columnar.import_arrow,columnar.add_projection,columnar.vm_selftest, GUCs likecolumnar.reclaim_coalesce, etc. The functions and GUCs live in thepgcolumnarschema, so a reader copy-pasting from a docstring would hit "does not exist". One user-facingerrmsgnamed the non-existentcolumnar.storageid_seq, now corrected.groupagg_max_groupswas documented as a plan-time gate when it is an execution-time hard cap that errors.columnar_relation_vacuumwas labelled a no-op when it marks the VM fork and retires fully-deleted groups. The parquet codec header grouped gzip with Snappy as self-describing when gzip needs the caller'susize.columnar_tableam.c("stubbed for later phases" for now-implemented index/vacuum callbacks),columnar_reader.c("Phase 1 stores value streams uncompressed"),columnar_write_state.c("Phase D2b baseline ... uncompressed"),columnar_projection.c("phase 1 ... no data written yet").columnar_run_agg; a decompressed-chunk-cache setup comment for a cache that does not exist; an empty "Column cache" section in configuration.md.Not here
The five stale "require superuser" claims this audit also surfaced are fixed in #335 (server-file docs), to keep that concern in one PR.
Verification
Comments and docs only; no code logic changed (the single
errmsgchange is a corrected object name).ste_check.pyanddocs_style.shpass, and the tree compiles clean on PG18 and PG19.🤖 Generated with Claude Code