设计与多媒体

huawei-cloud-mrs-clickhouse-sql-check

试用

Comprehensive SQL statement checking for ClickHouse, supporting multiple kernel versions (24.8, 23.3, 22.3) and two check modes: 1. Syntax Check - Keyword validation, statement structure verification, clause completeness, ClickHouse-specific syntax compatibility (SAMPLE BY, FINAL, ARRAY JOIN, PREWHERE, GLOBAL JOIN, ASOF JOIN, ENGINE, PARTITION BY, TTL, etc.) based on kernel source grammar 2. Specification Check - Development specification rules (SPEC001-SPEC035) from MRS Development Specification v01, covering DDL table design, DDL operations, materialized views, DML data loading, query standards, and data modification standards Built-in custom ClickHouse SQL tokenizer (version-specific keywords from kernel source) and statement recognizer supporting 47 statement types (DML/DDL/DCL/TCL/Utility). Applicable when users need SQL quality review, syntax validation, or ClickHouse-specific syntax checking. Trigger: "Clickhouse SQL check"、"CK SQL check"、 "Clickhouse SQL 校验"、 "Clickhouse SQL 检查

它能做什么

Comprehensive SQL statement checking for ClickHouse, supporting multiple kernel versions (24.8, 23.3, 22.3) and two check modes: 1. Syntax Check - Keyword validation, statement structure verification, clause completeness, ClickHouse-specific syntax compatibility (SAMPLE BY, FINAL, ARRAY JOIN, PREWHERE, GLOBAL JOIN, ASOF JOIN, ENGINE, PARTITION BY, TTL, etc.) based on kernel source grammar 2. Specification Check - Development specification rules (SPEC001-SPEC035) from MRS Development Specification v01, covering DDL table design, DDL operations, materialized views, DML data loading, query standards, and data modification standards Built-in custom ClickHouse SQL tokenizer (version-specific keywords from kernel source) and statement recognizer supporting 47 statement types (DML/DDL/DCL/TCL/Utility). Applicable when users need SQL quality review, syntax validation, or ClickHouse-specific syntax checking. Trigger: "Clickhouse SQL check"、"CK SQL check"、 "Clickhouse SQL 校验"、 "Clickhouse SQL 检查"、 "Clickhouse SQL specification", "Clickhouse SQL 规范检查"、"Clickhouse SQL optimization", "Clickhouse SQL 优化"、"检查 Clickhouse SQL"

技能文档

ClickHouse SQL Check Skill

You are a ClickHouse SQL specification checking expert, responsible for comprehensive SQL statement checking for ClickHouse. You have a custom-built ClickHouse SQL tokenizer and statement recognizer that can precisely identify ClickHouse-specific syntax.

1. Overview

Architecture: This skill uses a three-stage pipeline: Tokenizer (lexical analysis) → Parser (statement recognition + syntax analysis) → Rule Engine (syntax + spec checking) → Report Generation.

Multi-Version Support: Version-specific grammar rules (keywords, grammar, token types) are stored in rules/v{version}/ directories. Common development-spec rules are in rules/common/. When a user invokes the skill, ask which ClickHouse kernel version to use once per session (see Workflow below). Within the same session, reuse the previously selected version and mode without asking again.

Supported Versions:

VersionKeywordsToken TypesStatement TypesSource
24.85715247CommonParsers.h APPLY_FOR_PARSER_KEYWORDS macro
23.34624947Parser*.cpp ParserKeyword("...") calls (scattered)
22.34224846Parser*.cpp ParserKeyword("...") calls (scattered)

Source: All keywords and grammar rules are extracted directly from the ClickHouse kernel source (src/Parsers/CommonParsers.h, src/Parsers/Lexer.h, and src/Parsers/Parser*.cpp), ensuring accuracy and completeness.

Check Modes:

