[TYPO3-dev] Further development of DBAL
Andreas Fernandez
a.fernandez at scripting-base.de
Thu Aug 7 22:22:56 CEST 2014
Hi,
some of you may have noticed I'm currently debugging / extending the
DBAL extension.
There are still a few points that are broken in core, for example the
Extension Manager.
The EM uses the HAVING statement at certain points which is *not*
supported by DBAL
at the moment. Also it uses subselects in SELECT which isn't supported
neither (but in
WHERE it is?). Currently, I trying to teach DBAL to understand the
HAVINGs, but it's very
complicated because there is no reserved parameter in any exec_*query
method, so it
could be pre- or appended anywhere (WHERE, GROUP BY, ORDER BY).
Anything related to the EM database queries is found in
typo3/sysext/extensionmanager/Classes/Domain/Repository/ExtensionRepository.php.
HAVING in WHERE works now, but I'm not happy with that "magic" select
statement used
in the method "findByTitleOrAuthorNameOrExtensionKey". Currently, I pass
the whole stuff
as a single field with this regex: "((\()+.*(\)+)[[:space:]]+)".
At least I can bypass the subselect used in
"fetchMaximalVersionsForAllExtensions" by
changing the query. The changed query is a bit buggy since it misses ~30
extensions
which are covered by the currently used query.
Here is a pastebin to the change and it's impact:
http://pastebin.com/ESZYX6LU
Of course I have to push the changes to Gerrit but the question is:
Which kind of changes
will be merged into 6.2 LTS? All of them are a mix of [BUGFIX] and
[TASK] and *could*
introduce a breaking change.
I'm aware of the blueprint of a refactored DBMS service:
http://wiki.typo3.org/Blueprints/DatabaseService
Please feel free to share your hints and ideas.
Greetings,
Andreas
More information about the TYPO3-dev
mailing list