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 nim_bridge::parser_contract_version;
60pub use parser::Parser;
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, PlannedStatement, Planner, PlannerError, PlanningDiagnostic,
73 PlanningDiagnosticSeverity, ProjectedColumn, Projection, ResolvedColumn, ResolvedType,
74 RoutingInput, SortExpr, TableReference, TableReferenceAccess, TableReferenceExtractor,
75 TableReferenceSource, TypeChecker, TypedAssignment, TypedExpr, TypedExprKind,
76 plan_sql_for_routing, plan_statement_for_routing,
77};
78
79#[cfg(feature = "tokio")]
81pub use storage::ErasedAsyncSqlTransaction;
82pub use storage::{
83 IndexScanIterator, IndexStorage, KeyEncoder, RangeBoundedScanIterator, RangeReadSnapshot,
84 RowCodec, SqlTransaction, SqlValue, StorageError, StorageRangeConstraint,
85 StorageRangeConstraintError, TableScanIterator, TableStorage, TxnBridge, TxnContext,
86};
87
88#[cfg(feature = "tokio")]
90pub use executor::AsyncExecutor;
91pub use executor::{
92 ColumnInfo, ConstraintViolation, EvaluationError, ExecutionResult, Executor, ExecutorError,
93 QueryResult, Row,
94};
95
96#[cfg(feature = "async")]
98pub use async_api::{AsyncResult, AsyncRowStream, AsyncSqlTransaction, AsyncTxnBridge};
99#[cfg(all(feature = "tokio", not(target_arch = "wasm32")))]
100pub use tokio_adapter::{TokioAsyncSqlTransaction, TokioAsyncTxnBridge};
101
102pub type SqlResult = ExecutionResult;
104
105#[cfg(test)]
106mod integration;