[TYPO3-team-templavoila] RFC #13912: Handling of static DS is not compatible with Oracle

Xavier Perseguers typo3 at perseguers.ch
Thu Mar 25 10:04:29 CET 2010


Hi,

This is an SVN patch request.

Type: Bugfix

Bugtracker reference:
http://bugs.typo3.org/view.php?id=13912

Branches: trunk, 1-4

Problem:
Generation of query to find static datastructure uses a t3lib_div built-in method to generate a comma-separated list of strings which is then used in the query. This results in a list where strings 
are double-quoted instead of simple-quoted which does not work with Oracle nor with MySQL in strict mode.

$GLOBALS['TYPO3_DB']->fullQuoteStr() should always be used when quoting strings for a SQL query.

Additional info:
Typical invalid query in Oracle:

SELECT "uid", "title", "previewicon", "datastructure" FROM "tx_templavoila_tmplobj" WHERE "datastructure" IN ("EXT:templavoila_framework/core_templates/datastructures/page/f1 
(page).xml","EXT:templavoila_framework/core_templates/datastructures/page/f2 (page).xml","EXT:templavoila_framework/core_templates/datastructures/page/f3 (page).xml") AND 
"tx_templavoila_tmplobj"."deleted" = 0

strings in double quotes (inside the "IN") are interpreted as identifiers for Oracle and this returns an error.

Solution:
See patch

Cheers

-- 
Xavier Perseguers
http://xavier.perseguers.ch/en
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 13912.diff
URL: <http://lists.typo3.org/pipermail/typo3-team-templavoila/attachments/20100325/2481cfea/attachment.asc>


More information about the TYPO3-team-templavoila mailing list