Bug #111833 | couldn't distinguish a normal resultset from an OUT parameter set | ||
---|---|---|---|
Submitted: | 20 Jul 2023 22:09 | Modified: | 21 Jul 2023 13:06 |
Reporter: | Mark Simonyi | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | all | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[20 Jul 2023 22:09]
Mark Simonyi
[20 Jul 2023 22:19]
Mark Simonyi
because of this bug, MySQL Connector/J have to use session variable get out parameter. it's stupid , Client must know how to distinguish a normal resultset from an OUT parameter set .
[20 Jul 2023 22:24]
Mark Simonyi
now : num_params * Column Definition if (not capabilities & CLIENT_DEPRECATE_EOF) { EOF_Packet } –CLIENT_DEPRECATE_EOF Suggested fix : num_params * Column Definition if (not capabilities & CLIENT_DEPRECATE_EOF) { EOF_Packet }else{ OK_PACKET } please, fastly ,God bless you
[20 Jul 2023 22:27]
Mark Simonyi
sorry , not num_params * Column Definition , it's num_columns * Column Definition.
[20 Jul 2023 22:38]
Mark Simonyi
https://dev.mysql.com/doc/dev/mysql-server/latest/page_protocol_com_stmt_prepare.html#sect... now : num_columns * Column Definition if (not capabilities & CLIENT_DEPRECATE_EOF) { EOF_Packet } –CLIENT_DEPRECATE_EOF Suggested fix : num_columns * Column Definition if (not capabilities & CLIENT_DEPRECATE_EOF) { EOF_Packet }else{ OK_PACKET } please, fastly ,God bless you,all driver developer of the world love you.
[21 Jul 2023 13:06]
MySQL Verification Team
HI Mr. Simonyi, Thank you for your bug report. However, let us inform you that this is a forum for the bug reports with fully repeatable test cases. We do not see such a test case in your report, at all. Next, your description of the problem is very vague and imprecise. Repeatable test case is, however, much more important. Provided that it is followed with a detailed explanation on why is that wrong. Also, you have set a category at "Server", which does not correspond with your unclear description of the problem. Also one last bit of information: ------------------------------------------------------------------------------------ Client no longer needs EOF_Packet and will use OK_Packet instead. See also net_send_ok() Server Can send OK after a Text Resultset. Client Expects an OK_Packet (instead of EOF_Packet) after the resultset rows of a Text Resultset. Background To support CLIENT_SESSION_TRACK, additional information must be sent after all successful commands. Although the OK_Packet is extensible, the EOF_Packet is not due to the overlap of its bytes with the content of the Text Resultset Row. Therefore, the EOF_Packet in the Text Resultset is replaced with an OK_Packet. EOF_Packet is deprecated as of MySQL 5.7.5. ------------------------------------------------------------------------------- Hence, EOF packet is deprecated as of MySQL 5.7.5. Can't repeat.