Table of Contents

Enum AvroCompatibilityKind

Namespace
AvroSharp.Schemas
Assembly
AvroSharp.dll

The kind of an AvroCompatibilityIssue: an incompatibility, or a warning (IsWarning) about a difference the specification allows that can change the values read. The six named as Java's SchemaIncompatibilityType values mean the same. Later versions may add kinds of either sort, so code should not rely on the values' order, and a new warning can make a check with WarningsAsErrors fail.

public enum AvroCompatibilityKind

Fields

AmbiguousFieldAlias = 12

Warning: two writer fields match one reader field (by name or alias); the later one is skipped.

DecimalChanged = 9

Warning: the decimal's precision or scale differs; a changed scale reads every value as a different number.

EnumDefaultUsed = 11

Warning: writer enum symbols the reader lacks are read as the reader's enum default.

FixedSizeMismatch = 2

Two fixed types have different sizes (Java's FIXED_SIZE_MISMATCH).

InvalidDefault = 6

A reader field the writer lacks has a default that is not a value of the field's schema.

LogicalTypeChanged = 8

Warning: the logical type differs, so the same encoded number or bytes mean a different value (for example date read as time-millis).

LossyPromotion = 7

Warning: a promotion that can change values: int or long to float, long to double (large values are rounded), or bytes to string (bytes that are not UTF-8 are replaced).

MissingDefault = 3

A reader field is not in the writer's record and has no default (Java's READER_FIELD_MISSING_DEFAULT_VALUE).

MissingEnumSymbols = 4

The reader's enum lacks some of the writer's symbols and has no default (Java's MISSING_ENUM_SYMBOLS).

MissingUnionBranch = 5

A reader union has no branch for a writer type (Java's MISSING_UNION_BRANCH).

NameMismatch = 1

Two records, enums or fixed types have different names, and no reader alias matches (Java's NAME_MISMATCH).

TypeMismatch = 0

The types differ and no promotion applies (Java's TYPE_MISMATCH).

UnqualifiedNameMatch = 10

Warning: a named type matched only by its unqualified name, as the specification allows, though its namespace differs.