From 311f75a495d59e2d2f196fa8b61efa9eb07a17d8 Mon Sep 17 00:00:00 2001 From: "Joshua (D) Drake" <136637981+ChronicallyJD@users.noreply.github.com> Date: Wed, 5 Aug 2026 18:08:38 -0600 Subject: [PATCH] docs: remove merge conflict markers from a published page, and gate against them docs/limitations.md carries three raw conflict markers on main, under "Vacuum and compaction": <<<<<<< HEAD ... ======= ... >>>>>>> origin/main They are live on the documentation site. Both arms were correct, so the resolution is a union: the autovacuum_parallel_workers bullet is additive, and the REPACK bullet supersedes the older VACUUM FULL and CLUSTER one, since REPACK dispatches through the same path and is refused for the same reason. The reason this reached main is worth more than the fix. Every check in docs_style.sh passed with the markers present, because conflict markers are valid Markdown text. The STE checker reads prose. The nav check reads mkdocs.yml. mkdocs build --strict resolves links. None of them asks whether the page is a coherent document. So docs_style.sh now fails on a conflict marker in docs/ or in any top-level Markdown file. Removal-proved: it fails against main's copy of the page and passes against the resolved one. Found while verifying an unrelated documentation claim, which is the only reason anybody looked. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01UqprqkCXuH8SegiZejE1Tw --- docs/limitations.md | 5 ----- test/docs_style.sh | 10 ++++++++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/docs/limitations.md b/docs/limitations.md index 5f81275..9663c92 100644 --- a/docs/limitations.md +++ b/docs/limitations.md @@ -268,7 +268,6 @@ returning no rows. ## Vacuum and compaction -<<<<<<< HEAD - `autovacuum_parallel_workers`, the per-table storage parameter PostgreSQL 19 adds for parallel autovacuum, is accepted on a columnar table and has no effect. pgColumnar implements its own vacuum, which marks the visibility map and retires @@ -276,14 +275,10 @@ returning no rows. refused: storage-parameter validation belongs to PostgreSQL and is driven by the relation kind rather than by the access method. Setting it is harmless and pointless. -- `VACUUM FULL` and `CLUSTER` are not supported on a columnar table; the - copy-for-cluster path raises an error. Use `pgcolumnar.vacuum` or -======= - `REPACK`, `VACUUM FULL` and `CLUSTER` are not supported on a columnar table; the copy-for-cluster path raises an error. `REPACK` arrives in PostgreSQL 19 and replaces the other two, and it dispatches through the same path, so it is refused for the same reason. Use `pgcolumnar.vacuum` or ->>>>>>> origin/main `pgcolumnar.vacuum_full` instead. - `pgcolumnar.vacuum` always rewrites the whole relation into full row groups. It accepts a `stripe_count` argument for compatibility with the interface, but it diff --git a/test/docs_style.sh b/test/docs_style.sh index 9e57b42..6ab40fa 100755 --- a/test/docs_style.sh +++ b/test/docs_style.sh @@ -79,6 +79,16 @@ check "the roadmap is in the documentation nav" "$([ "$nav_roadmap" -ge 1 ] && e check "and the page that nav entry points at exists" \ "$([ -f "$SRCDIR/docs/roadmap.md" ] && echo yes || echo no)" "yes" +# Merge conflict markers. These reached main and were published: three of them sat +# in docs/limitations.md under "Vacuum and compaction", and every other check in +# this file passed with them there, because they are valid Markdown text. +# +# The STE checker reads prose and the nav check reads mkdocs.yml. Neither asks +# whether the page is a coherent document. This does. +conflicts=$(grep -rlE '^(<<<<<<< |>>>>>>> )' "$SRCDIR/docs" "$SRCDIR"/*.md 2>/dev/null | tr '\n' ' ') +check "no document carries a merge conflict marker" \ + "$([ -z "$conflicts" ] && echo none || echo "$conflicts")" "none" + # CHANGELOG.md: dash characters only. See the scope note above. dashes=$(grep -c '—\|–' "$SRCDIR/CHANGELOG.md" || true) check "CHANGELOG.md carries no em or en dash" "$dashes" "0"