The pure Python implementation unexpectedly delivered
TEXT
columns having binary (_bin
) collations as byte objects. (Bug #33987119)Changed the
warning_count
property from private to public in thecursor
class; this is used to retrieve the number of warnings generated by the previously executed operation. (Bug #27634910)When using buffered cursors with the C extension, it was possible
cursor.executemany()
to return InternalError: No result set available forSELECT
statements. (Bug #21529893)The
MySQLConnection.set_charset_collation()
method returned an UnboundLocalError exception when given a empty character set name; now the default character set is used in such cases. (Bug #21402805)-
On macOS, compiling the C Extension implementation assumed that gcc and g++ were the default compilers. Now the compilation process checks the
CC
andCXX
environment variables for the use of clang.Thanks to Jonathan Ringer for the contribution. (Bug #107841, Bug #34373612)
Selecting binary data that began with
0x00
returned an empty string. (Bug #107568, Bug #34283402)Calling a stored procedure by its fully qualified name (of the form
) generated a ProgrammingError (SQL syntax) error. (Bug #107406, Bug #34217492)database_name
.procedure_name
The binary protocol halted unexpectedly when passed a time value of
0
, while the expected behavior is to receive a00:00:00
time when such a payload is passed to it. (Bug #91974, Bug #28491115)Aligned the exception types raised by pure Python and the C extension when assigning a non-existent database or when executing an invalid query using the
connection.info_query()
method. (Bug #91315, Bug #28295478)Destroying a connection object now raises a ProgrammingError exception stating the cursor is not connected. Previously, it raised a ReferenceError exception about weakly referenced objects, which related to how cursors contain a weak reference to the connection. (Bug #76181, Bug #21463298)