pub mod ast;
#[cfg(feature = "async")]
pub mod async_api;
pub mod catalog;
pub mod columnar;
pub mod dialect;
pub mod error;
pub mod executor;
mod nim_bridge;
mod nim_ffi;
pub mod parser;
pub mod planner;
pub mod storage;
#[cfg(all(feature = "tokio", not(target_arch = "wasm32")))]
pub mod tokio_adapter;
pub mod unified_error;
pub use ast::{
Statement, StatementKind,
ddl::*,
dml::*,
expr::*,
span::{Location, Span, Spanned},
};
pub use dialect::{AlopexDialect, Dialect};
pub use error::{ParserError, Result};
pub use parser::Parser;
pub use unified_error::SqlError;
pub use catalog::persistent::{CatalogOverlay, DataSourceFormat, TableType};
pub use catalog::{
Catalog, ColumnMetadata, Compression, IndexMetadata, MemoryCatalog, RowIdMode, StorageOptions,
StorageType, TableMetadata,
};
pub use planner::{
LogicalPlan, NameResolver, Planner, PlannerError, ProjectedColumn, Projection, ResolvedColumn,
ResolvedType, SortExpr, TypeChecker, TypedAssignment, TypedExpr, TypedExprKind,
};
#[cfg(feature = "tokio")]
pub use storage::ErasedAsyncSqlTransaction;
pub use storage::{
IndexScanIterator, IndexStorage, KeyEncoder, RowCodec, SqlTransaction, SqlValue, StorageError,
TableScanIterator, TableStorage, TxnBridge, TxnContext,
};
#[cfg(feature = "tokio")]
pub use executor::AsyncExecutor;
pub use executor::{
ColumnInfo, ConstraintViolation, EvaluationError, ExecutionResult, Executor, ExecutorError,
QueryResult, Row,
};
#[cfg(feature = "async")]
pub use async_api::{AsyncResult, AsyncRowStream, AsyncSqlTransaction, AsyncTxnBridge};
#[cfg(all(feature = "tokio", not(target_arch = "wasm32")))]
pub use tokio_adapter::{TokioAsyncSqlTransaction, TokioAsyncTxnBridge};
pub type SqlResult = ExecutionResult;
#[cfg(test)]
mod integration;