Skip to content

Fix broken anchors in hand-authored pg_clickhouse and invertedindexes pages#72

Open
Blargian wants to merge 5 commits into
mainfrom
fix-broken-anchors-phase2
Open

Fix broken anchors in hand-authored pg_clickhouse and invertedindexes pages#72
Blargian wants to merge 5 commits into
mainfrom
fix-broken-anchors-phase2

Conversation

@Blargian
Copy link
Copy Markdown
Member

@Blargian Blargian commented May 27, 2026

Summary

Phase 2 of the broken-anchor sweep. Phase 1 (ClickHouse/clickhouse-docs#6278) fixed upstream typos. This PR fixes the hand-authored pages in this repo that aren't sourced from clickhouse-docs.

  • invertedindexes.mdx (backward-compat alias for textindexes): three lowercase-function anchors (mapkeys/mapvalues/mapcontains) corrected to mapKeys/mapValues/mapContainsKey. Refreshed the "Tokens cache" settings table to match current setting names — the cache was renamed from text_index_dictionary_block_cache_* to text_index_tokens_cache_* upstream, and this alias page hadn't followed. Same for use_text_index_dictionary_cacheuse_text_index_tokens_cache.
  • pg_clickhouse/reference.mdx: ~20 lowercase function anchors corrected to camelCase to match the actual {#id} IDs on the target reference pages (trimBoth, concatWithSeparator, the UTF8 family, positionUTF8, bitCount, toUInt8..128). ltrim/rtrim link text and anchor changed to trimLeft/trimRight (the actual ClickHouse function names). Fixed three URL mistakes where the linked function lives on a different reference page than expected: arrayStringConcat is on splitting-merging-functions, bare reverse on array-functions, regexpExtract on string-functions. Split the composite #dictget-dictgetordefault-dictgetornull anchor into three separate links. Window-function links updated from /window-functions#<name> to /window-functions/<name> since each function now has its own page.

Test plan

  • `mint dev` and click through the fixed anchors in pg_clickhouse/reference.mdx and invertedindexes.mdx — each should scroll to the right section on the target page.
  • `mint broken-links` (the Mintlify CLI checker) should report fewer broken-anchor entries for these two files.

🤖 Generated with Claude Code


Note

Low Risk
Documentation-only deletion with existing redirects to textindexes; no runtime or API impact.

Overview
This change removes the legacy invertedindexes reference page (~800 lines) and drops it from the MergeTree family nav in navigation.json, so full-text search is documented only under textindexes.

That eliminates a duplicate “inverted indexes” doc that overlapped the canonical text-index page; older /invertedindexes URLs are still handled elsewhere via redirects to textindexes.

Reviewed by Cursor Bugbot for commit 459df16. Bugbot is set up for automated code reviews on this repo. Configure here.

… pages

These two pages live in this repo (not migrated from clickhouse-docs)
and contained anchor typos that the broken-link sweep flagged.

invertedindexes.mdx (backward-compat alias for textindexes):
- mapkeys/mapvalues/mapcontains -> mapKeys/mapValues/mapContainsKey
  to match the actual heading IDs in tuple-map-functions.
- Tokens cache settings: refresh the table to match the current setting
  names (text_index_dictionary_block_cache_* -> text_index_tokens_cache_*
  and use_text_index_dictionary_cache -> use_text_index_tokens_cache).
  The settings were renamed upstream; this alias page hadn't followed.

pg_clickhouse/reference.mdx:
- Lowercase function anchors -> camelCase (trimBoth, concatWithSeparator,
  lowerUTF8/upperUTF8/substringUTF8/lengthUTF8/reverseUTF8, positionUTF8,
  bitCount, toUInt8..128).
- ltrim/rtrim links point at trimLeft/trimRight (the actual ClickHouse
  function names).
- arrayStringConcat now lives in splitting-merging-functions, not
  array-functions.
- reverse(bytea) link points to array-functions#reverse (the bare reverse
  function is on the array-functions page).
- regexpExtract is documented in string-functions, not string-search-functions.
- Composite #dictget-dictgetordefault-dictgetornull split into three
  separate links to dictGet, dictGetOrDefault, dictGetOrNull.
- Window functions now have their own per-function pages, so links go
  to /window-functions/<name> instead of /window-functions#<name>.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@mintlify
Copy link
Copy Markdown
Contributor

mintlify Bot commented May 27, 2026

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
ClickHouse-docs 🟢 Ready View Preview May 27, 2026, 11:05 AM

This page was a hand-authored alias of textindexes.mdx, kept to make the
old Docusaurus URL /engines/table-engines/mergetree-family/invertedindexes
render. The content had drifted from textindexes (stale setting names,
typo anchors) and was a perpetual maintenance burden.

External links to the old URL are already handled:
- _site/redirects.json redirects /engines/.../invertedindexes ->
  /core/reference/.../textindexes
- _migration/slug-aliases.csv rewrites any upstream link to the
  old slug at migration time

The previous commit's anchor fixes to this file are obviated by the
deletion. Also removed from core/reference/navigation.json.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The corresponding upstream commit on ClickHouse/clickhouse-docs#6278 was
reverted, so the local anchor fixes here would have been clobbered the
next time migrate.py --force regenerates the file from upstream.

This PR now contains only the invertedindexes.mdx deletion.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Blargian and others added 2 commits May 27, 2026 13:54
This page (converted VLDB paper) uses ~100 inline <a id="page-N-M">
figure/citation anchor tags produced by migrate.py's transform_inline_anchor
from upstream <Anchor> components. The links work in-browser, but
mint broken-links --check-anchors only recognizes markdown heading slugs,
so all 106 anchor references on this page report as broken.

Adding to .mintignore drops the checker noise from 219 to 118 entries.
Trade-off: 5 inbound links from other pages (mostly query-parallelism.mdx)
now report as broken since the checker can't see academic-overview's real
heading slugs anymore. Those links work in browser; the false positives
are mild.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
We're switching the link-check pipeline to lychee, which accepts inline
<a id> tags as valid anchor targets (unlike mint broken-links --check-anchors,
which only honors heading slugs). The exclusion was added to silence
~100 false positives that lychee doesn't produce in the first place.

Reverting the entry restores inbound-link verification for the 5 external
pages that reference real headings inside academic-overview.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant