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 storage;
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 unified_error::SqlError;
59
60pub use catalog::persistent::{CatalogOverlay, DataSourceFormat, TableType};
62pub use catalog::{
63 Catalog, ColumnMetadata, Compression, IndexMetadata, MemoryCatalog, RowIdMode, StorageOptions,
64 StorageType, TableMetadata,
65};
66
67pub use planner::{
69 LogicalPlan, NameResolver, PlannedStatement, Planner, PlannerError, PlanningDiagnostic,
70 PlanningDiagnosticSeverity, ProjectedColumn, Projection, ResolvedColumn, ResolvedType,
71 RoutingInput, SortExpr, TableReference, TableReferenceAccess, TableReferenceExtractor,
72 TableReferenceSource, TypeChecker, TypedAssignment, TypedExpr, TypedExprKind,
73 plan_sql_for_routing, plan_statement_for_routing,
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;