Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
3.0.10
-
None
-
None
Description
The mysql_stmt_store_result function can return an error, even though mysql_stmt_errno(), mysql_stmt_sqlstate(), and mysql_stmt_error() do not actually contain information about an error. This may be related to running stored procedures that contain a cursor.
To reproduce, load the attached schema:
sudo mysql -u root db1 < cursortest.sql
|
And then build the attached program:
g++ -ggdb -c $(mariadb_config --cflags) cursortest.cpp
|
g++ -o cursortest cursortest.o $(mariadb_config --libs)
|
And then run the program.
At that point, you should see an empty error:
$ ./cursortest
|
Query: CALL testCursor()
|
Failed to store result. Error 0 (00000):
|
Result set #1 had 0 rows
|
Received 1 result sets
|
Query: CALL testNoCursor()
|
Segmentation fault
|
See CONC-425 about the segmentation fault.
Attachments
Issue Links
- is caused by
-
MDEV-17252 mysql_stmt_fetch error during fetch of stored procedure (with cursor) results
- Stalled
-
MDEV-19321 Cursor flag set incorrectly in COM_STMT_EXECUTE response
- Open
- relates to
-
CONC-425 Segmentation fault in ma_alloc_root
- Closed