Bug #89169

Redirects indey key too long after source path increase

Added by Mathias Brodala over 2 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2019-09-13
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
9
PHP Version:
7.3
Tags:
Complexity:
Is Regression:
Yes
Sprint Focus:

Description

Due to #88336 redirect URLs can now be longer. However, this also affects the index_source index which includes source_host and source_path which now easily extends regular index limits:

$ typo3cms d:u -vvv
No schema updates were performed for update types:
"field.add", "field.change", "table.add", "table.change" 

The following errors occurred:
+---------------+-------------------------------------------------+-----------------------------+
| Type          | SQL Statement                                   | Message                     |
+---------------+-------------------------------------------------+-----------------------------+
| Change fields | ALTER TABLE `sys_redirect` CHANGE `source_path` | Specified key was too long; |
|               | `source_path` VARCHAR(2048) DEFAULT '' NOT NULL | max key length is 3072      |
|               |                                                 | bytes                       |
|               |                                                 |                             |
+---------------+-------------------------------------------------+-----------------------------+

The collation is utf_general_ci for the mentioned fields and table.

After manually dropping the index_source index the change can be applied however:

$ typo3cms d:u -vvv
The following database schema updates were performed:
+---------------+-------------------------------------------------+
| Type          | SQL Statements                                  |
+---------------+-------------------------------------------------+
| Add fields    | CREATE INDEX `index_source` ON `sys_redirect`   |
|               | (source_host(80), source_path(80))              |
| Change fields | ALTER TABLE `sys_redirect` CHANGE `source_path` |
|               | `source_path` VARCHAR(2048) DEFAULT '' NOT NULL |
+---------------+-------------------------------------------------+

Related issues

Related to TYPO3 Core - Bug #88336: redirects: longer URL strings are stripped in source_pathClosed2019-05-12

Actions
Related to TYPO3 Core - Bug #82080: Indexes too large for some tables with utf8mb4Closed2017-08-11

Actions
Has duplicate TYPO3 Core - Bug #89063: Index too large for sys_redirectClosed2019-09-02

Actions

Also available in: Atom PDF