Skip to content
Snippets Groups Projects
Commit 2b8123d0 authored by Benni Mack's avatar Benni Mack
Browse files

[BUGFIX] Speed up FormEngine with selective workspaceOL() calls

BackendUtility::getPossibleWorkspaceVersionIdsOfLiveRecordIds()
is added to check for workspace versions within FormEngine
foreign_field logic to first fetch a list of all records
that have a versioned record within the workspace, and only
apply BackendUtility::workspaceOL() for these cases.

Without the patch, each live record triggers a database
query to resolve a possible workspace overlay. With the
patch, one query is done to see which records have
workspace overlays, only those are queried for overlays.
This reduces the number of performed queries a lot, since
typically only a small number of records are overlaid.

This only affects editing records in a workspace.

Resolves: #99007
Releases: main, 11.5
Change-Id: Ia7c47e5de0082ca0ff2c68b30d9ff1bc5312981b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/76446


Tested-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: default avatarChristian Kuhn <lolli@schwarzbu.ch>
Tested-by: default avatarcore-ci <typo3@b13.com>
Reviewed-by: default avatarAndreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: default avatarStefan Bürk <stefan@buerk.tech>
Reviewed-by: default avatarStefan Bürk <stefan@buerk.tech>
Tested-by: default avatarBenni Mack <benni@typo3.org>
Reviewed-by: default avatarBenni Mack <benni@typo3.org>
parent 0b95aa43
Branches
Tags
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment