sql_cli/sql/parser/
mod.rs

1//! Modular SQL Parser
2//!
3//! This module provides a structured approach to SQL parsing,
4//! breaking down the monolithic parser into focused components.
5
6pub mod ast;
7pub mod ast_formatter;
8pub mod expressions;
9pub mod formatter;
10pub mod legacy;
11pub mod lexer;
12pub mod web_cte_parser;
13
14// Re-export commonly used types for convenience
15pub use ast::{
16    Condition, JoinClause, JoinCondition, JoinOperator, JoinType, LogicalOp, OrderByColumn,
17    SelectItem, SelectStatement, SortDirection, SqlExpression, TableFunction, TableSource,
18    WhenBranch, WhereClause, WindowSpec, CTE,
19};
20
21pub use lexer::{Lexer, Token};
22
23// Re-export legacy types for backward compatibility
24pub use legacy::{ParseContext, ParseState, Schema, SqlParser, SqlToken, TableInfo};
25
26// Test module
27#[cfg(test)]
28mod tests;
29
30// Parser configuration
31#[derive(Default)]
32pub struct ParserConfig {
33    pub case_insensitive: bool,
34}