From f2072badbfc9345dd705690389635edfc95ecf73 Mon Sep 17 00:00:00 2001 From: Chris Malloy Date: Sun, 24 Dec 2023 09:31:53 -0400 Subject: [PATCH] Bugfix for query converting timestamp to instant --- src/main/java/jasper/component/Validate.java | 8 ++++---- src/main/java/jasper/repository/RefRepository.java | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/jasper/component/Validate.java b/src/main/java/jasper/component/Validate.java index 20a60b6a..7939a544 100644 --- a/src/main/java/jasper/component/Validate.java +++ b/src/main/java/jasper/component/Validate.java @@ -291,10 +291,10 @@ private void plugin(Schema schema, String tag, JsonNode plugin) { private void sources(Ref ref) { if (ref.getSources() == null) return; for (var sourceUrl : ref.getSources()) { - var sourcePublished = refRepository.findAllPublishedByUrlAndPublishedGreaterThanEqual(sourceUrl, ref.getOrigin(), ref.getPublished()); - for (var published : sourcePublished) { - if (published.isAfter(ref.getPublished())) { - ref.setPublished(published.plusMillis(1)); + var sources = refRepository.findAllPublishedByUrlAndPublishedGreaterThanEqual(sourceUrl, ref.getOrigin(), ref.getPublished()); + for (var source : sources) { + if (source.getPublished().isAfter(ref.getPublished())) { + ref.setPublished(source.getPublished().plusMillis(1)); } } } diff --git a/src/main/java/jasper/repository/RefRepository.java b/src/main/java/jasper/repository/RefRepository.java index c284d4e0..bb379067 100644 --- a/src/main/java/jasper/repository/RefRepository.java +++ b/src/main/java/jasper/repository/RefRepository.java @@ -61,13 +61,13 @@ SELECT max(r.modified) WHERE r.origin = :origin""") Instant getCursor(String origin); - @Query(nativeQuery = true, value = """ - SELECT modified FROM Ref ref - WHERE url = :url - AND published >= :published + @Query(value = """ + SELECT ref FROM Ref ref + WHERE ref.url = :url + AND ref.published >= :published AND (:origin = '' OR ref.origin = :origin OR ref.origin LIKE concat(:origin, '.%')) """) - List findAllPublishedByUrlAndPublishedGreaterThanEqual(String url, String origin, Instant published); + List findAllPublishedByUrlAndPublishedGreaterThanEqual(String url, String origin, Instant published); @Query(nativeQuery = true, value = """ SELECT url FROM ref