Class CompareSchemasVisitor
java.lang.Object
org.apache.iceberg.schema.SchemaWithPartnerVisitor<Integer,CompareSchemasVisitor.Result>
org.apache.iceberg.flink.sink.dynamic.CompareSchemasVisitor
public class CompareSchemasVisitor
extends SchemaWithPartnerVisitor<Integer,CompareSchemasVisitor.Result>
Visitor class which compares an input schema to a table schema and emits a compatibility
CompareSchemasVisitor.Result
.
- SAME: The two schemas are semantically identical
- DATA_CONVERSION_NEEDED: We can evolve the data associated with the input schema to match the table schema.
- SCHEMA_UPDATE_NEEDED: We need to migrate the table schema to match the input schema.
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.apache.iceberg.schema.SchemaWithPartnerVisitor
SchemaWithPartnerVisitor.PartnerAccessors<P>
-
Method Summary
Modifier and TypeMethodDescriptionfield
(Types.NestedField field, Integer tableSchemaId, CompareSchemasVisitor.Result typeResult) list
(Types.ListType list, Integer tableSchemaId, CompareSchemasVisitor.Result elementsResult) map
(Types.MapType map, Integer tableSchemaId, CompareSchemasVisitor.Result keyResult, CompareSchemasVisitor.Result valueResult) primitive
(Type.PrimitiveType primitive, Integer tableSchemaId) schema
(Schema dataSchema, Integer tableSchemaId, CompareSchemasVisitor.Result downstream) struct
(Types.StructType struct, Integer tableSchemaId, List<CompareSchemasVisitor.Result> fields) static CompareSchemasVisitor.Result
static CompareSchemasVisitor.Result
Methods inherited from class org.apache.iceberg.schema.SchemaWithPartnerVisitor
afterField, afterListElement, afterMapKey, afterMapValue, beforeField, beforeListElement, beforeMapKey, beforeMapValue, variant, visit, visit
-
Method Details
-
visit
-
visit
public static CompareSchemasVisitor.Result visit(Schema dataSchema, Schema tableSchema, boolean caseSensitive) -
schema
public CompareSchemasVisitor.Result schema(Schema dataSchema, Integer tableSchemaId, CompareSchemasVisitor.Result downstream) - Overrides:
schema
in classSchemaWithPartnerVisitor<Integer,
CompareSchemasVisitor.Result>
-
struct
public CompareSchemasVisitor.Result struct(Types.StructType struct, Integer tableSchemaId, List<CompareSchemasVisitor.Result> fields) - Overrides:
struct
in classSchemaWithPartnerVisitor<Integer,
CompareSchemasVisitor.Result>
-
field
public CompareSchemasVisitor.Result field(Types.NestedField field, Integer tableSchemaId, CompareSchemasVisitor.Result typeResult) - Overrides:
field
in classSchemaWithPartnerVisitor<Integer,
CompareSchemasVisitor.Result>
-
list
public CompareSchemasVisitor.Result list(Types.ListType list, Integer tableSchemaId, CompareSchemasVisitor.Result elementsResult) - Overrides:
list
in classSchemaWithPartnerVisitor<Integer,
CompareSchemasVisitor.Result>
-
map
public CompareSchemasVisitor.Result map(Types.MapType map, Integer tableSchemaId, CompareSchemasVisitor.Result keyResult, CompareSchemasVisitor.Result valueResult) - Overrides:
map
in classSchemaWithPartnerVisitor<Integer,
CompareSchemasVisitor.Result>
-
primitive
- Overrides:
primitive
in classSchemaWithPartnerVisitor<Integer,
CompareSchemasVisitor.Result>
-