@@ -140,12 +140,26 @@ object ArtifactTable:
140140 val selectGroupIds : Query0 [GroupId ] =
141141 selectRequest(table, Seq (" DISTINCT group_id" ))
142142
143+ /** Paged group IDs: params are (limit, offset). */
144+ val selectGroupIdsPage : Query [(Long , Long ), GroupId ] =
145+ Query (s " SELECT DISTINCT group_id FROM $table ORDER BY group_id LIMIT ? OFFSET ? " )
146+
143147 val selectArtifactIds : Query [Project .Reference , (GroupId , ArtifactId )] =
144148 selectRequest(table, Seq (" DISTINCT group_id" , " artifact_id" ), keys = projectReferenceFields)
145149
146150 val selectReferences : Query0 [Reference ] =
147151 selectRequest(table, Seq (" DISTINCT group_id" , " artifact_id" , " \" version\" " ))
148152
153+ val selectReferencesByGroupId : Query [GroupId , Reference ] =
154+ selectRequest(table, Seq (" DISTINCT group_id" , " artifact_id" , " \" version\" " ), keys = Seq (" group_id" ))
155+
156+ /** Paged refs for a group: params are (groupId, limit, offset). */
157+ val selectReferencesByGroupIdPage : Query [(GroupId , Long , Long ), Reference ] =
158+ Query (
159+ s """ SELECT DISTINCT group_id, artifact_id, "version" FROM $table
160+ |WHERE group_id = ? ORDER BY artifact_id, "version" LIMIT ? OFFSET ? """ .stripMargin
161+ )
162+
149163 val selectReferencesByProject : Query [Project .Reference , Reference ] =
150164 selectRequest(table, Seq (" DISTINCT group_id" , " artifact_id" , " \" version\" " ), keys = projectReferenceFields)
151165
0 commit comments