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