[TYPO3-core] RFC #10003: t3lib_db explainOutput does not work with tablealias

Dan Osipov dosipov at phillyburbs.com
Thu Oct 29 15:22:46 CET 2009


This is an SVN patch request.

Type: Bugfix

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

Branch: 4.2, Trunk

Problem:

Using table aliases in an SQL having t3lib_db::explainOutput ==1 causes 
mysql errors as t3lib_db::explain function calles explain the executed 
query and uses returned tablenames to "SHOW INDEX FROM" it. The problem 
with this is that col 'table' returned by explain can be an alias from a 
table and then "SHOW INDEX FROM " returns in "table does not exist" error.

code:
$GLOBALS['TYPO3_DB']->exec_SELECTgetRows('a.uid,b.uid','be_users 
a,be_users b','1');
produces:
caller t3lib_DB::exec_SELECTquery
ERROR Table 'DBNAME.b' doesn't exist
lastBuiltQuery SELECT a.uid,b.uid
FROM be_users a,be_users b
WHERE
1


Solution:
Prior to finding the index of the table, check that the table exists.
Thanks to Nabil Saleh for the patch!
-- 
Dan Osipov
Calkins Media
http://danosipov.com/blog/
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 10003.patch
URL: <http://lists.typo3.org/pipermail/typo3-team-core/attachments/20091029/9277e174/attachment.txt>


More information about the TYPO3-team-core mailing list