@@ -399,75 +399,50 @@ func (qs *queryState) handleValuePostings(ctx context.Context, args funcArgs) er
399399
400400 if pickMultiplePostings {
401401 pl , err = qs .cache .Get (key )
402- if err != nil {
403- return err
404- }
405- // If count is being requested, there is no need to populate value and facets matrix.
406- if q .DoCount {
407- count , err := countForValuePostings (args , pl , facetsTree , listType )
408- if err != nil && err != posting .ErrNoValue {
409- return err
410- }
411- out .Counts = append (out .Counts , uint32 (count ))
412- // Add an empty UID list to make later processing consistent.
413- out .UidMatrix = append (out .UidMatrix , & pb.List {})
414- continue
415- }
416-
417- if q .ExpandAll {
418- langTags , err := pl .GetLangTags (args .q .ReadTs )
419- if err != nil {
420- return err
421- }
422- out .LangMatrix = append (out .LangMatrix , & pb.LangList {Lang : langTags })
423- }
424-
425- vals , fcs , err = retrieveValuesAndFacets (args , pl , facetsTree , listType )
426- switch {
427- case err == posting .ErrNoValue || (err == nil && len (vals ) == 0 ):
428- // This branch is taken when the value does not exist in the pl or
429- // the number of values retrieved is zero (there could still be facets).
430- // We add empty lists to the UidMatrix, FaceMatrix, ValueMatrix and
431- // LangMatrix so that all these data structure have predictable layouts.
432- out .UidMatrix = append (out .UidMatrix , & pb.List {})
433- out .FacetMatrix = append (out .FacetMatrix , & pb.FacetsList {})
434- out .ValueMatrix = append (out .ValueMatrix ,
435- & pb.ValueList {Values : []* pb.TaskValue {}})
436- if q .ExpandAll {
437- // To keep the cardinality same as that of ValueMatrix.
438- out .LangMatrix = append (out .LangMatrix , & pb.LangList {})
439- }
440- continue
441- case err != nil :
402+ } else {
403+ pl , err = qs .cache .GetSingle (key )
404+ }
405+ if err != nil {
406+ return err
407+ }
408+ // If count is being requested, there is no need to populate value and facets matrix.
409+ if q .DoCount {
410+ count , err := countForValuePostings (args , pl , facetsTree , listType )
411+ if err != nil && err != posting .ErrNoValue {
442412 return err
443413 }
414+ out .Counts = append (out .Counts , uint32 (count ))
415+ // Add an empty UID list to make later processing consistent.
416+ out .UidMatrix = append (out .UidMatrix , & pb.List {})
417+ continue
418+ }
444419
445- } else {
446- pl , err , _ := posting . GetSingleValueForKey ( key , q .ReadTs )
420+ if q . ExpandAll {
421+ langTags , err := pl . GetLangTags ( args . q .ReadTs )
447422 if err != nil {
448423 return err
449424 }
425+ out .LangMatrix = append (out .LangMatrix , & pb.LangList {Lang : langTags })
426+ }
450427
451- for _ , p := range pl .Postings {
452- vals = append (vals , types.Val {
453- Tid : types .TypeID (p .ValType ),
454- Value : p .Value ,
455- })
456-
457- if q .FacetParam != nil {
458- fcs .FacetsList = append (fcs .FacetsList , & pb.Facets {Facets : facets .CopyFacets (p .Facets , q .FacetParam )})
459- }
428+ vals , fcs , err = retrieveValuesAndFacets (args , pl , facetsTree , listType )
429+ switch {
430+ case err == posting .ErrNoValue || (err == nil && len (vals ) == 0 ):
431+ // This branch is taken when the value does not exist in the pl or
432+ // the number of values retrieved is zero (there could still be facets).
433+ // We add empty lists to the UidMatrix, FaceMatrix, ValueMatrix and
434+ // LangMatrix so that all these data structure have predictable layouts.
435+ out .UidMatrix = append (out .UidMatrix , & pb.List {})
436+ out .FacetMatrix = append (out .FacetMatrix , & pb.FacetsList {})
437+ out .ValueMatrix = append (out .ValueMatrix ,
438+ & pb.ValueList {Values : []* pb.TaskValue {}})
439+ if q .ExpandAll {
440+ // To keep the cardinality same as that of ValueMatrix.
441+ out .LangMatrix = append (out .LangMatrix , & pb.LangList {})
460442 }
461- //pl, err = qs.cache.GetSingleItem(key)
462- //if err != nil {
463- // return err
464- //}
465-
466- //val, err := pl.AllValues(q.ReadTs)
467- //if err != nil {
468- // return err
469- //}
470- //vals = append(vals, val...)
443+ continue
444+ case err != nil :
445+ return err
471446 }
472447
473448 uidList := new (pb.List )
0 commit comments