diff options
author | 2023-01-29 05:44:21 +0300 | |
---|---|---|
committer | 2023-01-30 23:49:25 +0300 | |
commit | f8a7d417cb916b81cfa685175f3e6afbe6063cee (patch) | |
tree | 3f6923f3f32540e8506ce5b43b610460b4c67559 /src/main/java/com/juick/service/TagServiceImpl.java | |
parent | dd23559a978da8980675ad4089948ade9bbc323d (diff) |
SQLite support
Diffstat (limited to 'src/main/java/com/juick/service/TagServiceImpl.java')
-rw-r--r-- | src/main/java/com/juick/service/TagServiceImpl.java | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/main/java/com/juick/service/TagServiceImpl.java b/src/main/java/com/juick/service/TagServiceImpl.java index 4657659b..c6f5bb89 100644 --- a/src/main/java/com/juick/service/TagServiceImpl.java +++ b/src/main/java/com/juick/service/TagServiceImpl.java @@ -18,8 +18,8 @@ package com.juick.service; import com.juick.model.Tag; -import com.juick.model.User; import com.juick.model.TagStats; +import com.juick.model.User; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; @@ -38,11 +38,7 @@ import java.sql.Statement; import java.time.Instant; import java.time.ZoneOffset; import java.time.temporal.ChronoUnit; -import java.util.Arrays; -import java.util.Collection; -import java.util.List; -import java.util.Objects; -import java.util.Set; +import java.util.*; import java.util.function.Supplier; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -167,7 +163,8 @@ public class TagServiceImpl extends BaseJdbcService implements TagService { public List<String> getPopularTags() { return getJdbcTemplate().queryForList(""" select name from tags where noindex=0 - order by stat_messages desc OFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY""", String.class); + order by stat_messages desc + """ + limit(20), String.class); } @Transactional(readOnly = true) @@ -181,7 +178,8 @@ public class TagServiceImpl extends BaseJdbcService implements TagService { INNER JOIN tags ON messages_tags.tag_id=tags.tag_id WHERE tags.tag_id NOT IN (SELECT tag_id FROM tags_ignore) GROUP BY tags.tag_id, tags.name HAVING COUNT(DISTINCT messages.user_id) > 1 - ORDER BY cnt DESC OFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY"""; + ORDER BY cnt DESC + """ + limit(20); return getNamedParameterJdbcTemplate() .query(sql, new MapSqlParameterSource() .addValue("ts", ts.atOffset(ZoneOffset.UTC), java.sql.Types.TIMESTAMP_WITH_TIMEZONE), @@ -193,7 +191,6 @@ public class TagServiceImpl extends BaseJdbcService implements TagService { public Set<Tag> updateTags(final int mid, final Collection<Tag> newTags) { Set<Tag> currentTags = getMessageTags(mid).stream() .map(TagStats::getTag).collect(Collectors.toSet()); - if (CollectionUtils.isEmpty(newTags)) return currentTags; @@ -240,7 +237,6 @@ public class TagServiceImpl extends BaseJdbcService implements TagService { return Pair.of(body, tags); } - @Transactional(readOnly = true) @Override public List<TagStats> getMessageTags(final int mid) { return getJdbcTemplate().query( @@ -257,7 +253,6 @@ public class TagServiceImpl extends BaseJdbcService implements TagService { }, mid); } - @Transactional(readOnly = true) @Override public List<Integer> getMessageTagsIDs(final int mid) { return getJdbcTemplate().queryForList( |