MultiResultParser class
Parser for multi-result protocol.
Decodes binary data returned by odbc_exec_query_multi /
odbc_exec_query_multi_params.
Wire format v2 (current, since v3.2.0):
[magic: u32 LE = 0x4D554C54 ("MULT")]
[version: u16 LE = 2]
[reserved: u16 = 0]
[count: u32 LE]
for each item:
[tag: u8] (0 = ResultSet, 1 = RowCount)
[length: u32 LE]
[payload: length bytes]
Wire format v1 (legacy, still accepted):
[count: u32 LE]
for each item: ... (same as v2)
parse auto-detects the framing by sniffing the first 4 bytes.
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
-
getFirstResultSet(
List< MultiResultItem> items) → ParsedRowBuffer? -
Returns the first result set from a multi-result response, or
nullwhen the batch produced no cursors at all (e.g. INSERT-only batch). -
parse(
Uint8List data) → List< MultiResultItem> - Parses multi-result binary data into a list of items.
-
parseMultiWithOutputs(
Uint8List data) → ({List< MultiResultItem> items, List<ParamValue> outputParamValues}) -
Parses a buffer that was produced by the DRT1 + multi-result engine path:
a MULT envelope (v2) followed by an optional
OUT1footer.
Constants
- headerSize → const int
- Header size for the legacy v1 framing: 4 bytes for item count.
- itemHeaderSize → const int
- Header size for each item: 1 (tag) + 4 (length) bytes.
- tagResultSet → const int
- Tag for result set item.
- tagRowCount → const int
- Tag for row count item.