Make URL columns 8000 characters wide

According to RFC 7230, URLs can be up too 8000 characters long. Resize
all URL fields accordingly.

Also, add a test to verify that URLs with more than 8000 characters are
rejected by the update hook.

Reported-by: Andreas Linz <klingt.net@gmail.com>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
This commit is contained in:
Lukas Fleischer 2016-10-11 08:09:21 +02:00
parent 0dce4c4bca
commit 1492444ecb
4 changed files with 33 additions and 4 deletions

View file

@ -119,7 +119,7 @@ CREATE TABLE Packages (
Name VARCHAR(255) NOT NULL,
Version VARCHAR(255) NOT NULL DEFAULT '',
Description VARCHAR(255) NULL DEFAULT NULL,
URL VARCHAR(255) NULL DEFAULT NULL,
URL VARCHAR(8000) NULL DEFAULT NULL,
PRIMARY KEY (ID),
UNIQUE (Name),
FOREIGN KEY (PackageBaseID) REFERENCES PackageBases(ID) ON DELETE CASCADE
@ -227,7 +227,7 @@ CREATE INDEX RelationsRelName ON PackageRelations (RelName);
--
CREATE TABLE PackageSources (
PackageID INTEGER UNSIGNED NOT NULL,
Source VARCHAR(255) NOT NULL DEFAULT "/dev/null",
Source VARCHAR(8000) NOT NULL DEFAULT "/dev/null",
SourceArch VARCHAR(255) NULL DEFAULT NULL,
FOREIGN KEY (PackageID) REFERENCES Packages(ID) ON DELETE CASCADE
) ENGINE = InnoDB;