Breaking: #93080 - RelationHandler internals protected

See forge#93080

Description

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

  • $firstTable - internal

  • $secondTable - internal

  • $MM_is_foreign - internal

  • $MM_oppositeField - internal

  • $MM_oppositeTable - internal

  • $MM_oppositeFieldConf - internal

  • $MM_isMultiTableRelationship - internal

  • $currentTable - internal

  • $MM_match_fields - internal

  • $MM_hasUidField - internal

  • $MM_insert_fields - internal

  • $MM_table_where - internal

  • getWorkspaceId() - internal

  • setUpdateReferenceIndex() - still public but deprecated, logs deprecation on use.

  • readList() - use class state after calling start()

  • sortList() - use class state after calling start()

  • readMM() - use class state after calling start()

  • readForeignField() - use class state after calling start()

  • updateRefIndex() - internal

  • isOnSymmetricSide() - internal

Impact

Calling above properties or methods will raise a PHP fatal error.

Affected Installations

It is quite unlikely many extensions are affected by this API change. The extension scanner finds affected extensions as weak matches.

Migration

Above properties and methods are considered internal, there shouldn't be any need to call them. Instances with extensions using those should be refactored to for instance call start() instead of an additional call to readList().