MCPcopy
hub / github.com/dgraph-io/dgraph / groupLess

Function groupLess

query/groupby.go:385–430  ·  view source on GitHub ↗
(a, b *groupResult)

Source from the content-addressed store, hash-verified

383}
384
385func groupLess(a, b *groupResult) bool {
386 switch {
387 case len(a.uids) < len(b.uids):
388 return true
389 case len(a.uids) != len(b.uids):
390 return false
391 }
392 switch {
393 case len(a.keys) < len(b.keys):
394 return true
395 case len(a.keys) != len(b.keys):
396 return false
397 }
398 switch {
399 case len(a.aggregates) < len(b.aggregates):
400 return true
401 case len(a.aggregates) != len(b.aggregates):
402 return false
403 }
404
405 for i := range a.keys {
406 l, err := types.Less(a.keys[i].key, b.keys[i].key)
407 if err == nil {
408 if l {
409 return l
410 }
411 l, _ = types.Less(b.keys[i].key, a.keys[i].key)
412 if l {
413 return !l
414 }
415 }
416 }
417
418 for i := range a.aggregates {
419 if l, err := types.Less(a.aggregates[i].key, b.aggregates[i].key); err == nil {
420 if l {
421 return l
422 }
423 l, _ = types.Less(b.aggregates[i].key, a.aggregates[i].key)
424 if l {
425 return !l
426 }
427 }
428 }
429 return false
430}

Callers 1

formResultMethod · 0.85

Calls 1

LessFunction · 0.92

Tested by

no test coverage detected