mirror of
https://github.com/MariaDB/server.git
synced 2025-12-04 17:23:46 +03:00
sporadically Under some circumstances, the mysql_insert_id() value after SELECT ... INSERT could return a wrong value. This could happen when the last SELECT ... INSERT did not involve an AUTO_INCREMENT column, but the value of mysql_insert_id() was changed by some previous statements. Fixed by checking the value of thd->insert_id_used in select_insert::send_eof() and returning 0 for mysql_insert_id() if it is not set. sql/sql_insert.cc: Do not return thd->last_insert_id unconditionally in select_insert::send_eof(). First check if thd->insert_id_used is non-zero, and return 0 otherwise. tests/mysql_client_test.c: Added a test case for bug #34889.
108 KiB
108 KiB