Thursday 31 July 2014 11:08:14 am - 7 replies
I'm in the process of migrating different 4.4 customers to version 2014.05. Most of the sites will receive at least a TWIG page layout, but for the time being, much of the logic and templating will remain in legacy. Given the excellent job of the core developers in regards to backwards compatibility I expect few problems.
Nevertheless I encountered a problem with fetches (content list or tree) using limit=0. Although not explicitly documented, a limit of 0 would return ALL rows in eZ 4. In eZ 5, however, the limit value goes straight to the SQL query, returning ZERO rows.
Not a very big issue, but worth a bug report and mentioning, so that you are aware of it!
Please share your experiences with BC here.
Modified on Thursday 31 July 2014 11:10:38 am by Donat Fritschy
Tuesday 05 August 2014 3:10:47 pm
I have some old template code which uses 0 (and works in 4.4).
But you are of course right that the correct way would be to use false() - and if used this way, there is no problem with backwards compatibility.
Thanks for your clarification!
Tuesday 05 August 2014 5:31:44 pm
As explained in the Jira issue, nothing has changed in the related legacy code, so I would expect a MySQL change of behavior in your new installation, or maybe directly related to PHP.
Anyway, Sebastian is right, you should pass false() instead of 0.
Tuesday 05 August 2014 6:31:42 pm
My bad, this behavior has actually been introduced in 4.5 by a fix for EZP-14342 (thanks Donat for the hint!). Documentation will be updated.
Tuesday 05 August 2014 10:11:40 pm
I understand the desire to have backwards compatibility, however to what extent should it go? While legacy appears to have at some point been able to take a limit of 0 and return ALL results, am I correct in understanding that this will now be carried over into the symfony stack?
If so, I would suggest that would not be logical by any means. If a request is made and somehow (explicitly or by expression evaluation) a value of 0 gets passed in, logic would state then that 0 results should be returned. If all results are desired to be return, then I would have expected to either not include a limit or have the limit value set to a boolean false.
You must be logged in to post messages in this topic!