Skip to main content
Version: Next 🚧

Introduction to SqlParserX

SqlParserX is a multi-dialect SQL parsing engine and toolkit offering SQL type detection, table/DDL parsing, table and column lineage, function extraction, parameter extraction, and prepared SQL generation.

Problems It Solves​

ProblemSolution
Dialects differ greatlyRoute Druid dialects via DbType with a unified AST
Real tables and DDL hide in SQL textTable, CTE, CREATE TABLE, partition and property parsing
Data dependencies are hard to traceTable/column lineage across JOIN, UNION, subqueries, aggregates and CTEs
Scripts contain multiple statementsSQL splitting and syntax validation
Permission predicates are hard to maintainRow-level permission SQL rewriting

Modules​

ModuleLayerDescriptionTechnology
sqlparserx-syntaxSyntax parsingSQL-to-AST, validation, splitting and Druid dialect extensionsJava 8 + Druid 1.2.28
sqlparserx-coreBusiness parsingTables, lineage, DDL, functions and SQL rewritingJava 8 + sqlparserx-syntax
sqlparserx-webAccess layerSpring Boot REST serviceSpring Boot 2.3.12 + Java 8
sqlparserx-uiAccess layerLineage visualization and online parsing toolsVue 2.7 + Element UI 2.x + Vite 5 + ECharts 5

Supported Datasources​

DatasourceSupport
MySQLPriority support with enhanced RENAME TABLE handling
DorisStrong support with dedicated DDL and lineage tests
StarRocksDedicated DISTRIBUTED BY and key DDL support
Hive / ClickHouse / Oracle / DMRegistered parsers with common business implementation

Further Reading​