aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/service/TagServiceImpl.java
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2023-01-28 01:46:13 +0300
committerGravatar Vitaly Takmazov2023-01-28 19:07:28 +0300
commit556d10c400add4b69d8832a40fb704fda4333080 (patch)
tree4b19255566ada761ddd23baa66c695906329f1a8 /src/main/java/com/juick/service/TagServiceImpl.java
parent906bf8ef21463f99820764807b656cb617b0aaa2 (diff)
Improve SQL server compatibility
Diffstat (limited to 'src/main/java/com/juick/service/TagServiceImpl.java')
-rw-r--r--src/main/java/com/juick/service/TagServiceImpl.java12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/main/java/com/juick/service/TagServiceImpl.java b/src/main/java/com/juick/service/TagServiceImpl.java
index f15fd113..bbf21bb0 100644
--- a/src/main/java/com/juick/service/TagServiceImpl.java
+++ b/src/main/java/com/juick/service/TagServiceImpl.java
@@ -148,7 +148,7 @@ public class TagServiceImpl extends BaseJdbcService implements TagService {
"SELECT tags.name,COUNT(messages.message_id) " +
"FROM (messages INNER JOIN messages_tags ON (messages.user_id=? " +
"AND messages.message_id=messages_tags.message_id)) " +
- "INNER JOIN tags ON messages_tags.tag_id=tags.tag_id GROUP BY tags.tag_id ORDER BY tags.name ASC",
+ "INNER JOIN tags ON messages_tags.tag_id=tags.tag_id GROUP BY tags.tag_id, tags.name ORDER BY tags.name ASC",
new TagStatsMapper(),
uid);
}
@@ -165,8 +165,9 @@ public class TagServiceImpl extends BaseJdbcService implements TagService {
@Transactional(readOnly = true)
@Override
public List<String> getPopularTags() {
- return getJdbcTemplate().queryForList(
- "select name from tags where noindex=false order by stat_messages desc limit 20", String.class);
+ return getJdbcTemplate().queryForList("""
+ select name from tags where noindex=false
+ order by stat_messages desc OFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY""", String.class);
}
@Transactional(readOnly = true)
@@ -179,9 +180,8 @@ public class TagServiceImpl extends BaseJdbcService implements TagService {
AND messages.message_id=messages_tags.message_id))
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 HAVING COUNT(DISTINCT messages.user_id) > 1
- ORDER BY cnt DESC LIMIT 20
- """;
+ 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""";
return getNamedParameterJdbcTemplate()
.query(sql, new MapSqlParameterSource()
.addValue("ts", ts.atOffset(ZoneOffset.UTC), java.sql.Types.TIMESTAMP_WITH_TIMEZONE),