BinaryProtocolParser class

Parser for binary protocol query results.

Parses binary data returned from the native ODBC engine into structured ParsedRowBuffer instances with column metadata and row data.

Constructors

BinaryProtocolParser()

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

messageLengthFromHeader(Uint8List data) int
Returns total v1 row-major message length (header + payload) from the first 16 bytes. data must have length >= 16. Payload size at bytes 12..15 (LE). Not valid for v2 columnar buffers.
parse(Uint8List data) ParsedRowBuffer
Parses binary protocol data into a ParsedRowBuffer (v1 and v2; ignores a trailing OUT1 block if present).
parseWithOutputs(Uint8List data) ParsedQueryMessage
Parses a full buffer into rows/columns and optional OUT1 outputs.

Constants

headerSize → const int
Size of the protocol header in bytes (v1 — kept for call sites that pre-date columnar and OUT1).
headerSizeColumnarV2 → const int
Size of the v2 columnar fixed header in bytes.
headerSizeV1 → const int
Size of the v1 row-major header in bytes.
magic → const int
Magic number identifying binary protocol data (ASCII "ODBC").
outputFooterMagic → const int
Trailer magic for ParamValue output slots (b"OUT1"), from the Rust engine when the call used DRT1 OUT / INOUT parameters. LE u32 of the four on-wire bytes O U T 1 (not 0x4F555431 = 1TUO).
protocolVersionColumnarV2 → const int
Columnar wire format (matches native/.../columnar_encoder.rs v2).
protocolVersionRowMajor → const int
Row-major wire format (matches native/.../encoder.rs v1).
refCursorFooterMagic → const int
Trailer for materialized ref-cursor result sets (b"RC1\0"), from RowBufferEncoder::append_ref_cursor_footer in the native encoder.