Bug #15910 | Wrong value in error message | ||
---|---|---|---|
Submitted: | 21 Dec 2005 16:56 | Modified: | 26 Jan 2006 3:14 |
Reporter: | Joerg Bruehe | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server | Severity: | S3 (Non-critical) |
Version: | 5.1.4 | OS: | Unix, big-endian, 32 bit |
Assigned to: | Alexey Botchkov | CPU Architecture: | Any |
[21 Dec 2005 16:56]
Joerg Bruehe
[9 Jan 2006 23:35]
Kristian Nielsen
This looks simple. The error message is formatted with %ld: ER_NO_PARTITION_FOR_GIVEN_VALUE eng "Table has no partition for value %ld" However, the argument for the format is m_part_info->part_expr->val_int(), which is longlong. On most 32bit platforms, %ld is 32 bit and will show only the lower 32 bit of the 64-bit longlong partition number (on little endian) and unly the upper 32 bit on big endian. Should be easy to fix by using the appropriate format for longlong (not sure what that is?), or by casting the argument to long (less elegant).
[13 Jan 2006 8:12]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/1024
[13 Jan 2006 12:53]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/1032
[18 Jan 2006 14:41]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/1268
[26 Jan 2006 3:14]
Mike Hillyer
Documented in 5.1.6 changelog: <listitem> <para> Error message for specifying value for which no partition exists returned wrong values on certain platforms. (Bug #15910) </para> </listitem>