Skip to main content

laminar_connectors/schema/
mod.rs

1//! Schema evolution, format codecs, and connector schema traits.
2
3pub mod csv;
4#[cfg(any(feature = "fix", feature = "fpml"))]
5pub(crate) mod decimal_text;
6pub mod error;
7pub mod evolution;
8pub mod json;
9pub mod traits;
10pub mod types;
11
12pub(crate) mod lookup_binding;
13/// Control-plane schema capabilities and resolution policy.
14pub mod resolution;
15pub(crate) mod resolution_metrics;
16
17#[cfg(any(feature = "parquet-lookup", feature = "files"))]
18pub mod parquet;
19
20pub use csv::{
21    CsvDecoder, CsvDecoderConfig, CsvEncoder, CsvEncoderConfig, FieldCountMismatchStrategy,
22};
23pub use error::{SchemaError, SchemaResult};
24pub use evolution::{
25    diff_schemas_by_name, is_safe_widening, EvolutionResult, EvolutionTrigger, SchemaEvolution,
26    SchemaEvolutionEngine, SchemaHistory, SchemaHistoryEntry,
27};
28pub use json::{
29    JsonDecoder, JsonDecoderConfig, JsonEncoder, JsonbAccessor, JsonbEncoder, TypeMismatchStrategy,
30    UnknownFieldStrategy,
31};
32#[cfg(any(feature = "parquet-lookup", feature = "files"))]
33pub use parquet::{
34    ParquetDecoder, ParquetDecoderConfig, ParquetEncoder, ParquetEncoderConfig, RowGroupPredicate,
35};
36pub use traits::{
37    ArrayInference, ColumnProjection, CompatibilityMode, EvolutionVerdict, FieldInferenceDetail,
38    FormatDecoder, FormatEncoder, InferenceConfig, InferenceWarning, InferredSchema,
39    NumberInference, SchemaChange, WarningSeverity,
40};
41pub use types::{FieldMeta, RawRecord, SourceMetadata};