Skip to content

Commit 680aba1

Browse files
anton-abushkevichchrisknoll
authored andcommitted
TagRepository findXXXTagInfo() produces invalid SQL, should return minimal columns #2241
1 parent 4efbc00 commit 680aba1

3 files changed

Lines changed: 21 additions & 27 deletions

File tree

src/main/java/org/ohdsi/webapi/tag/TagService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ private void processTagInfo(Producer<List<TagInfo>> infoProducer,
176176
Map<Integer, TagDTO> infoMap) {
177177
List<TagInfo> tagInfos = infoProducer.call();
178178
tagInfos.forEach(info -> {
179-
int id = info.getTag().getId();
179+
int id = info.getId();
180180
TagDTO dto = infoMap.get(id);
181181
if (Objects.isNull(dto)) {
182182
infoMap.put(id, new TagDTO());
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package org.ohdsi.webapi.tag.domain;
22

33
public interface TagInfo {
4-
Tag getTag();
4+
int getId();
55

66
int getCount();
77
}

src/main/java/org/ohdsi/webapi/tag/repository/TagRepository.java

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -13,46 +13,40 @@ public interface TagRepository extends JpaRepository<Tag, Integer> {
1313

1414
List<Tag> findByIdIn(List<Integer> ids);
1515

16-
@Query("SELECT t AS tag, " +
16+
@Query("SELECT ct.assetId.tagId as id, " +
1717
"COUNT(ct.assetId.tagId) AS count " +
18-
"FROM Tag t " +
19-
"LEFT JOIN CohortTag ct ON ct.tag = t " +
20-
"GROUP BY t.id")
18+
"FROM CohortTag ct " +
19+
"GROUP BY ct.assetId.tagId")
2120
List<TagInfo> findCohortTagInfo();
2221

23-
@Query("SELECT t AS tag, " +
22+
@Query("SELECT cct.assetId.tagId as id, " +
2423
"COUNT(cct.assetId.tagId) AS count " +
25-
"FROM Tag t " +
26-
"LEFT JOIN CohortCharacterizationTag cct ON cct.tag = t " +
27-
"GROUP BY t.id")
24+
"FROM CohortCharacterizationTag cct " +
25+
"GROUP BY cct.assetId.tagId")
2826
List<TagInfo> findCcTagInfo();
2927

30-
@Query("SELECT t AS tag, " +
28+
@Query("SELECT cst.assetId.tagId as id, " +
3129
"COUNT(cst.assetId.tagId) AS count " +
32-
"FROM Tag t " +
33-
"LEFT JOIN ConceptSetTag cst ON cst.tag = t " +
34-
"GROUP BY t.id")
30+
"FROM ConceptSetTag cst " +
31+
"GROUP BY cst.assetId.tagId")
3532
List<TagInfo> findConceptSetTagInfo();
3633

37-
@Query("SELECT t AS tag, " +
34+
@Query("SELECT it.assetId.tagId as id, " +
3835
"COUNT(it.assetId.tagId) AS count " +
39-
"FROM Tag t " +
40-
"LEFT JOIN IrTag it ON it.tag = t " +
41-
"GROUP BY t.id")
36+
"FROM IrTag it " +
37+
"GROUP BY it.assetId.tagId")
4238
List<TagInfo> findIrTagInfo();
4339

44-
@Query("SELECT t AS tag, " +
40+
@Query("SELECT pt.assetId.tagId as id, " +
4541
"COUNT(pt.assetId.tagId) AS count " +
46-
"FROM Tag t " +
47-
"LEFT JOIN PathwayTag pt ON pt.tag = t " +
48-
"GROUP BY t.id")
42+
"FROM PathwayTag pt " +
43+
"GROUP BY pt.assetId.tagId")
4944
List<TagInfo> findPathwayTagInfo();
5045

51-
@Query("SELECT t AS tag, " +
52-
"COUNT(r.assetId.tagId) AS count " +
53-
"FROM Tag t " +
54-
"LEFT JOIN ReusableTag r ON r.tag = t " +
55-
"GROUP BY t.id")
46+
@Query("SELECT rt.assetId.tagId as id, " +
47+
"COUNT(rt.assetId.tagId) AS count " +
48+
"FROM ReusableTag rt " +
49+
"GROUP BY rt.assetId.tagId")
5650
List<TagInfo> findReusableTagInfo();
5751

5852
@Query("SELECT t FROM Tag t WHERE t.mandatory = 'TRUE'")

0 commit comments

Comments
 (0)