← Back to team overview

maria-developers team mailing list archive

Re: [Fwd: [Commits] Rev 2998: Fixed LP bug #639935 (bug #58727). in file:///home/igor/maria/maria-5.1-bug693935/]

 

Hi!

24 Dec 2010, в 06:45, Igor Babaev написал(а):

Sanja,

Please review this fix ASAP.
We need it to move on with 5.3


The patch is OK, but I would prefer to have comment before Item::quick_fix_field() that this method is only for optimizer needs, it can be used only for certain Items controlled by optimizer and maybe add that only Item_func_* need recursion for this. But you could write comments much better then I so it is up to you how write the comment.


Regards.
Igor.

-------- Original Message --------
Subject: [Commits] Rev 2998: Fixed LP bug #639935 (bug #58727). in
file:///home/igor/maria/maria-5.1-bug693935/
Date: Fri, 24 Dec 2010 06:42:05 +0200 (EET)
From: <igor@xxxxxxxxxxxx>
Reply-To: maria-developers@xxxxxxxxxxxxxxxxxxx
To: <commits@xxxxxxxxxxx>

At file:///home/igor/maria/maria-5.1-bug693935/

------------------------------------------------------------
revno: 2998
revision-id: igor@xxxxxxxxxxxx-20101224044150-p9yja1e87riwjh7g
parent: monty@xxxxxxxxxxxx-20101221172350-wqtf0t6evpc0un4b
committer: Igor Babaev <igor@xxxxxxxxxxxx>
branch nick: maria-5.1-bug693935
timestamp: Thu 2010-12-23 20:41:50 -0800
message:
 Fixed LP bug #639935 (bug #58727).
 When the optimizer creates items out of other items it does
 not have to call the fix_fields method. Usually in these
 cases it calls quick_fix_field() that just marks the
 created item as fixed. If the created item is an Item_func
 object then calling quick_fix_field() works fine if the
 arguments of the created functional item are already fixed.
 Otherwise some unfixed nodes remain in the item tree and
 it triggers an assertion failure whenever the item is
 evaluated.

 Fixed the problem by making the method quick_fix_field
 virtual and providing an implementation for the class
 Item_func objects that recursively calls the method
 for unfixed arguments of any functional item.

[skip]