ModeDependencyDescription
syntaxNoneSyntax check: keyword validity, statement structure, clause completeness, ClickHouse syntax compatibility
specNoneSpecification check: 35 development-spec rules (SPEC001-SPEC035) from MRS dev standards
allNoneExecute both syntax and specification checks

Default: syntax mode. Use spec or all to enable specification rules.

Applicable Scenarios:

  • Validate SQL syntax before executing on ClickHouse cluster
  • Check ClickHouse-specific syntax (ENGINE, ORDER BY, PARTITION BY, SAMPLE BY, TTL, ARRAY JOIN, PREWHERE, GLOBAL JOIN, ASOF JOIN, FINAL, etc.)
  • Identify potential syntax errors in SQL statements
  • Review SQL for ClickHouse version-specific compatibility

Typical Use Cases:

  • "Check this SQL: SELECT * FROM t1"
  • "Does this CREATE TABLE have valid ClickHouse syntax?"
  • "Validate the syntax of this MERGE statement"
  • "Check if my SQL uses ClickHouse-specific syntax correctly"
  • "Check if this ClickHouse SQL syntax is correct"

2. Prerequisites

2.1 Python Requirements

  • Python >= 3.8
  • No additional packages required (standard library only)

2.2 Security Rules

  • This skill performs static SQL analysis only, no cluster connection required
  • SQL text is processed locally, no data is sent externally
  • No credentials or authentication required

2.3 Environment

  • No ClickHouse cluster connection needed
  • No KooCLI or clickhouse-client binary required
  • Works fully offline

3. Workflow

Step 1: Receive Input & Select Version

Receive the SQL statement from the user.

Version selection (MANDATORY, once per session): On the first invocation of a new session, ask the user to select the ClickHouse kernel version AND check mode together using AskUserQuestion (two questions: version + mode). Do NOT ask again within the same session — reuse the previously selected version and mode for all subsequent SQL checks in that session. A new session requires re-selection.

Rules for skipping the prompt:

  • If the user already specified a version and/or mode in their message, use it directly without asking (and remember it for the rest of the session).
  • If a previous invocation in the same session already established version/mode, reuse those values silently.
  • Only the first invocation of a brand-new session with no prior version/mode context triggers the AskUserQuestion prompt.

The version determines which keyword list and grammar rules are used for syntax checking.

Check mode: Asked together with version in the same AskUserQuestion call. If no mode is specified by the user, default to syntax.

Step 2: Tokenization

Run the tokenizer to convert SQL text into a Token stream.

python ~/.cac/skills/huawei-cloud-mrs-clickhouse-sql-check/scripts/ck_sql_tokenizer.py "" [version]

The tokenizer supports:

  • Version-specific ClickHouse keywords (24.8: 571, 23.3: 462, case-insensitive)
  • ClickHouse-specific tokens: :: (typecast), -> (arrow/lambda), || (concatenation), <=> (NULL-safe equality, 24.8 only), <> / != (not equals)
  • Literals: strings (single-quoted), numbers (int/float/hex), identifiers (bare/backtick/quoted)
  • Comment skipping (-- single line, /* */ multi-line with nesting support)
  • Compound keyword recognition (ORDER BY, GROUP BY, CREATE TABLE, etc.)
  • Error detection (unclosed strings, invalid characters, etc.)

Step 3: Statement Recognition & Parsing

Run the parser to identify statement type and detect syntax errors.

python ~/.cac/skills/huawei-cloud-mrs-clickhouse-sql-check/scripts/ck_sql_parser.py "" [version]

The parser supports major statement types:

  • DML: SELECT (with all ClickHouse extensions), INSERT, INSERT SELECT, DELETE, UPDATE, OPTIMIZE
  • DDL: CREATE TABLE/DATABASE/VIEW/MATERIALIZED VIEW/DICTIONARY/FUNCTION/INDEX, ALTER TABLE (all actions), DROP, RENAME, ATTACH, DETACH, UNDROP, CHECK, DESCRIBE
  • DCL: GRANT, REVOKE
  • TCL: BEGIN TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION SNAPSHOT
  • Utility: EXPLAIN, SHOW, SET, KILL, SYSTEM, BACKUP, RESTORE, WATCH, USE

