[TYPO3-core] RFC #11119: DBAL: Mapping in query does not takes care of remapping "table.field" in a WHERE clause
Xavier Perseguers
typo3 at perseguers.ch
Mon May 18 14:52:00 CEST 2009
Hi,
This is a SVN patch request.
Type: Bugfix
Branches: trunk
BT reference:
http://bugs.typo3.org/view.php?id=11119
Problem:
When remapping name of table X, any query selecting data from table Y
and having a WHERE condition on some field of table X won't get the name
of table X remapped if it is given as a value of a comparison.
E.g. when using TemplaVoila with Oracle, one has to remap a table to
prevent name length overflow:
$TYPO3_CONF_VARS['EXTCONF']['dbal']['mapping'] = array(
'tx_templavoila_datastructure' => array(
'mapTableName' => 'tx_templavoila_ds',
),
);
Any query selecting data on tx_templavoila_datastructure is in fact
issued on table tx_templavoila_ds when accessing the database.
But if we edit a page, a query is issued on table pages with a condition
on a field of tx_templavoila_datastructure in the "value" part of the
comparison:
SELECT * FROM pages WHERE pages.uid = tx_templavoila_datastructure.pid
The current implementation of the mapping is not able to remap a table
*and* a field name in the value part of the comparison, it handles a
"table + field" value definition but only remap the field part.
Solution:
Do not assume that the table name for the value part is the table used
in the "FROM" part of the query and map both table and field names if
needed.
--
Xavier Perseguers
DBAL-Member
http://xavier.perseguers.ch/en/tutorials/typo3.html
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 11119.diff
Url: http://lists.netfielders.de/pipermail/typo3-team-core/attachments/20090518/6c9f174d/attachment.txt
More information about the TYPO3-team-core
mailing list