mirror of
https://github.com/TeamPiped/Piped-Backend.git
synced 2024-08-14 23:51:41 +00:00
Merge pull request #452 from TeamPiped/playlist-opt
Simplify and optimize playlist query.
This commit is contained in:
commit
da67e0e714
1 changed files with 4 additions and 9 deletions
|
@ -142,16 +142,11 @@ public class DatabaseHelper {
|
|||
CriteriaBuilder cb = s.getCriteriaBuilder();
|
||||
CriteriaQuery<PlaylistVideo> cr = cb.createQuery(PlaylistVideo.class);
|
||||
var root = cr.from(PlaylistVideo.class);
|
||||
root.fetch("channel", JoinType.RIGHT);
|
||||
cr.select(root);
|
||||
var sq = cr.subquery(String.class);
|
||||
{
|
||||
var sqRoot = sq.from(Playlist.class);
|
||||
sq.select(sqRoot.get("videos").get("id"))
|
||||
.where(cb.equal(sqRoot.get("playlist_id"), UUID.fromString(id)));
|
||||
}
|
||||
cr.where(root.get("id").in(sq));
|
||||
|
||||
root.fetch("channel", JoinType.LEFT);
|
||||
var plRoot = cr.from(Playlist.class);
|
||||
cr.where(cb.equal(plRoot.get("playlist_id"), UUID.fromString(id)));
|
||||
|
||||
return s.createQuery(cr).list();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue