diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2016-04-24 23:11:40 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2016-04-25 21:37:39 +0100 |
commit | 7a716efb2d7ea59c7f840df85eedd2eabaf47be8 (patch) | |
tree | a27d08078565502c1966791e7acc26dd20a91adf | |
parent | Don't bypass prepared statement logic (diff) | |
download | gentoobrowse-api-7a716efb2d7ea59c7f840df85eedd2eabaf47be8.tar.bz2 gentoobrowse-api-7a716efb2d7ea59c7f840df85eedd2eabaf47be8.tar.xz gentoobrowse-api-7a716efb2d7ea59c7f840df85eedd2eabaf47be8.zip |
Include flag indicating if ebuild is highest version of package
3 files changed, 14 insertions, 6 deletions
diff --git a/gentoobrowse-api/service/maintenance/ebuildMetaProcessor.cpp b/gentoobrowse-api/service/maintenance/ebuildMetaProcessor.cpp index 52c196b..3a6e409 100644 --- a/gentoobrowse-api/service/maintenance/ebuildMetaProcessor.cpp +++ b/gentoobrowse-api/service/maintenance/ebuildMetaProcessor.cpp @@ -119,8 +119,8 @@ namespace Gentoo { m->bindParamS(5, repoName); m->bindParamS(6, categoryName); m->bindParamS(7, packageName); - m->forEachRow<int64_t>([this,dbc,&ecp,&fn] (auto ebuildId) { - fprintf(stderr, "Created ebuild %ld for %s\n", ebuildId, fn.c_str()); + m->forEachRow<int64_t, bool>([this,dbc,&ecp,&fn] (auto ebuildId, auto newest) { + fprintf(stderr, "Created ebuild %ld for %s (%s)\n", ebuildId, fn.c_str(), newest ? "yes" : "no"); this->perEbuildUpdates(dbc, ecp, ebuildId); }); } @@ -141,8 +141,8 @@ namespace Gentoo { m->bindParamS(4, (fn / 3).string()); // category m->bindParamS(5, matches.fetch(1)); // package m->bindParamS(6, matches.fetch(2)); // version - m->forEachRow<int64_t>([this,dbc,&ecp,&fn] (auto ebuildId) { - fprintf(stderr, "Updated ebuild %ld for %s\n", ebuildId, fn.c_str()); + m->forEachRow<int64_t, bool>([this,dbc,&ecp,&fn] (auto ebuildId, auto newest) { + fprintf(stderr, "Updated ebuild %ld for %s (%s)\n", ebuildId, fn.c_str(), newest ? "yes" : "no"); this->perEbuildUpdates(dbc, ecp, ebuildId); }); } diff --git a/gentoobrowse-api/service/sql/maintenance/ebuildInsert.sql b/gentoobrowse-api/service/sql/maintenance/ebuildInsert.sql index 110b7c8..691efd9 100644 --- a/gentoobrowse-api/service/sql/maintenance/ebuildInsert.sql +++ b/gentoobrowse-api/service/sql/maintenance/ebuildInsert.sql @@ -6,4 +6,8 @@ WHERE c.categoryid = p.categoryid AND r.name = ? AND c.name = ? AND p.name = ? -RETURNING ebuildid +RETURNING ebuildid, NOT EXISTS ( + SELECT FROM gentoobrowse.ebuilds ve + WHERE ve.packageid = gentoobrowse.ebuilds.packageid + AND ve.versioninst > gentoobrowse.ebuilds.versioninst + ) diff --git a/gentoobrowse-api/service/sql/maintenance/ebuildUpdate.sql b/gentoobrowse-api/service/sql/maintenance/ebuildUpdate.sql index fc83417..891344c 100644 --- a/gentoobrowse-api/service/sql/maintenance/ebuildUpdate.sql +++ b/gentoobrowse-api/service/sql/maintenance/ebuildUpdate.sql @@ -10,4 +10,8 @@ AND r.name = ? AND c.name = ? AND p.name = ? AND e.version = ? -RETURNING ebuildid +RETURNING ebuildid, NOT EXISTS ( + SELECT FROM gentoobrowse.ebuilds ve + WHERE ve.packageid = e.packageid + AND ve.versioninst > e.versioninst + ) |