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