1pub mod ast;
30#[cfg(feature = "async")]
31pub mod async_api;
32pub mod catalog;
33pub mod columnar;
34pub mod dialect;
35pub mod error;
36pub mod executor;
37pub mod parser;
38pub mod planner;
39pub mod storage;
40pub mod tokenizer;
41#[cfg(all(feature = "tokio", not(target_arch = "wasm32")))]
42pub mod tokio_adapter;
43pub mod unified_error;
44
45pub use ast::{
47 Statement, StatementKind,
48 ddl::*,
49 dml::*,
50 expr::*,
51 span::{Location, Span, Spanned},
52};
53
54pub use dialect::{AlopexDialect, Dialect};
56pub use error::{ParserError, Result};
57pub use parser::Parser;
58pub use tokenizer::Tokenizer;
59pub use tokenizer::keyword::Keyword;
60pub use tokenizer::token::{Token, TokenWithSpan, Word};
61pub use unified_error::SqlError;
62
63pub use catalog::persistent::{CatalogOverlay, DataSourceFormat, TableType};
65pub use catalog::{
66 Catalog, ColumnMetadata, Compression, IndexMetadata, MemoryCatalog, RowIdMode, StorageOptions,
67 StorageType, TableMetadata,
68};
69
70pub use planner::{
72 LogicalPlan, NameResolver, Planner, PlannerError, ProjectedColumn, Projection, ResolvedColumn,
73 ResolvedType, SortExpr, TypeChecker, TypedAssignment, TypedExpr, TypedExprKind,
74};
75
76#[cfg(feature = "tokio")]
78pub use storage::ErasedAsyncSqlTransaction;
79pub use storage::{
80 IndexScanIterator, IndexStorage, KeyEncoder, RowCodec, SqlTransaction, SqlValue, StorageError,
81 TableScanIterator, TableStorage, TxnBridge, TxnContext,
82};
83
84#[cfg(feature = "tokio")]
86pub use executor::AsyncExecutor;
87pub use executor::{
88 ColumnInfo, ConstraintViolation, EvaluationError, ExecutionResult, Executor, ExecutorError,
89 QueryResult, Row,
90};
91
92#[cfg(feature = "async")]
94pub use async_api::{AsyncResult, AsyncRowStream, AsyncSqlTransaction, AsyncTxnBridge};
95#[cfg(all(feature = "tokio", not(target_arch = "wasm32")))]
96pub use tokio_adapter::{TokioAsyncSqlTransaction, TokioAsyncTxnBridge};
97
98pub type SqlResult = ExecutionResult;
100
101#[cfg(test)]
102mod integration;