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;
12
13// Re-export commonly used types for convenience
14pub use ast::{
15    Condition, JoinClause, JoinCondition, JoinOperator, JoinType, LogicalOp, OrderByColumn,
16    SelectItem, SelectStatement, SortDirection, SqlExpression, TableFunction, TableSource,
17    WhenBranch, WhereClause, WindowSpec, CTE,
18};
19
20pub use lexer::{Lexer, Token};
21
22// Re-export legacy types for backward compatibility
23pub use legacy::{ParseContext, ParseState, Schema, SqlParser, SqlToken, TableInfo};
24
25// Test module
26#[cfg(test)]
27mod tests;
28
29// Parser configuration
30#[derive(Default)]
31pub struct ParserConfig {
32    pub case_insensitive: bool,
33}