MySQLPacket.decodeCommPrepareStmtResponsePacket constructor

MySQLPacket.decodeCommPrepareStmtResponsePacket(
  1. Uint8List buffer
)

Decodifica a resposta ao COM_STMT_PREPARE MySQLPacketStmtPrepareOK ou error.

Implementation

factory MySQLPacket.decodeCommPrepareStmtResponsePacket(Uint8List buffer) {
  final header = decodePacketHeader(buffer);
  final payloadBytes = _extractPayload(buffer, header.$1);
  final type = payloadBytes[0];

  late MySQLPacketPayload payload;
  if (type == 0x00) {
    payload = MySQLPacketStmtPrepareOK.decode(payloadBytes);
  } else if (type == 0xff) {
    payload = MySQLPacketError.decode(payloadBytes);
  } else {
    throw MySQLProtocolException(
      "Unexpected header type while decoding COM_STMT_PREPARE response: $header",
    );
  }

  return MySQLPacket(
    sequenceID: header.$2,
    payloadLength: payloadBytes.length,
    payload: payload,
  );
}