[TASK] Handle some sqlite details 09/57209/7
authorChristian Kuhn <lolli@schwarzbu.ch>
Wed, 13 Jun 2018 11:47:48 +0000 (13:47 +0200)
committerBenni Mack <benni@typo3.org>
Wed, 13 Jun 2018 16:15:21 +0000 (18:15 +0200)
commite2d1c07a99017151421d22885e53be65bd6a920c
tree6a8b601030358b6a83ff4e76954c083fb292c8e9
parent414fabba2a21c256edd3deedc34b75eaa799c6f9
[TASK] Handle some sqlite details

* Similar to postgresql, sqlite index names must be unique
  within the entire database. The patch adds a hash of the
  table name in front of indexes to make them unique.

* SELECT'ing rows from a table and UPDATE'ing them while the
  select query is still running is not safe in sqlite, single
  rows may appear over and over again in the select() result
  set. The patch switches a query combination to a fetchAll()
  on sqlite platform to prevent this.

Change-Id: Ib35ab4f46bbce7867ff9e4624e545b505c4f5e57
Resolves: #85253
Releases: master
Reviewed-on: https://review.typo3.org/57209
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
typo3/sysext/core/Classes/DataHandling/DataHandler.php
typo3/sysext/core/Classes/Database/Schema/ConnectionMigrator.php
typo3/sysext/core/Tests/Functional/Database/Schema/SchemaMigratorTest.php