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
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.
datamust 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
OUT1block if present). -
parseWithOutputs(
Uint8List data) → ParsedQueryMessage -
Parses a full buffer into rows/columns and optional
OUT1outputs.
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").
-
Trailer magic for ParamValue output slots (
b"OUT1"), from the Rust engine when the call used DRT1OUT/INOUTparameters. LE u32 of the four on-wire bytesO U T 1(not0x4F555431=1TUO). - protocolVersionColumnarV2 → const int
-
Columnar wire format (matches
native/.../columnar_encoder.rsv2). - protocolVersionRowMajor → const int
-
Row-major wire format (matches
native/.../encoder.rsv1). -
Trailer for materialized ref-cursor result sets (
b"RC1\0"), fromRowBufferEncoder::append_ref_cursor_footerin the native encoder.