diff --git a/src/main/java/me/kavin/piped/Main.java b/src/main/java/me/kavin/piped/Main.java index b1f7278..f10fd89 100644 --- a/src/main/java/me/kavin/piped/Main.java +++ b/src/main/java/me/kavin/piped/Main.java @@ -34,12 +34,9 @@ public class Main { Session s = DatabaseSessionFactory.createSession(); List pubSubList = s.createNativeQuery( - "select distinct pubsub.* from pubsub inner join users_subscribed on pubsub.id = users_subscribed.channel", - PubSub.class).getResultList(); - - pubSubList.removeIf(pubsub -> { - return System.currentTimeMillis() - pubsub.getSubbedAt() < TimeUnit.DAYS.toMillis(4); - }); + "select distinct pubsub.* from pubsub inner join users_subscribed on pubsub.id = users_subscribed.channel where pubsub.subbed_at < :time", + PubSub.class).setParameter("time", System.currentTimeMillis() - TimeUnit.DAYS.toMillis(4)) + .getResultList(); Collections.shuffle(pubSubList); diff --git a/src/main/java/me/kavin/piped/utils/obj/db/PubSub.java b/src/main/java/me/kavin/piped/utils/obj/db/PubSub.java index c1bb936..862f742 100644 --- a/src/main/java/me/kavin/piped/utils/obj/db/PubSub.java +++ b/src/main/java/me/kavin/piped/utils/obj/db/PubSub.java @@ -7,7 +7,8 @@ import javax.persistence.Index; import javax.persistence.Table; @Entity -@Table(name = "pubsub", indexes = { @Index(columnList = "id", name = "pubsub_id_idx") }) +@Table(name = "pubsub", indexes = { @Index(columnList = "id", name = "pubsub_id_idx"), + @Index(columnList = "subbed_at", name = "pubsub_subbed_at_idx") }) public class PubSub { @Id