Open moshee opened 10 years ago
series_credits
and authors
)translation_groups
and releases_translators
)book_tags
and book_tag_names
)magazines
)magazines
and publishers
)release_date
)date_added
)user.last_viewed_time_staleness > 'some duration'
, else serve cached?The feed spec would need
Something to think about in the far future: related feeds. A feed that displays releases/series info of series related to one or more series.
SELECT *
FROM
recent_releases releases,
-- ...
WHERE...
releases.series_id = series.id
author.id = credits.author_id
AND credits.series_id = series.id
AND author.id = $1
releases.series_id = series.id
series.id = $1
releases.translator_id = releases_translators.translator_id
AND releases_translators.translator_id = $1
releases.series_id = series.id
series.id = tag.series_id
AND tag_names.id = tag.tag_id
AND tag_names.name = $1
releases.series_id = series.id
AND series.demographic = $1
Note: $1
is not a foreign key, but an enum, in this case.
releases.series_id = series.id
series.magazine_id = magazine.id
AND magazine.id = $1
releases.series_id = series.id
series.magazine_id = magazine.id
AND magazine.publisher_id = publisher.id
AND publisher.id = $1
SELECT DISTINCT ON (series.id)
series.id,
series.name,
-- ...
FROM
book_series series,
-- ...
WHERE...
In many cases, the series queries are degenerate cases of the release ones, just lacking the join to releases
.
author.id = credits.author_id
AND credits.series_id = series.id
AND author.id = $1
series.id = $1
releases.series_id = series.id
releases.translator_id = releases_translators.translator_id
AND releases_translators.translator_id = $1
series.id = tag.series_id
AND tag_names.id = tag.tag_id
AND tag_names.name = $1
series.demographic = $1
Note: $1
is not a foreign key, but an enum, in this case.
series.magazine_id = magazine.id
AND magazine.id = $1
series.magazine_id = magazine.id
AND magazine.publisher_id = publisher.id
AND publisher.id = $1
Instead of (or maybe in addition to) lists, I think it would be nice to try implementing feeds. Rather than lists of series, these would be descriptions, constraints, filters.
What first comes to mind for the database side: