#![forbid(unsafe_code)]
pub mod catalog;
pub mod constants;
pub mod constraints;
pub mod ddl;
pub mod diagnostics;
pub mod gather;
pub mod metadata;
pub mod reserved;
pub mod resolvers;
pub mod schema_ext;
mod sys_catalog;
pub mod view;
pub mod expr {
pub use llkv_expr::expr::*;
}
pub mod table;
pub mod types;
pub use catalog::{CatalogManager, CreateTableResult, FieldResolver, TableCatalogSnapshot};
pub use catalog::{SingleColumnIndexDescriptor, SingleColumnIndexRegistration};
pub use constraints::{
CheckConstraint, ConstraintColumnInfo, ConstraintEnforcementMode, ConstraintExpressionRef,
ConstraintId, ConstraintKind, ConstraintRecord, ConstraintService, ConstraintState,
ForeignKeyAction, ForeignKeyChildRowsFetch, ForeignKeyColumn, ForeignKeyConstraint,
ForeignKeyParentRowsFetch, ForeignKeyRowFetch, ForeignKeyTableInfo, InsertColumnConstraint,
InsertMultiColumnUnique, InsertUniqueColumn, PrimaryKeyConstraint, UniqueConstraint, UniqueKey,
ValidatedForeignKey, build_composite_unique_key, column_in_foreign_keys,
column_in_multi_column_unique, column_in_primary_or_unique, decode_constraint_row_id,
encode_constraint_row_id, ensure_multi_column_unique, ensure_primary_key,
ensure_single_column_unique, unique_key_component, validate_alter_table_operation,
validate_check_constraints, validate_foreign_key_rows, validate_foreign_keys,
};
pub use ddl::CatalogDdl;
pub use ddl::{ObjectNameExt, OrderCreateTablesExt, TableConstraintExt};
pub use diagnostics::{TablePagerIngestionDiagnostics, TablePagerIngestionSample};
pub use llkv_compute::compute_binary;
pub use llkv_compute::eval::{AffineExpr, ScalarEvaluator as NumericKernels};
pub use metadata::MultiColumnUniqueRegistration;
pub use metadata::{ForeignKeyDescriptor, MetadataManager};
pub use reserved::{
CATALOG_TABLE_ID, INFORMATION_SCHEMA_TABLE_ID_START, TEMPORARY_TABLE_ID_START,
is_information_schema_table,
};
pub use resolvers::{canonical_table_name, resolve_table_name};
pub type NumericArrayMap = llkv_compute::eval::NumericArrayMap<FieldId>;
pub use sys_catalog::{
ColMeta, CustomTypeMeta, MultiColumnIndexEntryMeta, SingleColumnIndexEntryMeta, SysCatalog,
TableMeta, TableMultiColumnIndexMeta, TableSingleColumnIndexMeta, TableTriggerMeta,
TriggerEntryMeta, TriggerEventMeta, TriggerTimingMeta,
};
pub use table::Table;
pub use types::{FieldId, ROW_ID_FIELD_ID, RowId, TableColumn, TableId};
pub use view::{ForeignKeyView, TableConstraintSummaryView, TableView};
pub use llkv_scan::row_stream::RowStream;
pub use llkv_plan::{
PLAN_GRAPH_VERSION, PlanAnnotations, PlanEdge, PlanEdgeMetadata, PlanExpression, PlanField,
PlanGraph, PlanGraphBuilder, PlanGraphError, PlanGraphResult, PlanGraphVersion, PlanInput,
PlanNode, PlanNodeId, PlanOperator,
};