Quote MySql 8.0 reserved keywords

Signed-off-by: Florian Pritz <bluewind@xinu.at>
Signed-off-by: Eli Schwartz <eschwartz@archlinux.org>
This commit is contained in:
Florian Pritz 2019-01-14 20:44:12 +01:00 committed by Eli Schwartz
parent f1d109e9b6
commit 042f3f2622
No known key found for this signature in database
GPG key ID: CEB167EFB5722BD6
6 changed files with 11 additions and 11 deletions

View file

@ -180,13 +180,13 @@ def save_metadata(metadata, conn, user):
# Add package groups. # Add package groups.
if 'groups' in pkginfo: if 'groups' in pkginfo:
for group in pkginfo['groups']: for group in pkginfo['groups']:
cur = conn.execute("SELECT ID FROM Groups WHERE Name = ?", cur = conn.execute("SELECT ID FROM `Groups` WHERE Name = ?",
[group]) [group])
row = cur.fetchone() row = cur.fetchone()
if row: if row:
groupid = row[0] groupid = row[0]
else: else:
cur = conn.execute("INSERT INTO Groups (Name) VALUES (?)", cur = conn.execute("INSERT INTO `Groups` (Name) VALUES (?)",
[group]) [group])
conn.commit() conn.commit()
groupid = cur.lastrowid groupid = cur.lastrowid

View file

@ -149,7 +149,7 @@ CREATE TABLE PackageLicenses (
-- Information about groups -- Information about groups
-- --
CREATE TABLE Groups ( CREATE TABLE `Groups` (
ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Name VARCHAR(255) NOT NULL, Name VARCHAR(255) NOT NULL,
PRIMARY KEY (ID), PRIMARY KEY (ID),
@ -164,7 +164,7 @@ CREATE TABLE PackageGroups (
GroupID INTEGER UNSIGNED NOT NULL, GroupID INTEGER UNSIGNED NOT NULL,
PRIMARY KEY (PackageID, GroupID), PRIMARY KEY (PackageID, GroupID),
FOREIGN KEY (PackageID) REFERENCES Packages(ID) ON DELETE CASCADE, FOREIGN KEY (PackageID) REFERENCES Packages(ID) ON DELETE CASCADE,
FOREIGN KEY (GroupID) REFERENCES Groups(ID) ON DELETE CASCADE FOREIGN KEY (GroupID) REFERENCES `Groups`(ID) ON DELETE CASCADE
) ENGINE = InnoDB; ) ENGINE = InnoDB;

View file

@ -200,7 +200,7 @@ CREATE TABLE PackageRelations (
17. Create tables to store package groups: 17. Create tables to store package groups:
---- ----
CREATE TABLE Groups ( CREATE TABLE `Groups` (
ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Name VARCHAR(64) NOT NULL, Name VARCHAR(64) NOT NULL,
PRIMARY KEY (ID), PRIMARY KEY (ID),
@ -211,7 +211,7 @@ CREATE TABLE PackageGroups (
GroupID INTEGER UNSIGNED NOT NULL, GroupID INTEGER UNSIGNED NOT NULL,
PRIMARY KEY (PackageID, GroupID), PRIMARY KEY (PackageID, GroupID),
FOREIGN KEY (PackageID) REFERENCES Packages(ID) ON DELETE CASCADE, FOREIGN KEY (PackageID) REFERENCES Packages(ID) ON DELETE CASCADE,
FOREIGN KEY (GroupID) REFERENCES Groups(ID) ON DELETE CASCADE FOREIGN KEY (GroupID) REFERENCES `Groups`(ID) ON DELETE CASCADE
) ENGINE = InnoDB; ) ENGINE = InnoDB;
---- ----

View file

@ -7,7 +7,7 @@ ALTER TABLE Packages
MODIFY Name VARCHAR(255) NOT NULL, MODIFY Name VARCHAR(255) NOT NULL,
MODIFY Version VARCHAR(255) NOT NULL DEFAULT ''; MODIFY Version VARCHAR(255) NOT NULL DEFAULT '';
ALTER TABLE Licenses MODIFY Name VARCHAR(255) NOT NULL; ALTER TABLE Licenses MODIFY Name VARCHAR(255) NOT NULL;
ALTER TABLE Groups MODIFY Name VARCHAR(255) NOT NULL; ALTER TABLE `Groups` MODIFY Name VARCHAR(255) NOT NULL;
ALTER TABLE PackageDepends MODIFY DepCondition VARCHAR(255); ALTER TABLE PackageDepends MODIFY DepCondition VARCHAR(255);
ALTER TABLE PackageRelations MODIFY RelCondition VARCHAR(255); ALTER TABLE PackageRelations MODIFY RelCondition VARCHAR(255);
---- ----

View file

@ -284,10 +284,10 @@ class AurJSON {
"LEFT JOIN RelationTypes " . "LEFT JOIN RelationTypes " .
"ON RelationTypes.ID = PackageRelations.RelTypeID " . "ON RelationTypes.ID = PackageRelations.RelTypeID " .
"WHERE PackageRelations.PackageID = " . $pkgid . " " . "WHERE PackageRelations.PackageID = " . $pkgid . " " .
"UNION SELECT 'groups' AS Type, Groups.Name, '' AS Cond " . "UNION SELECT 'groups' AS Type, `Groups`.`Name`, '' AS Cond " .
"FROM Groups INNER JOIN PackageGroups " . "FROM `Groups` INNER JOIN PackageGroups " .
"ON PackageGroups.PackageID = " . $pkgid . " " . "ON PackageGroups.PackageID = " . $pkgid . " " .
"AND PackageGroups.GroupID = Groups.ID " . "AND PackageGroups.GroupID = `Groups`.ID " .
"UNION SELECT 'license' AS Type, Licenses.Name, '' AS Cond " . "UNION SELECT 'license' AS Type, Licenses.Name, '' AS Cond " .
"FROM Licenses INNER JOIN PackageLicenses " . "FROM Licenses INNER JOIN PackageLicenses " .
"ON PackageLicenses.PackageID = " . $pkgid . " " . "ON PackageLicenses.PackageID = " . $pkgid . " " .

View file

@ -188,7 +188,7 @@ function pkg_groups($pkgid) {
$pkgid = intval($pkgid); $pkgid = intval($pkgid);
if ($pkgid > 0) { if ($pkgid > 0) {
$dbh = DB::connect(); $dbh = DB::connect();
$q = "SELECT g.Name FROM Groups g "; $q = "SELECT g.Name FROM `Groups` g ";
$q.= "INNER JOIN PackageGroups pg ON pg.GroupID = g.ID "; $q.= "INNER JOIN PackageGroups pg ON pg.GroupID = g.ID ";
$q.= "WHERE pg.PackageID = ". $pkgid; $q.= "WHERE pg.PackageID = ". $pkgid;
$result = $dbh->query($q); $result = $dbh->query($q);