[TYPO3-core] RFC: Bug #6953: Mapping of fieldnames in SQL-functions like MIN(), MAX() or SUM() does not work

Christian Trabold christian.trabold at dkd.de
Fri Dec 14 15:02:46 CET 2007


This is an SVN patch request.

Type: Bugfix

Bugtracker references:
http://bugs.typo3.org/view.php?id=6953

Branches:
trunk


Problem:
If you use SQL-Functions like MIN(), MAX() or SUM() in SQL-Queries the 
fieldmapping does not work. Example:

SELECT tstamp, script, SUM(exec_time) as calc_sum, count(*) AS qrycount, 
MAX(errorFlag) as error FROM tx_dbal_debuglog

will produce

SELECT tstamp, script, SUM(exec_time) as calc_sum, count(*) AS qrycount, 
MAX(errorFlag) as error FROM tx_dbal_debuglog


even if the mapping for the field "errorFlag" would be "errorflag" (with 
a small f).


This gets problematic if your database supports only lowercase 
fieldnames and the fieldname has upper-case letters (eg. 
tx_dbal_debuglog:errorFlag), because the field can not be found, which 
results in an error message.



Solution:
With the attached patch the DBAL knows how to handle fieldnames inside 
SQL-Functions and maps it correctly to the desired value.

The patch adds a new condition in class.ux_t3lib_db.php->map_sqlParts() 
which checks for content in "func_content". If a mapping instruction for 
"func_content" can be found, the mapping will be processed.



Greetings

Christian

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: class.ux_t3lib_db.php.patch
Url: http://lists.netfielders.de/pipermail/typo3-team-core/attachments/20071214/bf145529/attachment.txt 


More information about the TYPO3-team-core mailing list