[fix] correct security, session, statistics, table-and-view, transaction, and types statement doc errors (#3717) ## Summary Fixes 28 small documentation issues across security, session, statistics, table-and-view, transaction, and types SQL-statement docs. Each item below is independent. ### security - **CREATE-ENCRYPTKEY.md** — AES_DECRYPT example result-table had a stray space inside the border row breaking alignment; corrected to a continuous border. - **CREATE-ENCRYPTKEY.md** — access-control Notes column was copy-pasted from a user/role grant statement; rewritten to describe ADMIN_PRIV at Global scope (this statement is global, not per-user-or-role). - **CREATE-FILE.md** — an orphan `**<file_name>**` heading appeared above the canonical `**1. \`<file_name>\`**`; removed the duplicate. - **DROP-FILE.md** — informal heading `## grammar:` → `## Syntax`. - **SHOW-FILE.md** — Return Value docs the column as `FileId`, but the example output (and the engine) emit `Id`; Return Value aligned to actual output. ### session - **CLEAN-ALL-PROFILE.md** — access-control table said `GRANT_PRIV` on DATABASE; this is a global admin statement → `ADMIN_PRIV` / Global. - **KILL-QUERY.md** — same kind of wrong access-control privilege; corrected to `ADMIN_PRIV` / Global with the usual note (killing one's own queries requires no privilege). - **PLAN-REPLAYER-DUMP.md** — result-table had a duplicated header row; removed. Also an orphan ``` fence at end of file; removed. - **PLAN-REPLAYER-PLAY.md** — full-width semicolons `;` in syntax / example replaced with ASCII. - **SET-VARIABLE.md** — the user-variable description and example used `@@your_variable_name` (which is system-variable syntax); corrected to `@your_variable_name`. - **SHOW-VARIABLES.md** — privilege column listed `Any_PRIV`, which is not a real Doris privilege; replaced with "N/A — no specific privilege required". ### statistics - **ANALYZE.md** — last code fence at EOF was unclosed; added closing fence. - **DROP-STATS.md** — heading `## ## Required Parameters` had a doubled `##`; corrected. ### table-and-view - **DIAGNOSE-TABLET.md** — one sentence said "not supported in the compute-storage coupled mode" while the surrounding lines correctly say the statement is for the coupled mode; corrected to "not supported in the storage-computing separation mode". - **SHOW-DATA.md** — result-table rows were corrupted with stray `=` after the pipes; cleaned up so the table renders. - **SHOW-REPLICA-DISTRIBUTION.md** — two Chinese section headings (`查看表的副本分布`, `查看表的分区的副本分布`) inside the English doc translated to English. - **SHOW-TABLET-STORAGE-FORMAT.md** — the single Return Value table merged two non-co-occurring output shapes (default vs `VERBOSE`); split into two tables that match the actual two example outputs. - **CANCEL-BUILD-INDEX.md** — Chinese `其中:` in English doc → `Where:`. - **ALTER-TABLE-COLUMN.md** — a tip said "see example 8" but no example 8 exists; pointed at the correct earlier example. - **ALTER-TABLE-COMMENT.md** — three `grammar:` markers (with full-width colon) replaced with proper headings. - **ALTER-TABLE-ROLLUP.md** — orphan empty `### ` heading and dangling "4. Keywords" line replaced with a proper `## Keywords` section. - **CANCEL-ALTER-TABLE.md** — removed a placeholder "4. Cancel ALTER CLUSTER operation" with `(To be implemented...)` body (ALTER CLUSTER is not a documented statement). - **CREATE-TABLE.md** — a Plain code fence contained both range output AND a full CREATE TABLE statement; split into a Plain block (range output) and a sql block (CREATE TABLE). - **DESC-TABLE.md** — last code fence at EOF was unclosed in current / 3.x / 4.x; added a closing fence. (v2.1 was already correct and was left alone.) - **SHOW-PARTITION.md** — result block was opened with ```sql; changed to ```text. - **SHOW-DYNAMIC-PARTITION-TABLES.md** — heading `## Syntax:` (full-width colon) corrected; truncated `pecify` → `Specify`; in the `StartOf` description, `1rd to 28rd` → `1st to 28th`. - **SHOW-TABLE-ID.md** — `### Description` (h3) → `## Description` (h2). ### transaction - **ROLLBACK.md** — heading `## Syntax(Syntax)` corrected to `## Syntax`. ### types - **SHOW-TYPECAST.md** — frontmatter `"language": "zh-CN"` in English doc → `"en"`. Truncated frontmatter description completed. ## Test plan - [ ] CI doc build passes - [ ] Spot-check the affected pages render correctly (closed code fences, table-border alignment, proper headings, no Chinese punctuation/headings in English docs, corrected access-control notes)
Source code for doris.apache.org, built with Docusaurus 3.
Use local_dev.sh to run the site locally. It handles dependency installation, version filtering, and memory settings automatically.
# Start English dev server (default: only 'current' version, 2 GB memory) ./local_dev.sh # Start Chinese dev server ./local_dev.sh start-zh # Start on a custom port ./local_dev.sh start --port 8080 # Build a specific doc version ./local_dev.sh start --versions "4.x" # Build English docs (production build) ./local_dev.sh build # Build all locales (en + zh-CN) ./local_dev.sh build-all # Clean build artifacts and caches ./local_dev.sh clean
Run ./local_dev.sh help for all available commands and options.
export NODE_OPTIONS=--max-old-space-size=8192 yarn install yarn docusaurus build --locale en --locale zh-CN
The output is generated in the build/ directory.
. ├── docs/ # Current (dev) version docs (English) ├── versioned_docs/ │ ├── version-4.x/ # 4.x version docs (English) │ ├── version-3.x/ # 3.x version docs (English) │ └── version-2.1/ # 2.1 version docs (English) ├── i18n/zh-CN/ │ └── docusaurus-plugin-content-docs/ │ ├── current/ # Current (dev) version docs (Chinese) │ ├── version-4.x/ # 4.x version docs (Chinese) │ ├── version-3.x/ # 3.x version docs (Chinese) │ └── version-2.1/ # 2.1 version docs (Chinese) ├── blog/ # Blog posts ├── community/ # Community docs ├── src/ # React components and pages ├── static/ # Static assets (images, JS, CSS) ├── sidebars.ts # Sidebar for current (dev) docs ├── versioned_sidebars/ # Sidebar files per version │ ├── version-4.x-sidebars.json │ ├── version-3.x-sidebars.json │ └── version-2.1-sidebars.json ├── sidebarsCommunity.json # Sidebar for community docs ├── versions.json # Active doc versions ├── docusaurus.config.js # Docusaurus configuration └── local_dev.sh # Local development helper script
For general contribution guidelines, see:
When modifying docs, you typically need to update both the English and Chinese versions in the corresponding directories:
| Version | English | Chinese | Sidebar |
|---|---|---|---|
| Current (dev) | docs/ | i18n/zh-CN/.../current/ | sidebars.ts |
| 4.x | versioned_docs/version-4.x/ | i18n/zh-CN/.../version-4.x/ | versioned_sidebars/version-4.x-sidebars.json |
| 3.x | versioned_docs/version-3.x/ | i18n/zh-CN/.../version-3.x/ | versioned_sidebars/version-3.x-sidebars.json |
| 2.1 | versioned_docs/version-2.1/ | i18n/zh-CN/.../version-2.1/ | versioned_sidebars/version-2.1-sidebars.json |
Note: When adding a new page, you must also add its path to the corresponding sidebar file, otherwise it will not appear in the navigation.
Blog posts are located in the blog/ directory. Submit a PR to add or modify blog content.
Community docs are in community/, with navigation controlled by sidebarsCommunity.json. Chinese community content lives under i18n/zh-CN/docusaurus-plugin-content-docs-community/.
All images are stored in static/images/. Use hyphens to separate words in filenames (e.g., query-profile-example.png).

The site is deployed via GitHub Actions:
| Workflow | Trigger | Description |
|---|---|---|
cron-deploy-website.yml | Daily at 01:00 AM | Syncs from Doris master branch and deploys |
manual-deploy-website.yml | Manual | Deploy from a specified branch |
build-check.yml | On PR | Validates the build passes (incrementally by detected version) |