@@ -521,11 +521,16 @@ ClassMethod GetLatest(searchTerms As %DynamicArray = "", Output pStatus As %Stat
521
521
}
522
522
Set searchCondition = searchCondition _ " ) "
523
523
}
524
- Set sql = " SELECT name, repository, description " _
525
- " FROM ZPM.Package p1 " _
526
- " WHERE " _ searchCondition _
527
- " GROUP BY name " _
528
- " ORDER BY name"
524
+ set sql = " SELECT name, repository, version, description" _
525
+ " FROM ZPM.Package p1 " _
526
+ " WHERE " _
527
+ " version= ( " _
528
+ " SELECT TOP 1 version FROM ZPM.Package p2 WHERE p1.name=p2.name " _
529
+ " ORDER BY versionMajor DESC, versionMinor DESC, versionPatch DESC, versionPrerelease DESC, versionBuildmetadata DESC ) " _
530
+ " AND " _searchCondition _" " _
531
+ " GROUP BY name ORDER BY name"
532
+ w sql
533
+
529
534
Set tStatement = ##class (%SQL.Statement ).%New ()
530
535
Set tStatus = tStatement .%Prepare (sql )
531
536
If ($$$ISERR(tStatus )) {
@@ -541,9 +546,9 @@ ClassMethod GetLatest(searchTerms As %DynamicArray = "", Output pStatus As %Stat
541
546
While tResult .%Next () {
542
547
Set tPkgInfo = {
543
548
" name" : (tResult .name ),
544
- " description" : (tResult .Description ),
549
+ " description" : (tResult .description ),
545
550
" repository" : (tResult .repository ),
546
- " versions" : [(.. GetTopVersion ( tResult .name ) )]
551
+ " versions" : [(tResult .version )]
547
552
}
548
553
do tList .%Push (tPkgInfo )
549
554
}
0 commit comments