[aur-dev] [PATCH] MySQL unique index on Email column too long

Stefan Auditor stefan.auditor at erdfisch.de
Thu Nov 12 08:34:23 UTC 2015


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 at 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


More information about the aur-dev mailing list