Bug #32345 Server; mysql_update() compares too much for NULL fields
Submitted: 13 Nov 2007 20:23 Modified: 1 May 2008 11:43
Reporter: Kevin Lewis Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server: DML Severity:S3 (Non-critical)
Version:6.0 OS:Any
Assigned to: CPU Architecture:Any

[13 Nov 2007 20:23] Kevin Lewis
Description:
Bug32194 was opened against the Falcon engine but is really a problem in sql_base.cc, mysql_update().  The evidence of the problem no longer occurs since the fix for Bug#32194, but this should be fixed in order to clean up the storage engine API.  The storage engine should not be responsible for setting or initializing bytes of a field when the field is null.

How to repeat:
See Bug#32194.  In order to see the erroneous results caused by this bug, that fix must be undone by commenting out the call to field->reset() in ha_falcon.cpp, StorageInterface::decodeRecord().
[29 Feb 2008 21:46] Sveta Smirnova
Thank you for the report.

Doe bug still exists in current sources? If yes, could you please provide link to commit of fix for bug #32194, because with just commenting out field->reset(); I get proper results:

info: Records: 3  Duplicates: 0  Warnings: 0
update t8 set s1 = s1 + 1;
affected rows: 1
info: Rows matched: 3  Changed: 1  Warnings: 0
[30 Mar 2008 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[1 May 2008 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".