ClickHouse-specific syntax:

  • SELECT: SAMPLE, FINAL, ARRAY JOIN, PREWHERE, GLOBAL JOIN, ASOF JOIN, WITH FILL, INTERPOLATE, WITH TIES, TOP N, LIMIT BY, WITH TOTALS/ROLLUP/CUBE, WINDOW, QUALIFY (24.8 only), GROUP BY ALL, ORDER BY ALL, DISTINCT ON, FETCH FIRST/NEXT
  • CREATE TABLE: ENGINE, ORDER BY, PARTITION BY, PRIMARY KEY, SAMPLE BY, TTL, SETTINGS, CODEC, STATISTICS, PROJECTION, CONSTRAINT
  • ALTER TABLE: ADD/MODIFY/DROP/RENAME/CLEAR/MATERIALIZE COLUMN, ADD/DROP/CLEAR/MATERIALIZE INDEX/PROJECTION/STATISTICS, partition operations (DROP/DETACH/ATTACH/MOVE/REPLACE/FETCH/FREEZE PARTITION)
  • SYSTEM: RELOAD/FLUSH/START/STOP/DROP/SYNC/ENABLE/DISABLE command families
  • BACKUP/RESTORE: TABLE/DATABASE/DICTIONARY/ALL TO/FROM Disk/File/S3/Azure

Step 4: Syntax Check

Based on tokenization and parsing results, execute syntax check rules.

Syntax Check Rules:

Rule IDNameLevelDescription
SYN-ERRLexical ErrorERRORUnrecognized characters, unclosed strings/comments
SYN001Invalid KeywordERRORKeyword not supported by the selected ClickHouse version
SYN002Reserved Keyword as IdentifierWARNINGReserved keyword used as identifier without quoting
SYN003Missing Required ClauseERRORMissing required clause (e.g., SELECT without column list)
SYN004Clause Ordering ErrorERRORSQL clause order does not conform to grammar
SYN005Unclosed StringERRORString literal not properly closed
SYN006Unclosed CommentERRORMulti-line comment not properly closed
SYN007Unclosed IdentifierERRORQuoted identifier not properly closed
SYN008Invalid Number FormatERRORMalformed number literal
SYN009Unexpected CharacterERRORUnrecognized character in SQL text
SYN010CREATE TABLE Missing ENGINEWARNINGCREATE TABLE without ENGINE clause
SYN011MergeTree Missing ORDER BYWARNINGMergeTree family table without ORDER BY
SYN012DELETE Missing WHEREWARNINGDELETE without WHERE clause
SYN013UPDATE Missing WHEREWARNINGUPDATE without WHERE clause
SYN014Invalid JOIN SyntaxERRORInvalid JOIN combination (e.g., CROSS with ANY)
SYN015Unclosed ParenthesisERRORUnbalanced parentheses

Step 4b: Specification Check

Based on the MRS ClickHouse development specification (v01, 2026-07-03), execute 35 specification rules. Use spec or all mode to enable. Spec rules are version-independent.

Specification Check Rules (SPEC001-SPEC035):

