Skip to content

Commit

Permalink
skip & limit aggregation
Browse files Browse the repository at this point in the history
  • Loading branch information
baxiry committed Aug 25, 2024
1 parent 535d7eb commit 5d54949
Showing 1 changed file with 27 additions and 3 deletions.
30 changes: 27 additions & 3 deletions engine/aggregate.go
Original file line number Diff line number Diff line change
Expand Up @@ -116,15 +116,39 @@ func aggrigate(query gjson.Result) string {
return message
}

have := query.Get("have")
gmatch := query.Get("gmatch")
limit := query.Get("glimit").Int()
skip := query.Get("gskip").Int()
if limit == 0 {
limit = 1000 // what is default setting ?
}

listdata := []string{}
for _, val := range mapData {
if ok, _ := match(gmatch, val); ok {
listdata = append(listdata, val)
}
}

// sort listdata here

result := "["
for _, val := range mapData {
if ok, _ := match(have, val); ok {

if limit == 0 {
break
}
if skip != 0 {
skip--
continue
}

if ok, _ := match(gmatch, val); ok {
listdata = append(listdata, val)
result += val + ","
limit--
}
}

ln := len(result)
if ln == 1 {
return "[]"
Expand Down

0 comments on commit 5d54949

Please sign in to comment.