Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
-
10.2.0-2, 10.2.0-3, 10.2.0-4, 10.2.0-5, 10.2.0-8, 10.1.13
Description
Implement COM_MULTI protocol command. Just as COM_QUERY support multiple queries in one packet, COM_MULTI will bundle many COM_xxx commands in one packet.
May be the server should only support COM_MULTI if CLIENT_MULTI_RESULTS flag is set? Probably not
Packets included in one COM_MULTI probably do not need packet number as well as separate compression, so only 3 bytes of length for each.
For prepared statement to be able prepare / execute / deallocate the command in one COM_MULTI batch will be special prepared statement ID (0 or -1) which mean ID of previous command.
Packet structure:
- 4 or 7 bytes: of packet header (read by my_real_read())
- 1 byte: COM_MULTI
- 3 bytes: length of subcommand 1
- N1 bytes: subcommand1
- 3 bytes: length of subcommand 2
- N2 bytes: subcommand 2
... - 3 bytes: length of subcommand m
- Nm bytes: subcommand m
COM_MULTI should be numbered from the "end" i.e. 255
There should be capability flag for it.
Attachments
Issue Links
- blocks
-
MDEV-10169 Optimize INSERT for COM_MULTI batch
- Closed