[TYPO3-core] RFC #11119: DBAL: Mapping in query does not takes care of remapping "table.field" in a WHERE clause
Michael Miousse
mmiousse at infoglobe.ca
Fri Jun 5 20:30:12 CEST 2009
Le Thu, 28 May 2009 07:23:48 +0200, Xavier Perseguers a écrit :
> Hi,
>
> This is a friendly reminder (#1)
>
> Xavier
>
>
> Xavier Perseguers wrote:
>> 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.
>>
+1 by testing sory for the delay
More information about the TYPO3-team-core
mailing list