Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Not a Bug
-
2.0.1, 2.3.0, 1.8.0, 2.4.4, 2.7.0, 2.7.2
-
None
Description
When the MariaDB connector is used to call a stored procedure with defined output variables, but only a subset of these variables is registered for output, the wrong values are returned to the calling object. For example, if the stored procedure has 2 output parameters P1 and P2, and the calling object registers and gets the value for only parameter P2, the value returned will be the value of P1. In other words, the MariaDB driver is unaware that parameter P1 was skipped in the call. By contrast, MySQL 8.0.11 connector correctly returns the value of P2 in this case.
In the provided example a 6 parameter stored procedure is called and values 2, 3, 4, and 6 are called and returned when using the MySQL 8.0.11 driver, while the MariaDB drivers returns values 1, 2, 3, and 4.
Same results using MariaDB 10.5.8 or 10.4.17, and MariaDB Connector/J drivers going as far back as 1.8.0