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