[Midnightbsd-cvs] src [12206] trunk/lib/libmport/index_depends.c: use count function
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Mon May 27 10:30:49 EDT 2019
Revision: 12206
http://svnweb.midnightbsd.org/src/?rev=12206
Author: laffer1
Date: 2019-05-27 10:30:48 -0400 (Mon, 27 May 2019)
Log Message:
-----------
use count function
Modified Paths:
--------------
trunk/lib/libmport/index_depends.c
Modified: trunk/lib/libmport/index_depends.c
===================================================================
--- trunk/lib/libmport/index_depends.c 2019-05-27 14:30:30 UTC (rev 12205)
+++ trunk/lib/libmport/index_depends.c 2019-05-27 14:30:48 UTC (rev 12206)
@@ -55,36 +55,17 @@
MPORT_CHECK_FOR_INDEX(mport, "mport_index_depends_list()")
- if (mport_db_prepare(mport->db, &stmt,
- "with RECURSIVE under_dep (parent, parent_ver, pkg, version, level) as ( values('?', '?', %Q, %Q, 0) union all select depends.pkg as parent, depends.version as parent_ver, depends.d_pkg as pkg, depends.d_version as version, under_dep.level + 1 from depends JOIN under_dep on depends.pkg = under_dep.pkg) select count(*) FROM under_dep where level > 0;",
- pkgname, version) != MPORT_OK) {
- sqlite3_finalize(stmt);
+ if (mport_db_count(mport->db, &count,
+ "with RECURSIVE under_dep (parent, parent_ver, pkg, version, level) as ( values('?', '?', %Q, %Q, 0) union all select depends.pkg as parent, depends.version as parent_ver, depends.d_pkg as pkg, depends.d_version as version, under_dep.level + 1 from depends JOIN under_dep on depends.pkg = under_dep.pkg) select count(*) FROM under_dep where level > 0;",
+ pkgname, version) != MPORT_OK)
RETURN_CURRENT_ERROR;
- }
- switch (sqlite3_step(stmt)) {
- case SQLITE_ROW:
- count = sqlite3_column_int(stmt, 0);
- break;
- case SQLITE_DONE:
- ret = SET_ERROR(MPORT_ERR_FATAL,
- "No rows returned from a 'SELECT COUNT(*)' query.");
- goto DONE;
- break;
- default:
- ret = SET_ERROR(MPORT_ERR_FATAL, sqlite3_errmsg(mport->db));
- goto DONE;
- break;
- }
+ if (count == 0)
+ return MPORT_OK;
- sqlite3_finalize(stmt);
-
e = (mportDependsEntry **)calloc(count + 1, sizeof(mportDependsEntry *));
*entry_vec = e;
- if (count == 0)
- return MPORT_OK;
-
if (mport_db_prepare(mport->db, &stmt,
"with RECURSIVE under_dep (parent, parent_ver, pkg, version, level) as ( values('?', '?', %Q, %Q, 0) union all select depends.pkg as parent, depends.version as parent_ver, depends.d_pkg as pkg, depends.d_version as version, under_dep.level + 1 from depends JOIN under_dep on depends.pkg = under_dep.pkg) select parent, parent_ver, pkg, version, level FROM under_dep where level > 0;"
, pkgname, version) != MPORT_OK) {
More information about the Midnightbsd-cvs
mailing list