Radish alpha
H
HardenedBSD Package Manager
Radicle
Git (anonymous pull)
Log in to clone via SSH
Apply my patch to the upgrade query too.
Julien Laffaye committed 14 years ago
commit 81d027e637c39a1ae585d5a8c82bd83a46a7eb12
parent d1e7bf9eca815789efb02af4ec31d6e508e8fb46
1 file changed +7 -2
modified libpkg/pkgdb.c
@@ -2527,7 +2527,12 @@ pkgdb_query_upgrades(struct pkgdb *db, const char *repo, bool all)
			"FROM main.packages AS l, pkgjobs AS r WHERE l.origin = r.origin";
	}

-
	const char weight_sql[] = "UPDATE pkgjobs set weight=(select count(*) from '%s'.deps as d where d.origin=pkgjobs.origin)";
+
	const char weight_sql[] = "UPDATE pkgjobs SET weight=("
+
		"SELECT COUNT(*) FROM '%s'.deps AS d, '%s'.packages AS p, pkgjobs AS j "
+
			"WHERE d.origin = pkgjobs.origin "
+
				"AND d.package_id = p.id "
+
				"AND p.origin = j.origin"
+
		");";

	if ((reponame = pkgdb_get_reponame(db, repo)) == NULL)
		return (NULL);
@@ -2555,7 +2560,7 @@ pkgdb_query_upgrades(struct pkgdb *db, const char *repo, bool all)
	sql_exec(db->sqlite, pkgjobs_sql_3);

	sbuf_reset(sql);
-
	sbuf_printf(sql, weight_sql, reponame);
+
	sbuf_printf(sql, weight_sql, reponame, reponame);
	sbuf_finish(sql);

	sql_exec(db->sqlite, sbuf_get(sql));