Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
3.0.9
-
None
-
None
Description
mysql_fetch_fields() says a "smallint(5) unsigned zerofill" has a (max)length of 5.
However If I use mysql_stmt_fetch() with a MYSQL_BIND with buffer_length of 5 I get return code 101 (MYSQL_DATA_TRUNCATED).
With a buffer of 6 it works fine.
With 10.3.11 a buffer of 5 was working fine.
Attachments
Issue Links
- relates to
-
MDEV-18143 mysql_stmt_fetch return code is wrong if buffer size is 1
-
- Closed
-
Output of attached testcase:
Client compile version: 100311
Client runtime version: 10.3.11
Server version: 100311
Field 0 length: 5
Field 0 max_length: 5
Result: 00001
Buffer length: 1
mysql_stmt_fetch result: 0
Result: 1�/E (prepared statement)
Buffer length: 2
mysql_stmt_fetch result: 101
Result: 00/E (prepared statement)
Buffer length: 3
mysql_stmt_fetch result: 101
Result: 000E (prepared statement)
Buffer length: 4
mysql_stmt_fetch result: 101
Result: 0000 (prepared statement)
Buffer length: 5
mysql_stmt_fetch result: 0
Result: 00001 (prepared statement)
Buffer length: 6
mysql_stmt_fetch result: 0
Result: 00001 (prepared statement)
Client compile version: 100313
Client runtime version: 10.3.13
Server version: 100313
Field 0 length: 5
Field 0 max_length: 5
Result: 00001
Buffer length: 1
mysql_stmt_fetch result: 101
Result: 1 (prepared statement)
Buffer length: 2
mysql_stmt_fetch result: 101
Result: 1 (prepared statement)
Buffer length: 3
mysql_stmt_fetch result: 101
Result: 1 (prepared statement)
Buffer length: 4
mysql_stmt_fetch result: 101
Result: 1 (prepared statement)
Buffer length: 5
mysql_stmt_fetch result: 101
Result: 1 (prepared statement)
Buffer length: 6
mysql_stmt_fetch result: 0
Result: 00001 (prepared statement)