"""Artist Queries.""" GET_ARTIST_GENRES = """ SELECT DISTINCT g.genre FROM releases r JOIN genre g ON g.genre_id = r.genre_id WHERE r.artist_id = {artist_id} """ COUNT_GET_FULL_ARTISTS = """ SELECT COUNT(*) FROM ( SELECT a.artist_id FROM artist_info a LEFT JOIN releases r ON r.artist_id = a.artist_id LEFT JOIN genre g ON g.genre_id = r.genre_id WHERE a.vendor_id = {vendor_id} AND (a.last_updated > '{updated_since}' OR r.last_updated > '{updated_since}') GROUP BY a.artist_id ) `rows` """ GET_FULL_ARTISTS = """ SELECT a.artist_id, a.name, GROUP_CONCAT(DISTINCT g.genre) FROM artist_info a LEFT JOIN releases r ON r.artist_id = a.artist_id LEFT JOIN genre g ON g.genre_id = r.genre_id WHERE a.vendor_id = {vendor_id} AND (a.last_updated > '{updated_since}' OR r.last_updated > '{updated_since}') GROUP BY a.artist_id LIMIT {page_limit} OFFSET {page_offset} """ GET_FULL_ARTISTS_BULK = """ SELECT a.artist_id, a.name, GROUP_CONCAT(DISTINCT g.genre) FROM artist_info a LEFT JOIN releases r ON r.artist_id = a.artist_id LEFT JOIN genre g ON g.genre_id = r.genre_id WHERE a.vendor_id = {vendor_id} AND a.artist_id IN ({artist_ids}) GROUP BY a.artist_id """ GET_ARTIST_DOCUMENT_FIELDS = """ SELECT a.artist_id, a.name, a.vendor_id, group_concat(DISTINCT r.subaccount_id) FROM artist_info a LEFT JOIN releases r ON r.artist_id = a.artist_id WHERE a.artist_id = {artist_id} """