From f4ca709aa86108646978c831094b5ba6cd4dc650 Mon Sep 17 00:00:00 2001 From: Astro Date: Mon, 19 Jan 2015 19:48:12 +0100 Subject: [PATCH] sql: get_guid_downloads() --- pg_downloads.sql | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/pg_downloads.sql b/pg_downloads.sql index 516934d..1f8457a 100644 --- a/pg_downloads.sql +++ b/pg_downloads.sql @@ -245,3 +245,27 @@ CREATE OR REPLACE FUNCTION get_enclosure_downloads( LEFT JOIN scraped ON (enclosure_torrents.info_hash=scraped.info_hash) LEFT JOIN downloaded_stats ON (enclosure_torrents.info_hash=downloaded_stats.info_hash); $$ LANGUAGE SQL; + +CREATE OR REPLACE FUNCTION get_guid_downloads( + TEXT +) RETURNS SETOF download AS $$ + SELECT user_feeds."user", user_feeds."slug", user_feeds."feed", + enclosures.item, enclosures.url AS enclosure, + COALESCE(user_feeds.title, feeds.title) AS feed_title, user_feeds."public" AS feed_public, + torrents.info_hash, torrents.name, torrents.size, enclosures.type, + feed_items.title, feed_items.lang, feed_items.summary, feed_items.published, feed_items.homepage, feed_items.payment, feed_items.image, + COALESCE(scraped.seeders, 0) AS "seeders", COALESCE(scraped.leechers, 0) AS "leechers", + COALESCE(scraped.upspeed, 0) AS "upspeed", COALESCE(scraped.downspeed, 0) AS "downspeed", + COALESCE(downloaded_stats.downloaded, 0) AS "downloaded" + FROM (SELECT feed, item, url, type FROM enclosures + WHERE guid=$1 + LIMIT 100) AS enclosures + JOIN enclosure_torrents USING (url) + JOIN torrents USING (info_hash) + JOIN feed_items ON (enclosures.feed=feed_items.feed AND enclosures.item=feed_items.id) + JOIN feeds ON (feed_items.feed=feeds.url) + JOIN user_feeds ON (feed_items.feed=user_feeds.feed) + LEFT JOIN scraped ON (enclosure_torrents.info_hash=scraped.info_hash) + LEFT JOIN downloaded_stats ON (enclosure_torrents.info_hash=downloaded_stats.info_hash) + WHERE LENGTH(enclosure_torrents.info_hash)=20; +$$ LANGUAGE SQL;