Bug #100894
closedAvoid reaching placeholder limit for statement (loosely related to #99326) in DatabaseIntegrityCheck.php
100%
Description
\TYPO3\CMS\Lowlevel\Integrity\DatabaseIntegrityCheck.php produces an error in function "testDBRefs", if too many records reside in the same table, as the count of parameters for the statement exceeds the limit of the DB.
Loosely related / same issue as #99326, just from different triggering situation.
best regards
Updated by Oliver Kleinecke over 1 year ago
- Related to Bug #99326: DataHandler - Process too many records added
Updated by Krzysztof Gutkowski over 1 year ago
- TYPO3 Version changed from 11 to 13
Can reproduce on v11.5.28, v12.4.2, and main
.
Steps to reproduce:
1. Insert a large amount of rows (one that exceeds the prepared statement placeholder limit) into a table that has a select TCA field,
with that field set to an ID that does not exist on the foreign_table
. Provided is an example SQL script that inserts 65535 records
into the pages
table (adjust the 65535 value according to your database engine):
DROP PROCEDURE IF EXISTS insertdata;
DELIMITER //
CREATE PROCEDURE insertdata()
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i <= 65535 DO
INSERT INTO pages (l10n_parent) VALUES (i + 10000);
SET i = i + 1;
END WHILE;
END;
//
CALL insertdata();
2. Open the Database Relations view in the DB Check module.
Updated by Gerrit Code Review over 1 year ago
- Status changed from New to Under Review
Patch set 1 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/79440
Updated by Gerrit Code Review over 1 year ago
Patch set 1 for branch 12.4 of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/79416
Updated by Krzysztof Gutkowski over 1 year ago
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
Applied in changeset 91fa2902509a2293136c032c22d4c531ae29c98e.