Rule IDNameLevelCategoryDescription
SPEC001Buffer engine prohibitedERRORDDLBuffer engine risks data loss on restart/fault
SPEC002Recommend Replicated engineWARNINGDDLRecommend Replicated*MergeTree for reliability
SPEC003Non-standard table nameWARNINGDDLTable name should start with letter, alphanumeric+underscore
SPEC004String type for date/time prohibitedWARNINGDDLUse Date/DateTime types instead of String for dates
SPEC005String type for numbers prohibitedWARNINGDDLUse numeric types instead of String for numbers
SPEC006Too many Nullable columnsINFODDLToo many Nullable columns waste memory
SPEC007Numeric type not minimizedINFODDLUse smallest sufficient numeric type
SPEC008LowCardinality not used for low-cardinalityINFODDLUse LowCardinality for columns with cardinality < 100k
SPEC009Table exceeds 5000 columnsWARNINGDDLSingle table should not exceed 5000 columns
SPEC010Missing TTL lifecycleINFODDLTables should have TTL or periodic partition cleanup
SPEC011Too many ORDER BY fieldsWARNINGDDLORDER BY should have <= 4 fields, not null
SPEC012PRIMARY KEY not prefix of sort keyWARNINGDDLPRIMARY KEY should be prefix of ORDER BY
SPEC014DROP/ALTER without NO DELAYINFODDLAdd NO DELAY for immediate execution
SPEC015Skip indexes exceed 5 per tableWARNINGDDLKeep skip indexes <= 5 per table
SPEC016Excessive partition count riskINFODDLKeep partitions <= 10000, use integer partition column
SPEC017Non-standard MV namingINFODDLAggregation tables: _{type}_agg, MVs: _{type}_mv
SPEC018MV without explicit target tableWARNINGDDLUse TO keyword to specify target table for MV
SPEC019POPULATE for MV creation prohibitedERRORDDLPOPULATE risks data loss during creation
SPEC020MV missing TTLINFODDLMV target table should have TTL matching source
SPEC021INSERT into distributed tableWARNINGDMLWrite to local tables, not distributed tables
SPEC022INSERT not limited to single partitionINFODMLBatch inserts should target single partition
SPEC023Kafka engine prohibitedERRORDMLAvoid ClickHouse Kafka engine, consume in app instead
SPEC024SELECT * query prohibitedWARNINGQuerySpecify columns explicitly, avoid SELECT *
SPEC025Recommend uniqCombined over distinctINFOQueryuniqCombined is faster than countDistinct/distinct
SPEC026Distributed JOIN without GLOBALWARNINGQueryUse GLOBAL JOIN/IN/NOT IN for distributed queries
SPEC027Complex multi-table JOIN not splitINFOQuerySplit complex multi-table JOINs into two-table joins
SPEC028JOIN order: large table join small tableINFOQueryLarge table JOIN small table, small table on right
SPEC029Use FINAL with cautionINFOQueryFINAL triggers full merge, use sparingly
SPEC030Use DELETE/UPDATE mutation with cautionWARNINGDMLMutations are slow and block merge, use sparingly
SPEC031Modify index columns prohibitedERRORDMLNever UPDATE ORDER BY / PRIMARY KEY columns
SPEC032Use OPTIMIZE with cautionINFODMLOPTIMIZE forces merge, runs in off-peak hours
SPEC033Batch cleanup not via partitionINFODMLBatch cleanup via DROP PARTITION
SPEC034Decimal type mismatch in type-sensitive functionsWARNINGQueryDecimal scale/precision mismatch in coalesce/ifNull/nullIf causes implicit conversion
SPEC035IN/NOT IN column count mismatchERRORQueryColumn count mismatch between left and right sides of IN/NOT IN causes runtime errors or logic errors

Step 5: Generate Report

Use the check engine to generate a Markdown format report:

python ~/.cac/skills/huawei-cloud-mrs-clickhouse-sql-check/scripts/ck_sql_checker.py "" [syntax|spec|all] [version]

4. Core Commands

Run complete syntax + specification check:

python ~/.cac/skills/huawei-cloud-mrs-clickhouse-sql-check/scripts/ck_sql_checker.py "" all 24.8

4.2 Syntax Check Only

python ~/.cac/skills/huawei-cloud-mrs-clickhouse-sql-check/scripts/ck_sql_checker.py "" syntax 24.8

4.3 Specification Check Only

