Using unique indexes on varchar fields with a character count of more than 255 on InnoDB tables with utf8 encoding produces an error in MySQL. Also as per https://www.rfc-editor.org/errata_search.php?eid=1690 it seems that the maximum length for email addresses is limited to 254 characters. Fixes FS#47038 Signed-off-by: Stefan Auditor <stefan.auditor@erdfisch.de> --- schema/aur-schema.sql | 2 +- upgrading/4.2.0.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/schema/aur-schema.sql b/schema/aur-schema.sql index 98e8be0..315a75c 100644 --- a/schema/aur-schema.sql +++ b/schema/aur-schema.sql @@ -25,7 +25,7 @@ CREATE TABLE Users ( AccountTypeID TINYINT UNSIGNED NOT NULL DEFAULT 1, Suspended TINYINT UNSIGNED NOT NULL DEFAULT 0, Username VARCHAR(32) NOT NULL, - Email VARCHAR(256) NOT NULL, + Email VARCHAR(254) NOT NULL, HideEmail TINYINT UNSIGNED NOT NULL DEFAULT 0, Passwd CHAR(32) NOT NULL, Salt CHAR(32) NOT NULL DEFAULT '', diff --git a/upgrading/4.2.0.txt b/upgrading/4.2.0.txt index c195f41..1f92ec5 100644 --- a/upgrading/4.2.0.txt +++ b/upgrading/4.2.0.txt @@ -13,5 +13,5 @@ CREATE UNIQUE INDEX ProviderNameProvides ON OfficialProviders (Name, Provides); 2. Resize the email address field: ---- -ALTER TABLE Users MODIFY Email VARCHAR(256) NOT NULL; +ALTER TABLE Users MODIFY Email VARCHAR(254) NOT NULL; ---- -- 2.6.2