Skip to content

Latest commit

 

History

History
72 lines (51 loc) · 2.08 KB

Breaking-93029-DroppedDeletedFieldFromSys_refindex.rst

File metadata and controls

72 lines (51 loc) · 2.08 KB

Breaking: #93029 - Dropped deleted field from sys_refindex

See 93029

Description

The database field deleted has been removed from table sys_refindex. Therefore, the table does no longer store relations between soft deleted records.

Following properties and methods of class TYPO3\CMS\Core\Database\ReferenceIndex have been set to protected:

  • temp_flexRelations
  • relations - not scanned by extension scanner
  • hashVersion
  • getWorkspaceId() - not scanned by extension scanner
  • getRelations_procDB()
  • setReferenceValue_dbRels()
  • setReferenceValue_softreferences()
  • isReferenceField() - not scanned by extension scanner

Following methods of class TYPO3\CMS\Core\Database\ReferenceIndex have been removed:

  • generateRefIndexData()
  • createEntryData()
  • createEntryData_dbRels()
  • createEntryData_softreferences()

Impact

Accessing the properties of class ReferenceIndex or calling dropped or protected methods will raise fatal PHP errors. Querying the deleted field of table sys_refindex will raise a doctrine dbal exception.

Affected Installations

The hash sums of existing table rows change. The reference index should be updated, typically by using the CLI command bin/typo3 referenceindex:update

Codewise, instances with extensions that query table sys_refindex or use class ReferenceIndex may be affected. The extension scanner helps to find some usages.

Migration

Use the CLI command bin/typo3 referenceindex:update to update the reference index.

The sys_refindex.deleted field should be dropped from database queries.

When accessing class ReferenceIndex, use the main API method ->updateRefIndexTable(), plus a couple of other less often used methods.

Database, PHP-API, PartiallyScanned, ext:core