typesAreEqual

fun typesAreEqual(incomingType: Type, existingType: Type): Boolean(source)

Checks if two Iceberg Types are semantically equal by comparing type IDs and any relevant sub-properties (e.g., for timestamps, lists, structs).

Relaxing nested nullability (required -> optional) is not a type change; tightening it is.

Return

true if they are effectively the same type, false otherwise.

Parameters

incomingType

the type from the incoming schema.

existingType

the type from the existing schema.

Throws

if an unsupported or unmapped Iceberg type is encountered.