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