forked from HPR/hpr_generator
		
	Refactor MySQL database specific SQL
This commit is contained in:
		| @@ -2,57 +2,9 @@ | ||||
| <!--% PROCESS 'shared-avatar.tpl.html' %--> | ||||
| <!--% PROCESS 'shared-utils.tpl.html' %--> | ||||
| <!--% PROCESS 'shared-listen-now.tpl.html' %--> | ||||
| <!--% PROCESS "queries-episode-${constants.database}.tpl.html" %--> | ||||
| <!--% USE DBI(constants.driver, constants.user, constants.password) %--> | ||||
| <!--% query_episodes = DBI.prepare(' | ||||
| 		WITH episode_maxmin AS ( | ||||
| 					SELECT MAX(id) AS \'latest\', MIN(id) AS \'earliest\', ? AS \'id\'  | ||||
| 					FROM eps | ||||
| 					WHERE eps.date < DATE_ADD(NOW(), INTERVAL 1 DAY) | ||||
| 		), | ||||
| 		episode_date AS ( | ||||
| 			SELECT eps.date  | ||||
| 			FROM eps | ||||
| 			WHERE eps.id = ? | ||||
| 		), | ||||
| 		episode_previous AS ( | ||||
| 			SELECT MAX(id) AS \'previous\', ? AS \'id\' | ||||
| 			FROM eps | ||||
| 			INNER JOIN episode_date | ||||
| 			ON eps.date < episode_date.date | ||||
| 			WHERE eps.id > 1 | ||||
| 		), | ||||
| 		episode_next AS ( | ||||
| 			SELECT MIN(id) AS \'next\', ? AS \'id\' | ||||
| 			FROM eps | ||||
| 			INNER JOIN episode_date | ||||
| 				ON eps.date > episode_date.date | ||||
| 			WHERE eps.date < NOW() | ||||
| 		), | ||||
| 		comment_tallies AS (	 | ||||
| 			SELECT  | ||||
| 				eps_id, | ||||
| 				COUNT(eps_id) AS eps_tally | ||||
| 			FROM comments | ||||
| 			GROUP BY eps_id  | ||||
| 		) | ||||
| 		SELECT eps.id, eps.date, eps.title, eps.duration,  | ||||
| 			   eps.summary, eps.notes, eps.explicit, eps.license,  | ||||
| 			   eps.tags, eps.version, eps.downloads, eps.valid, | ||||
| 			   episode_maxmin.latest, episode_maxmin.earliest, | ||||
| 			   episode_previous.previous, episode_next.next, | ||||
| 			   hosts.hostid, hosts.host, | ||||
| 			   miniseries.name AS \'series\', miniseries.id AS \'seriesid\', | ||||
| 			   miniseries.description AS \'series_description\', | ||||
| 			   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 | ||||
| 		INNER JOIN episode_maxmin ON eps.id = episode_maxmin.id | ||||
| 		INNER JOIN episode_previous ON eps.id = episode_previous.id | ||||
| 		INNER JOIN episode_next ON eps.id = episode_next.id | ||||
| 		LEFT JOIN comment_tallies ON eps.id = comment_tallies.eps_id | ||||
| 		WHERE eps.id = ? | ||||
| 	') | ||||
| <!--% query_episodes = DBI.prepare(query_episode_maxmin) | ||||
| %--> | ||||
| <!--% episode_result = query_episodes.execute(id, id, id, id, id) %--> | ||||
| <!--% FOREACH episode IN episode_result %--> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user