Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Fix issues in queries.
Vsevolod Stakhov committed 11 years ago
commit 284badca4075c2b1f2981a975394c4c7607d900b
parent 8a45247
3 files changed +15 -9
modified libpkg/pkgdb.c
@@ -864,6 +864,8 @@ pkgdb_open_repos(struct pkgdb *db, const char *reponame)
					pkg_emit_errno("malloc", "_pkg_repo_list_item");
					return (EPKG_FATAL);
				}
+

+
				r->ops->init(r);
				item->repo = r;
				LL_PREPEND(db->repos, item);
			}
modified libpkg/pkgdb_iterator.c
@@ -190,7 +190,7 @@ pkgdb_load_deps(sqlite3 *sqlite, struct pkg *pkg)
	int64_t		 rowid;
	char		 sql[BUFSIZ];
	const char	*mainsql = ""
-
		"SELECT d.name, d.origin, d.version, p.locked "
+
		"SELECT d.name, d.origin, d.version, 0 "
		"FROM main.deps AS d "
		"LEFT JOIN main.packages AS p ON p.origin = d.origin "
		"AND p.name = d.name "
@@ -213,6 +213,7 @@ pkgdb_load_deps(sqlite3 *sqlite, struct pkg *pkg)
	pkg_get(pkg, PKG_ROWID, &rowid);
	sqlite3_bind_int64(stmt, 1, rowid);

+
	/* XXX: why we used locked here ? */
	while ((ret = sqlite3_step(stmt)) == SQLITE_ROW) {
		pkg_adddep(pkg, sqlite3_column_text(stmt, 0),
			   sqlite3_column_text(stmt, 1),
@@ -238,7 +239,7 @@ pkgdb_load_rdeps(sqlite3 *sqlite, struct pkg *pkg)
	int		 ret;
	const char	*uniqueid;
	const char	*mainsql = ""
-
		"SELECT p.name, p.origin, p.version, p.locked "
+
		"SELECT p.name, p.origin, p.version, 0 "
		"FROM main.packages AS p "
		"INNER JOIN main.deps AS d ON p.id = d.package_id "
		"WHERE d.name = SPLIT_UID('name', ?1) AND "
@@ -261,6 +262,7 @@ pkgdb_load_rdeps(sqlite3 *sqlite, struct pkg *pkg)
	pkg_get(pkg, PKG_UNIQUEID, &uniqueid);
	sqlite3_bind_text(stmt, 1, uniqueid, -1, SQLITE_STATIC);

+
	/* XXX: why we used locked here ? */
	while ((ret = sqlite3_step(stmt)) == SQLITE_ROW) {
		pkg_addrdep(pkg, sqlite3_column_text(stmt, 0),
			    sqlite3_column_text(stmt, 1),
modified libpkg/repo/binary/query.c
@@ -112,7 +112,7 @@ pkg_repo_binary_query(struct pkg_repo *repo, const char *pattern, match_t match)
		"SELECT id, origin, name, name || '~' || origin as uniqueid, version, comment, "
		"prefix, desc, arch, maintainer, www, "
		"licenselogic, flatsize, pkgsize, "
-
		"cksum, manifestdigest, path AS repopath, '%1$s' AS dbname "
+
		"cksum, manifestdigest, path AS repopath, '%s' AS dbname "
		"FROM packages";

	assert(match == MATCH_ALL || (pattern != NULL && pattern[0] != '\0'));
@@ -155,12 +155,13 @@ pkg_repo_binary_shlib_provide(struct pkg_repo *repo, const char *require)
			"p.name || '~' || p.origin as uniqueid, "
			"p.prefix, p.desc, p.arch, p.maintainer, p.www, "
			"p.licenselogic, p.flatsize, p.pkgsize, "
-
			"p.cksum, p.manifestdigest, p.path AS repopath, '%1$s' AS dbname "
-
			"FROM '%1$s'.packages AS p INNER JOIN '%1$s'.pkg_shlibs_provided AS ps ON "
+
			"p.cksum, p.manifestdigest, p.path AS repopath, '%s' AS dbname "
+
			"FROM packages AS p INNER JOIN pkg_shlibs_provided AS ps ON "
			"p.id = ps.package_id "
-
			"WHERE ps.shlib_id IN (SELECT id FROM '%1$s'.shlibs WHERE "
+
			"WHERE ps.shlib_id IN (SELECT id FROM shlibs WHERE "
			"name BETWEEN ?1 AND ?1 || '.9');";

+
	sql = sbuf_new_auto();
	sbuf_printf(sql, basesql, repo->name);

	sbuf_finish(sql);
@@ -192,11 +193,12 @@ pkg_repo_binary_shlib_require(struct pkg_repo *repo, const char *provide)
			"p.name || '~' || p.origin as uniqueid, "
			"p.prefix, p.desc, p.arch, p.maintainer, p.www, "
			"p.licenselogic, p.flatsize, p.pkgsize, "
-
			"p.cksum, p.manifestdigest, p.path AS repopath, '%1$s' AS dbname "
-
			"FROM '%1$s'.packages AS p INNER JOIN '%1$s'.pkg_shlibs_required AS ps ON "
+
			"p.cksum, p.manifestdigest, p.path AS repopath, '%s' AS dbname "
+
			"FROM packages AS p INNER JOIN pkg_shlibs_required AS ps ON "
			"p.id = ps.package_id "
-
			"WHERE ps.shlib_id = (SELECT id FROM '%1$s'.shlibs WHERE name=?1);";
+
			"WHERE ps.shlib_id = (SELECT id FROM shlibs WHERE name=?1);";

+
	sql = sbuf_new_auto();
	sbuf_printf(sql, basesql, repo->name);

	sbuf_finish(sql);