[!!!][FEATURE] Introduce Doctrine DBAL database connections 11/47111/20
authorMorton Jonuschat <m.jonuschat@mojocode.de>
Fri, 4 Mar 2016 16:11:53 +0000 (17:11 +0100)
committerChristian Kuhn <lolli@schwarzbu.ch>
Tue, 12 Apr 2016 13:17:04 +0000 (15:17 +0200)
commit4a5e2c869d38e42bd3c2949715d3e42dd56ad086
treeea1521b7fa5dad02ab8d17347cbdaa655063f9b7
parent5ab7fd5e7958bc198e0a4e39469bf7407c4db430
[!!!][FEATURE] Introduce Doctrine DBAL database connections

The Doctrine DBAL library is added as a composer dependency
as a foundation to replace the current DatabaseConnection class,
EXT:dbal and EXT:adodb.

Doctrine DBAL is encapsulated within a ConnectionPool class that
manages the connections to all defined database connections.

The main parts of the patch consist of the connection management,
convenience methods for simple SQL queries, a QueryBuilder to build
complex queries in a database platform independent way and a
QueryRestriction Builder that aims to replace deleteClause and
BEenableFields in the backend context as well as enableFields in
frontend context.

Documentation and an example implementation of using the API will
follow in separate patches.

Releases: master
Resolves: #75454
Change-Id: I47837d9e77331132807bbb7fb956c359031b4f16
Reviewed-on: https://review.typo3.org/47111
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Frank Naegler <frank.naegler@typo3.org>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
37 files changed:
composer.json
composer.lock
typo3/sysext/backend/Classes/Backend/ToolbarItems/SystemInformationToolbarItem.php
typo3/sysext/core/Classes/Core/Bootstrap.php
typo3/sysext/core/Classes/Database/Connection.php [new file with mode: 0644]
typo3/sysext/core/Classes/Database/ConnectionPool.php [new file with mode: 0644]
typo3/sysext/core/Classes/Database/DatabaseConnection.php
typo3/sysext/core/Classes/Database/Query/BulkInsertQuery.php [new file with mode: 0644]
typo3/sysext/core/Classes/Database/Query/Expression/CompositeExpression.php [new file with mode: 0644]
typo3/sysext/core/Classes/Database/Query/Expression/ExpressionBuilder.php [new file with mode: 0644]
typo3/sysext/core/Classes/Database/Query/QueryBuilder.php [new file with mode: 0644]
typo3/sysext/core/Classes/Database/Query/QueryContext.php [new file with mode: 0644]
typo3/sysext/core/Classes/Database/Query/QueryContextType.php [new file with mode: 0644]
typo3/sysext/core/Classes/Database/Query/QueryRestrictionBuilder.php [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/master/Breaking-75454-LocalConfigurationDBConfigStructureHasChanged.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/master/Breaking-75454-TYPO3_dbConstantsRemoved.rst [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/master/Feature-75454-DoctrineDBALForDatabaseConnections.rst [new file with mode: 0644]
typo3/sysext/core/Tests/AcceptanceCoreEnvironment.php
typo3/sysext/core/Tests/FunctionalTestCase.php
typo3/sysext/core/Tests/Testbase.php
typo3/sysext/core/Tests/Unit/Database/ConnectionTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/Database/Mocks/MockKeywordList.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/Database/Mocks/MockPlatform.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/Database/Query/BulkInsertTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/Database/Query/Expression/ExpressionBuilderTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/Database/Query/QueryBuilderTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/Database/Query/QueryContextTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/Database/Query/QueryRestrictionBuilderTest.php [new file with mode: 0644]
typo3/sysext/install/Classes/Controller/Action/AbstractAction.php
typo3/sysext/install/Classes/Controller/Action/Step/DatabaseConnect.php
typo3/sysext/install/Classes/Controller/Action/Step/DatabaseSelect.php
typo3/sysext/install/Classes/Controller/Action/Tool/ImportantActions.php
typo3/sysext/install/Classes/Service/ClearCacheService.php
typo3/sysext/install/Classes/Service/SilentConfigurationUpgradeService.php
typo3/sysext/install/Classes/Service/SqlSchemaMigrationService.php
typo3/sysext/install/Classes/SystemEnvironment/DatabaseCheck.php
typo3/sysext/install/Classes/Updates/DatabaseCharsetUpdate.php