Feature #21688
closedAdd support for IN and EXISTS subqueries
0%
Description
When trying to use EXT:crawler on an Oracle database, CLI dispatcher fails because some queries cannot be parsed in class.tx_crawler_lib.php:
$GLOBALS['TYPO3_DB']->exec_UPDATEquery(
'tx_crawler_queue',
'process_id IN (SELECT process_id FROM tx_crawler_process WHERE active=0 AND deleted=0)',
array(
'process_scheduled' => 0,
'process_id' => ''
)
);
or
$GLOBALS['TYPO3_DB']->exec_UPDATEquery(
'tx_crawler_process',
'active = 0
AND NOT EXISTS (
SELECT * FROM tx_crawler_queue
WHERE tx_crawler_queue.process_id = tx_crawler_process.process_id
AND tx_crawler_queue.exec_time = 0
)',
array(
'deleted'=>'1'
)
);
As such support for subqueries should be added :-)
(issue imported from #M12758)
Files
Updated by Xavier Perseguers almost 15 years ago
Attached patches add support for WHERE ... IN (subquery)
Updated by Xavier Perseguers almost 15 years ago
Just added v2 of DBAL patch. This version supports both WHERE EXISTS (subquery) and WHERE ... IN (subquery) from first patch.
I should test again whether crawler works now a bit better but I'm confident... at least for those two types of queries.
Updated by Xavier Perseguers almost 15 years ago
Updated v2 patch against current DBAL-trunk after recent unit test reorganization
Updated by Xavier Perseguers almost 15 years ago
Support for IN subqueries has been added by patch for bug #12800
Updated by Xavier Perseguers almost 15 years ago
Committed v3 to DBAL Trunk (rev. 27132)
Updated by Xavier Perseguers almost 15 years ago
Successfully tested on an Oracle website
Updated by Xavier Perseguers almost 15 years ago
EXISTS support has not been reintegrated in t3lib_sqlparser (in trunk) when #13003 was resolved.
Updated by Xavier Perseguers almost 15 years ago
Wrong alert, was testing DBAL 1.1-dev with TYPO3 4.3.0