Store dependency descriptions in a separate column

Split optional dependency descriptions from dependency names before
storing them in the database and use a separate column to store the
descriptions.

This allows us to simplify and optimize the SQL queries in
pkg_dependencies() as well as pkg_required().

Suggested-by: Florian Pritz <bluewind@xinu.at>
Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
This commit is contained in:
Lukas Fleischer 2017-04-19 08:53:30 +02:00
parent 15501972bc
commit 44858e0618
5 changed files with 28 additions and 35 deletions

11
upgrading/4.6.0.txt Normal file
View file

@ -0,0 +1,11 @@
1. Add DepDesc column to PackageDepends and split dependency names:
---
ALTER TABLE PackageDepends ADD COLUMN DepDesc VARCHAR(255) NULL DEFAULT NULL;
UPDATE PackageDepends
SET DepDesc = SUBSTRING(DepName FROM POSITION(': ' IN DepName) + 2)
WHERE POSITION(': ' IN DepName) > 0;
UPDATE PackageDepends
SET DepName = SUBSTRING(DepName FROM 1 FOR POSITION(': ' IN DepName) - 1)
WHERE POSITION(': ' IN DepName) > 0;
---