Skip to main content

Field Type Reference

Complete reference for all 17 YXDB field types, their binary encoding, and how SigilYX represents them.

Boolean​

PropertyValue
CategoryBoolean
Fixed size1 byte
Encoding0x00 = false, 0x01 = true, 0x02 = null
Arrow typeBooleanArray
Polars typeBoolean

No separate null indicator byte - the value byte encodes both value and nullability.

Byte​

PropertyValue
CategoryInteger
Fixed size2 bytes
Encoding1 byte unsigned value + 1 byte null indicator
Arrow typeInt16Array
Polars typeInt16

Stored as Int16 (not UInt8) to accommodate the full 0-255 range without ambiguity.

Int16​

PropertyValue
CategoryInteger
Fixed size3 bytes
Encoding2 bytes signed LE + 1 byte null indicator
Arrow typeInt16Array
Polars typeInt16

Int32​

PropertyValue
CategoryInteger
Fixed size5 bytes
Encoding4 bytes signed LE + 1 byte null indicator
Arrow typeInt32Array
Polars typeInt32

Int64​

PropertyValue
CategoryInteger
Fixed size9 bytes
Encoding8 bytes signed LE + 1 byte null indicator
Arrow typeInt64Array
Polars typeInt64

Float​

PropertyValue
CategoryFloat
Fixed size5 bytes
Encoding4 bytes IEEE 754 single-precision + 1 byte null indicator
Arrow typeFloat32Array
Polars typeFloat32

Double​

PropertyValue
CategoryFloat
Fixed size9 bytes
Encoding8 bytes IEEE 754 double-precision + 1 byte null indicator
Arrow typeFloat64Array
Polars typeFloat64

FixedDecimal​

PropertyValue
CategoryDecimal
Fixed sizesize + 1 bytes
EncodingASCII decimal string (e.g., "12345.67"), null-padded, + 1 byte null indicator
Arrow typeDecimal128Array
Polars typeDecimal(precision, scale)

The size attribute specifies the precision (total digits). The scale attribute specifies the number of decimal places.

String​

PropertyValue
CategoryFixed string
Fixed sizesize + 1 bytes
EncodingASCII / Latin-1, null-terminated, + 1 byte null indicator
Arrow typeUtf8Array
Polars typeString

WString​

PropertyValue
CategoryFixed string
Fixed sizesize * 2 + 1 bytes
EncodingUTF-16LE, null-terminated, + 1 byte null indicator
Arrow typeUtf8Array
Polars typeString

SigilYX decodes UTF-16LE to UTF-8 on read, with an SSE2-accelerated fast path for ASCII content.

V_String​

PropertyValue
CategoryVariable string
Fixed portion4 bytes (offset marker)
EncodingASCII / Latin-1, variable length
Arrow typeLargeUtf8Array
Polars typeString

V_WString​

PropertyValue
CategoryVariable string
Fixed portion4 bytes (offset marker)
EncodingUTF-16LE, variable length
Arrow typeLargeUtf8Array
Polars typeString

The most common string type for modern YXDB files. SigilYX's SIMD UTF-16 transcoding makes this type particularly fast to read.

Date​

PropertyValue
CategoryTemporal
Fixed size11 bytes
EncodingYYYY-MM-DD ASCII (10 chars) + 1 byte null indicator
Arrow typeDate32Array
Polars typeDate

Stored as days since Unix epoch in the Arrow representation.

DateTime​

PropertyValue
CategoryTemporal
Fixed size20 bytes
EncodingYYYY-MM-DD HH:MM:SS ASCII (19 chars) + 1 byte null indicator
Arrow typeTimestampArray(Microsecond)
Polars typeDatetime(Microsecond)

Time​

PropertyValue
CategoryTemporal
Fixed size9 bytes
EncodingHH:MM:SS ASCII (8 chars) + 1 byte null indicator
Arrow typeTime64Array(Nanosecond)
Polars typeTime

Blob​

PropertyValue
CategoryBinary
Fixed portion4 bytes (offset marker)
EncodingVariable-length raw bytes
Arrow typeLargeBinaryArray
Polars typeBinary

SpatialObj​

PropertyValue
CategoryBinary
Fixed portion4 bytes (offset marker)
EncodingVariable-length Alteryx SHP geometry
Arrow typeLargeBinaryArray
Polars typeBinary

SigilYX can decode the proprietary SHP format to standard ISO Well-Known Binary (WKB) using SpatialMode::Wkb. This makes the data compatible with PostGIS, GDAL, Shapely, GeoPandas, and other geospatial tools.

Null Handling​

Most types use a trailing null indicator byte: 0x00 = valid, 0x01 = null. The exceptions are:

  • Boolean: Uses 0x02 from the single value byte
  • Variable-length types: A zero offset (bit 31 clear) indicates null/empty