@@ -1396,7 +1396,7 @@ func (qs *queryState) handleCompareFunction(ctx context.Context, arg funcArgs) e
13961396 switch lang {
13971397 case "" :
13981398 if isList {
1399- pl , err := posting . GetNoStore (x .DataKey (attr , uid ), arg . q . ReadTs )
1399+ pl , err := qs . cache . Get (x .DataKey (attr , uid ))
14001400 if err != nil {
14011401 filterErr = err
14021402 return false
@@ -1418,7 +1418,7 @@ func (qs *queryState) handleCompareFunction(ctx context.Context, arg funcArgs) e
14181418 return false
14191419 }
14201420
1421- pl , err := posting . GetNoStore (x .DataKey (attr , uid ), arg . q . ReadTs )
1421+ pl , err := qs . cache . Get (x .DataKey (attr , uid ))
14221422 if err != nil {
14231423 filterErr = err
14241424 return false
@@ -1433,7 +1433,7 @@ func (qs *queryState) handleCompareFunction(ctx context.Context, arg funcArgs) e
14331433 dst , err := types .Convert (sv , typ )
14341434 return err == nil && compareFunc (dst )
14351435 case "." :
1436- pl , err := posting . GetNoStore (x .DataKey (attr , uid ), arg . q . ReadTs )
1436+ pl , err := qs . cache . Get (x .DataKey (attr , uid ))
14371437 if err != nil {
14381438 filterErr = err
14391439 return false
@@ -1451,17 +1451,26 @@ func (qs *queryState) handleCompareFunction(ctx context.Context, arg funcArgs) e
14511451 }
14521452 return false
14531453 default :
1454- sv , err := fetchValue (uid , attr , arg .q .Langs , typ , arg .q .ReadTs )
1454+ pl , err := qs .cache .Get (x .DataKey (attr , uid ))
1455+ if err != nil {
1456+ filterErr = err
1457+ return false
1458+ }
1459+ src , err := pl .ValueFor (arg .q .ReadTs , arg .q .Langs )
14551460 if err != nil {
14561461 if err != posting .ErrNoValue {
14571462 filterErr = err
14581463 }
14591464 return false
14601465 }
1461- if sv .Value == nil {
1466+ dst , err := types .Convert (src , typ )
1467+ if err != nil {
1468+ return false
1469+ }
1470+ if dst .Value == nil {
14621471 return false
14631472 }
1464- return compareFunc (sv )
1473+ return compareFunc (dst )
14651474 }
14661475 })
14671476 if filterErr != nil {
0 commit comments