Coverage for mindsdb / api / mysql / mysql_proxy / data_types / mysql_packets / stmt_prepare_header.py: 30%
18 statements
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-21 00:36 +0000
« prev ^ index » next coverage.py v7.13.1, created at 2026-01-21 00:36 +0000
1"""
2*******************************************************
3 * Copyright (C) 2017 MindsDB Inc. <copyright@mindsdb.com>
4 *
5 * This file is part of MindsDB Server.
6 *
7 * MindsDB Server can not be copied and/or distributed without the express
8 * permission of MindsDB Inc
9 *******************************************************
10"""
13from mindsdb.api.mysql.mysql_proxy.data_types.mysql_packet import Packet
14from mindsdb.api.mysql.mysql_proxy.data_types.mysql_datum import Datum
17class STMTPrepareHeaderPacket(Packet):
18 '''
19 Implementation based on description:
20 https://dev.mysql.com/doc/internals/en/com-stmt-prepare-response.html#packet-COM_STMT_PREPARE_OK
21 '''
23 def setup(self):
24 self.status = Datum('int<1>', 0)
25 self.stmt_id = Datum('int<4>', self._kwargs.get('stmt_id', 1))
26 self.num_columns = Datum('int<2>', self._kwargs.get('num_columns', 0))
27 self.num_params = Datum('int<2>', self._kwargs.get('num_params', 0))
28 self.filler = Datum('int<1>', 0)
29 self.warning_count = Datum('int<2>', 0)
31 @property
32 def body(self):
33 order = [
34 'status',
35 'stmt_id',
36 'num_columns',
37 'num_params',
38 'filler',
39 'warning_count'
40 ]
41 string = b''
42 for key in order:
43 string += getattr(self, key).toStringPacket()
45 self.setBody(string)
46 return self._body