diff options
| -rw-r--r-- | gentoobrowse-api/api/portage.ice | 6 | ||||
| -rw-r--r-- | gentoobrowse-api/db/schema.sql | 2 | ||||
| -rw-r--r-- | gentoobrowse-api/service/portageimpl.cpp | 12 | ||||
| -rw-r--r-- | gentoobrowse-api/service/portageimpl.h | 6 | ||||
| -rw-r--r-- | gentoobrowse-api/service/sql/portage/getCategoriesWithRecentAdditions.sql | 12 | ||||
| -rw-r--r-- | gentoobrowse-api/service/sql/portage/getPackagesWithRecentAdditions.sql | 12 | ||||
| -rw-r--r-- | gentoobrowse-api/service/sql/portage/getRecentAdditions.sql | 10 | 
7 files changed, 31 insertions, 29 deletions
| diff --git a/gentoobrowse-api/api/portage.ice b/gentoobrowse-api/api/portage.ice index 87acd45..c63b0d9 100644 --- a/gentoobrowse-api/api/portage.ice +++ b/gentoobrowse-api/api/portage.ice @@ -19,9 +19,9 @@ module Gentoo {  		idempotent Ebuilds getPackageVersions(int id);  		idempotent EbuildDetails getPackageVersionDetails(int id);  		idempotent ChangeLog getPackageChangeLog(int id); -		idempotent Ebuilds getRecentAdditions(int syncs); -		idempotent Packages getPackagesWithRecentAdditions(int syncs); -		idempotent Categories getCategoriesWithRecentAdditions(int syncs); +		idempotent Ebuilds getRecentAdditions(int syncDays); +		idempotent Packages getPackagesWithRecentAdditions(int syncDays); +		idempotent Categories getCategoriesWithRecentAdditions(int syncDays);  		idempotent Packages getTopTrackedPackages(int n);  		idempotent PackageDependencyPackages getPackageDependencies(int id);  		idempotent PackageDependencyPackages getPackageRuntimeDependencies(int id); diff --git a/gentoobrowse-api/db/schema.sql b/gentoobrowse-api/db/schema.sql index d79a3dd..acf0635 100644 --- a/gentoobrowse-api/db/schema.sql +++ b/gentoobrowse-api/db/schema.sql @@ -751,6 +751,8 @@ CREATE INDEX idx_ebuilddeps_package ON ebuild_deps USING btree (packageid);  CREATE INDEX idx_ebuildrdeps_package ON ebuild_rdeps USING btree (packageid);  -- Name: idx_ebuilds_firstseen; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:   CREATE INDEX idx_ebuilds_firstseen ON ebuilds USING btree (firstseen); +-- Name: idx_ebuilds_firstseen_date; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:  +CREATE INDEX idx_ebuilds_firstseen_date ON ebuilds USING btree (date_trunc('day'::text, firstseen) DESC);  -- Name: idx_ebuilduses_use; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:   CREATE INDEX idx_ebuilduses_use ON ebuild_uses USING btree (use);  -- Name: idx_news_fts; Type: INDEX; Schema: gentoobrowse; Owner: gentoo; Tablespace:  diff --git a/gentoobrowse-api/service/portageimpl.cpp b/gentoobrowse-api/service/portageimpl.cpp index b05dab7..d74de73 100644 --- a/gentoobrowse-api/service/portageimpl.cpp +++ b/gentoobrowse-api/service/portageimpl.cpp @@ -139,15 +139,15 @@ Portage::getPackageChangeLog(Ice::Int id, const Ice::Current &)  }  Gentoo::Ebuilds -Portage::getRecentAdditions(Ice::Int syncs, const Ice::Current &) +Portage::getRecentAdditions(Ice::Int syncDays, const Ice::Current &)  { -	return fetchCache<Gentoo::Ebuilds>(sql::portage::getRecentAdditions, 30, syncs); +	return fetchCache<Gentoo::Ebuilds>(sql::portage::getRecentAdditions, 30, syncDays);  }  Gentoo::Packages -Portage::getPackagesWithRecentAdditions(Ice::Int syncs, const Ice::Current &) +Portage::getPackagesWithRecentAdditions(Ice::Int syncDays, const Ice::Current &)  { -	return fetchCache<Gentoo::Packages>(sql::portage::getPackagesWithRecentAdditions, 30, syncs); +	return fetchCache<Gentoo::Packages>(sql::portage::getPackagesWithRecentAdditions, 30, syncDays);  }  Gentoo::Packages @@ -175,9 +175,9 @@ Portage::getPackageUrls(Ice::Int id, const Ice::Current &)  }  Gentoo::Categories -Portage::getCategoriesWithRecentAdditions(Ice::Int syncs, const Ice::Current &) +Portage::getCategoriesWithRecentAdditions(Ice::Int syncDays, const Ice::Current &)  { -	return fetchCache<Gentoo::Categories>(sql::portage::getCategoriesWithRecentAdditions, 30, syncs); +	return fetchCache<Gentoo::Categories>(sql::portage::getCategoriesWithRecentAdditions, 30, syncDays);  }  Gentoo::PackageDependencyPackages diff --git a/gentoobrowse-api/service/portageimpl.h b/gentoobrowse-api/service/portageimpl.h index 36e4e5a..4d60b19 100644 --- a/gentoobrowse-api/service/portageimpl.h +++ b/gentoobrowse-api/service/portageimpl.h @@ -26,9 +26,9 @@ class DLL_PUBLIC Portage : public Gentoo::Portage, IceTray::AbstractCachingDatab  		Gentoo::Ebuilds getPackageVersions(Ice::Int id, const Ice::Current &) override;  		Gentoo::EbuildDetails getPackageVersionDetails(Ice::Int id, const Ice::Current &) override;  		Gentoo::ChangeLog getPackageChangeLog(Ice::Int id, const Ice::Current &) override; -		Gentoo::Ebuilds getRecentAdditions(Ice::Int syncs, const Ice::Current &) override; -		Gentoo::Packages getPackagesWithRecentAdditions(Ice::Int syncs, const Ice::Current &) override; -		Gentoo::Categories getCategoriesWithRecentAdditions(Ice::Int syncs, const Ice::Current &) override; +		Gentoo::Ebuilds getRecentAdditions(Ice::Int syncDays, const Ice::Current &) override; +		Gentoo::Packages getPackagesWithRecentAdditions(Ice::Int syncDays, const Ice::Current &) override; +		Gentoo::Categories getCategoriesWithRecentAdditions(Ice::Int syncDays, const Ice::Current &) override;  		Gentoo::Packages getTopTrackedPackages(Ice::Int n, const Ice::Current &) override;  		Gentoo::PackageDependencyPackages getPackageDependencies(Ice::Int id, const Ice::Current &) override;  		Gentoo::PackageDependencyPackages getPackageRuntimeDependencies(Ice::Int id, const Ice::Current &) override; diff --git a/gentoobrowse-api/service/sql/portage/getCategoriesWithRecentAdditions.sql b/gentoobrowse-api/service/sql/portage/getCategoriesWithRecentAdditions.sql index 4007bf2..44c5003 100644 --- a/gentoobrowse-api/service/sql/portage/getCategoriesWithRecentAdditions.sql +++ b/gentoobrowse-api/service/sql/portage/getCategoriesWithRecentAdditions.sql @@ -1,11 +1,11 @@  SELECT c.categoryid, c.name, c.summary -FROM gentoobrowse.categories c, gentoobrowse.packages p, gentoobrowse.ebuilds e +FROM gentoobrowse.categories c, gentoobrowse.packages p, gentoobrowse.ebuilds e, ( +		SELECT DISTINCT DATE_TRUNC('day', s.firstseen) firstseen +		FROM gentoobrowse.ebuilds s +		ORDER BY date_trunc('day', s.firstseen) DESC +		LIMIT ?) s  WHERE c.categoryid = p.categoryid  AND p.packageid = e.packageid -AND e.firstseen IN ( -		SELECT DISTINCT s.firstseen -		FROM gentoobrowse.ebuilds s -		ORDER BY s.firstseen DESC -		LIMIT ?) +AND DATE_TRUNC('day', e.firstseen) = s.firstseen   GROUP BY c.categoryid  ORDER BY c.categoryid diff --git a/gentoobrowse-api/service/sql/portage/getPackagesWithRecentAdditions.sql b/gentoobrowse-api/service/sql/portage/getPackagesWithRecentAdditions.sql index 052da8d..a52caf1 100644 --- a/gentoobrowse-api/service/sql/portage/getPackagesWithRecentAdditions.sql +++ b/gentoobrowse-api/service/sql/portage/getPackagesWithRecentAdditions.sql @@ -1,10 +1,10 @@  SELECT p.packageid, p.categoryid, p.name, p.description, p.summary, p.firstseen, p.maintainer, p.maintainername, p.herd -FROM gentoobrowse.packages p, gentoobrowse.ebuilds e -WHERE p.packageid = e.packageid -AND e.firstseen IN ( -		SELECT DISTINCT s.firstseen +FROM gentoobrowse.packages p, gentoobrowse.ebuilds e, ( +		SELECT DISTINCT DATE_TRUNC('day', s.firstseen) firstseen  		FROM gentoobrowse.ebuilds s -		ORDER BY s.firstseen DESC -		LIMIT ?) +		ORDER BY date_trunc('day', s.firstseen) DESC +		LIMIT ?) s +WHERE p.packageid = e.packageid +AND DATE_TRUNC('day', e.firstseen) = s.firstseen  GROUP BY p.packageid  ORDER BY p.packageid diff --git a/gentoobrowse-api/service/sql/portage/getRecentAdditions.sql b/gentoobrowse-api/service/sql/portage/getRecentAdditions.sql index ee2812a..a3af9ca 100644 --- a/gentoobrowse-api/service/sql/portage/getRecentAdditions.sql +++ b/gentoobrowse-api/service/sql/portage/getRecentAdditions.sql @@ -1,8 +1,8 @@  SELECT e.ebuildid, e.packageid, e.repoid, e.version, e.slot, e.firstseen, e.moddate, e.license -FROM gentoobrowse.ebuilds e -WHERE e.firstseen IN ( -		SELECT DISTINCT s.firstseen +FROM gentoobrowse.ebuilds e, ( +		SELECT DISTINCT DATE_TRUNC('day', s.firstseen) firstseen  		FROM gentoobrowse.ebuilds s -		ORDER BY s.firstseen DESC -		LIMIT ?) +		ORDER BY date_trunc('day', s.firstseen) DESC +		LIMIT ?) s +WHERE DATE_TRUNC('day', e.firstseen) = s.firstseen  ORDER BY e.firstseen, e.packageid | 
