forked from HPR/hpr_generator
		
	Refactor MySQL database specific SQL
This commit is contained in:
		| @@ -3,6 +3,7 @@ | ||||
| <!--% PROCESS 'shared-listen-now.tpl.html' %--> | ||||
| <!--% PROCESS 'shared-call_for_shows.tpl.html' %--> | ||||
| <!--% INCLUDE 'content-index-announcement.tpl.html' %--> | ||||
| <!--% PROCESS "queries-index-${constants.database}.tpl.html" %--> | ||||
| <hr> | ||||
|   <article> | ||||
|     <header> | ||||
| @@ -10,21 +11,7 @@ | ||||
|     </header> | ||||
| 	<!--% days_till_next_episode = 0 %--> | ||||
| 	<!--% USE DBI(constants.driver, constants.user, constants.password) %--> | ||||
| 	<!--% FOREACH next_available_episode_result IN DBI.query(' | ||||
| 		WITH next_id AS ( | ||||
| 		    SELECT id, id + 1 AS \'id_next\', date as \'last_date\' | ||||
| 			FROM eps | ||||
| 			WHERE eps.date > NOW()  | ||||
| 		) | ||||
| 		SELECT  | ||||
| 			MIN(next_id.id_next) AS \'next_id\',  | ||||
| 			DATE_FORMAT(MIN(last_date), \'%Y\') AS \'last_year\', | ||||
| 			DATE_FORMAT(MIN(last_date), \'%d\') AS \'last_day\', | ||||
| 			DATE_FORMAT(MIN(last_date), \'%m\') AS \'last_month\' | ||||
| 		FROM next_id | ||||
| 		LEFT JOIN eps ON next_id.id_next = eps.id  | ||||
| 		WHERE eps.id IS NULL | ||||
| 		') | ||||
| 	<!--% FOREACH next_available_episode_result IN DBI.query(query_next_available_episode) | ||||
| 	%--> | ||||
| 	<!--% USE date %--> | ||||
| 	<!--% calc = date.calc %--> | ||||
| @@ -47,33 +34,7 @@ | ||||
|   <hr> | ||||
|   <!--% PROCESS 'shared-episode-summary.tpl.html' %--> | ||||
| <h1>Latest Shows</h1> | ||||
| <!--% FOREACH latest_episodes IN DBI.query(' | ||||
| 	WITH comment_tallies AS (	 | ||||
| 		SELECT  | ||||
| 			eps_id, | ||||
| 			COUNT(eps_id) AS eps_tally | ||||
| 		FROM comments | ||||
| 		GROUP BY eps_id  | ||||
| 	) | ||||
| 	SELECT  | ||||
| 		eps.id,  | ||||
| 		eps.explicit,  | ||||
| 		eps.date, eps.license, eps.duration,     | ||||
| 		eps.title, eps.summary, eps.tags,  | ||||
| 		eps.notes, | ||||
| 		hosts.local_image, | ||||
| 		hosts.hostid,  | ||||
| 		hosts.host, hosts.email, | ||||
| 		miniseries.name AS series, miniseries.id AS seriesid, | ||||
| 		COALESCE (comment_tallies.eps_tally, 0) AS eps_tally  | ||||
| 	FROM eps  | ||||
| 	INNER JOIN hosts ON eps.hostid = hosts.hostid | ||||
|     INNER JOIN miniseries ON eps.series = miniseries.id | ||||
|     LEFT JOIN comment_tallies ON eps.id = comment_tallies.eps_id | ||||
| 	WHERE eps.date < DATE_ADD(NOW(), INTERVAL 1 DAY) | ||||
| 	ORDER BY eps.id  DESC  | ||||
| 	LIMIT 10 | ||||
| 	') | ||||
| <!--% FOREACH latest_episodes IN DBI.query(query_latest_episodes) | ||||
| %--> | ||||
| <hr> | ||||
| <article> | ||||
| @@ -99,22 +60,7 @@ | ||||
|         <hr> | ||||
|         <h1>Previous five weeks</h1> | ||||
|     </header> | ||||
| <!--% FOREACH last_5_weeks_episodes IN DBI.query(' | ||||
| 	SELECT  | ||||
|         eps.id,  | ||||
|         CASE eps.explicit WHEN 1 THEN \'Explicit\' ELSE \'Clean\' END AS explicit ,  | ||||
|         eps.date, eps.license, eps.title, eps.summary,  | ||||
| 		eps.duration, eps.notes, eps.tags, | ||||
|         hosts.hostid,  | ||||
|         hosts.host, hosts.email, hosts.local_image,  | ||||
| 		miniseries.name AS series, miniseries.id AS seriesid | ||||
|     FROM eps  | ||||
| 	INNER JOIN hosts ON eps.hostid = hosts.hostid  | ||||
| 	INNER JOIN miniseries ON eps.series = miniseries.id | ||||
| 	WHERE eps.date < DATE_ADD(NOW(), INTERVAL 1 DAY) | ||||
|     ORDER BY eps.id  DESC | ||||
| 	LIMIT 30 OFFSET 10 | ||||
| 	')  | ||||
| <!--% FOREACH last_5_weeks_episodes IN DBI.query(query_last_5_weeks_episodes)  | ||||
| %--> | ||||
| 	<!--% show_summary(last_5_weeks_episodes) %--> | ||||
| <!--% END %--> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user