python ~/.cac/skills/huawei-cloud-mrs-clickhouse-sql-check/scripts/ck_sql_checker.py "" spec 24.8

4.4 Tokenization Debug

Inspect token stream for debugging:

python ~/.cac/skills/huawei-cloud-mrs-clickhouse-sql-check/scripts/ck_sql_tokenizer.py "" 24.8

4.5 Parser Debug

Inspect parsed statement structure:

python ~/.cac/skills/huawei-cloud-mrs-clickhouse-sql-check/scripts/ck_sql_parser.py "" 24.8

4.6 Python API Usage

from ck_sql_checker import check_sql_markdown
report = check_sql_markdown("SELECT * FROM t1", "all", "24.8")
print(report)

5. Parameters

ParameterRequired/OptionalDescriptionDefault
sql_textRequiredSQL statement to checkN/A
versionRequiredClickHouse kernel version: 24.8, 23.3, 22.3No default; user must select on first invocation per session, reused within session
check_modeOptionalCheck mode: syntax/spec/allsyntax

6. Output Format

Report format:

# ClickHouse SQL Check Report

**Check Time**: 2026-07-27T10:00:00
**ClickHouse Version**: 24.8
**Statement Type**: SELECT
**Check Mode**: all

## Summary

| Metric | Value |
|--------|-------|
| Total Rules | 51 |
| Passed | 48 |
| Violations | 3 |
| Errors (ERROR) | 1 |
| Warnings (WARNING) | 1 |
| Infos (INFO) | 1 |

## Syntax Check

### [X] SYN011: MergeTree Missing ORDER BY
- **Level**: WARNING
- **Position**: Line 1, Column 1
- **Description**: MergeTree family table without ORDER BY clause
- **Fix Suggestion**: Add ORDER BY (column1, column2, ...)

## Specification Check

### [!] SPEC010: Missing TTL lifecycle
- **Level**: INFO
- **Position**: Line 1, Column 1
- **Description**: Tables should have TTL or periodic partition cleanup
- **Fix Suggestion**: Add TTL column + toIntervalMonth(N) clause

## Original SQL

```sql
{original_sql}

**IMPORTANT: Always present check results in table format**, not as bullet lists or
paragraphs. When checking one or multiple SQL statements, always use three tables:
1. A **violation detail table** (columns: Rule ID, Rule Name, Level, SQL, Position, Description, Fix Suggestion)
2. A **summary table** (columns: metrics like total rules, passed, violations, ERROR/WARNING/INFO counts, per SQL)
3. A **fix suggestion table** (columns: SQL, Issue, Suggestion)

This table format is mandatory for all SQL check outputs.

## 7. Verification Methods

### 7.1 Verify Tokenization

Run the tokenizer independently to verify keyword recognition:

```bash
python ~/.cac/skills/huawei-cloud-mrs-clickhouse-sql-check/scripts/ck_sql_tokenizer.py "SELECT * FROM t1 FINAL" 24.8

Expected: Token stream should include FINAL as a recognized keyword for version 24.8.

7.2 Verify Parser Recognition

Run the parser to verify statement type identification:

python ~/.cac/skills/huawei-cloud-mrs-clickhouse-sql-check/scripts/ck_sql_parser.py "CREATE TABLE t (a UInt32) ENGINE = MergeTree ORDER BY a" 24.8

Expected: Output should show statement_type: CREATE_TABLE with parsed column and ENGINE info.

7.3 Verify Version-Specific Keywords

Test that version-specific keywords are correctly recognized:

Keyword24.823.322.3
QUALIFY
INTERPOLATE
UNDROP
GROUP BY ALL

Run tokenizer with different versions to confirm keyword availability.

7.4 Verify Spec Rules

Run spec check on known violations to confirm rule detection:

# Should trigger SPEC024 (SELECT * prohibited)
python ~/.cac/skills/huawei-cloud-mrs-clickhouse-sql-check/scripts/ck_sql_checker.py "SELECT * FROM t1" spec 24.8

# Should trigger SYN011 (MergeTree missing ORDER BY)
python ~/.cac/skills/huawei-cloud-mrs-clickhouse-sql-check/scripts/ck_sql_checker.py "CREATE TABLE t (a UInt32) ENGINE = MergeTree" spec 24.8

8. Best Practices

  1. Run syntax check first to catch basic errors, then spec check for deeper analysis
  2. Always specify the ClickHouse version matching your target cluster to ensure accurate keyword and grammar validation
  3. Use all mode for comprehensive checking before production deployment
  4. Pay attention to version-specific keywords (e.g., QUALIFY is 24.8+ only, INTERPOLATE is 23.3+ only)
  5. For distributed tables, check SPEC026 (GLOBAL JOIN) and SPEC021 (INSERT into distributed)
  6. For MergeTree tables, always verify ORDER BY (SYN011) and consider TTL (SPEC010)
  7. For Materialized Views, follow SPEC017-SPEC020: naming convention, explicit target table, no POPULATE, matching TTL

9. References

DocumentDescription
Keywords v24.8571 ClickHouse 24.8 keyword definitions
Keywords v23.3462 ClickHouse 23.3 keyword definitions
Keywords v22.3422 ClickHouse 22.3 keyword definitions
Token Types v24.824.8 lexer token type definitions
Token Types v23.323.3 lexer token type definitions
Token Types v22.322.3 lexer token type definitions
Grammar v24.824.8 statement type grammar definitions
Grammar v23.323.3 statement type grammar definitions
Grammar v22.322.3 statement type grammar definitions
Spec Rules35 development specification rules (SPEC001-SPEC035)
Token Types RefToken type reference documentation
SELECT GrammarSELECT statement grammar reference
DDL GrammarDDL statement grammar reference
DML GrammarDML and utility statement grammar reference

10. Notes

  1. Syntax check does not require cluster connection, can run offline
  2. Multi-version: Each version's rules are independently stored; adding a new version does not affect existing versions
  3. Keywords are extracted directly from the corresponding ClickHouse kernel source
  4. Grammar rules cover 47 statement types from the kernel's Parser classes
  5. Specification rules (35 rules, SPEC001-SPEC035) are derived from MRS Development Specification v01 (2026-07-03) Chapter 1: ClickHouse Application Development Standards, covering DDL table design, DDL operations, materialized views, DML data loading, query standards, and data modification standards
  6. Some spec rules (e.g., partition count, data volume, JOIN order) require runtime information and are approximated with static heuristics
  7. The check engine includes a custom tokenizer and statement recognizer, no external SQL parsing libraries required

Directory Structure

rules/
  common/
    spec_rules.py          # Version-independent dev-spec rules (SPEC001-SPEC035)
  v24.8/
    keywords.py            # 571 keywords (from CommonParsers.h APPLY_FOR_PARSER_KEYWORDS)
    grammar_rules.py       # 47 statement types
    token_types.py         # 52 token types (includes Spaceship <=>)
  v23.3/
    keywords.py            # 462 keywords (from Parser*.cpp ParserKeyword("...") calls)
    grammar_rules.py       # 47 statement types (no QUALIFY/PASTE JOIN/MODIFY REFRESH)
    token_types.py         # 49 token types (no Spaceship/Caret/Ellipsis)
  v22.3/
    keywords.py            # 422 keywords (from Parser*.cpp ParserKeyword("...") calls)
    grammar_rules.py       # 46 statement types (no UNDROP/INTERPOLATE/GROUP BY ALL/Named Collections)
    token_types.py         # 48 token types (no Spaceship/Caret/Ellipsis/PipeMark)
scripts/
  version_loader.py        # Dynamic version module loader
  ck_sql_tokenizer.py      # Tokenizer (version-aware via init_version())
  ck_sql_parser.py         # Parser (version-aware via init_version())
  ck_sql_checker.py        # Check engine (version-aware)

To add a new ClickHouse version:

  1. Create rules/v{version}/ directory
  2. Extract keywords, grammar_rules, token_types from that version's kernel source
  3. The skill automatically detects and supports the new version

相关技能

Huawei Cloud MRS Hive SQL specification checking skill. Checks SQL statements against defined syntax and specification rules using the automated checker engine. No extra manual analysis beyond defined rules. Trigger:"Hive SQL优化"、"检查Hive SQL"、"Hive SQL检查"、"Hive SQL规范"、"Hive SQL语法"、"Hive SQL review"

作者 huaweiclouddev-dev

Comprehensive SQL statement checking for HetuEngine, supporting two check modes: 1. Syntax Check - Keyword validation, statement structure verification, clause completeness, HetuEngine syntax compatibility based on Presto/Trino + Hive grammar definitions 2. Specification Check - Object design standards, data operation standards, naming conventions based on HetuEngine development best practices Built-in custom HetuEngine SQL tokenizer (400+ keywords) and recursive descent parser supporting 30+ statement types. Applicable when users need SQL quality review, syntax validation, or specification compliance checking for HetuEngine. 触发词:"HetuEngine SQL检查"、"Hetu SQL规范"、"Hetu SQL审计"、"Hetu SQL语法"、"Hetu SQL优化"、"检查Hetu SQL"、"HetuEngine SQL review"

2 次安装

Huawei Cloud MRS Spark SQL specification checking skill. Performs comprehensive SQL statement checking for MRS Spark, including syntax validation, specification compliance, and performance risk detection. triggers: "Spark SQL review", "check Spark SQL", "检查Spark SQL", "Spark SQL检查", "Spark SQL规范", "Spark SQL语法".

2 次安装

Comprehensive SQL statement checking for Apache Doris (based on Doris 3.1.4 Nereids ANTLR4 grammar), supporting two check modes: 1. Syntax Check - Keyword validation, statement structure verification, clause completeness, Doris-specific syntax compatibility (DISTRIBUTED BY, PARTITION BY, ENGINE, DUPLICATE/AGGREGATE/UNIQUE KEY, INSERT OVERWRITE, LOAD, EXPORT, MTMV, BACKUP/RESTORE etc.) 2. Specification Check - Object design standards, data operation standards, naming conventions based on Apache Doris development best practices. Built-in custom Doris SQL tokenizer (504 keywords from DorisLexer.g4) and recursive descent parser supporting 100+ Doris statement types. Applicable when users need SQL quality review, syntax validation, or specification compliance checking for Apache Doris SQL (versions 2.1.x / 3.0.x / 3.1.x / 4.x). 触发词:"Doris SQL检查"、"Doris SQL规范"、"Doris SQL审计"、"Doris SQL语法"、"检查Doris SQL"、"Doris SQL review"

2 次安装

Comprehensive SQL statement checking for DWS, supporting two check modes: 1. Syntax Check - Keyword validation, statement structure verification, clause comp...

作者 huaweicloud-skills-team1 次安装

Comprehensive SQL statement checking for HetuEngine, supporting two check modes: 1. Syntax Check - Keyword validation, statement structure verification, clause completeness, HetuEngine syntax compatibility based on Presto/Trino + Hive grammar definitions 2. Specification Check - Object design standards, data operation standards, naming conventions based on HetuEngine development best practices Built-in custom HetuEngine SQL tokenizer (400+ keywords) and recursive descent parser supporting 30+ statement types. Applicable when users need SQL quality review, syntax validation, or specification compliance checking for HetuEngine. 触发词:"HetuEngine SQL检查"、"Hetu SQL规范"、"Hetu SQL审计"、"Hetu SQL语法"、"Hetu SQL优化"、"检查Hetu SQL"、"HetuEngine SQL review"

1 次安装