in sg/internal/engine/rego_query.go [272:295]
func (engine *RegoEngine) executeOneQuerySlow(
ctx context.Context,
parsedInput ast.Value,
query string,
) ([]result.Result, error) {
regoInstance := engine.createRegoInstance(parsedInput, query)
resultSet, err := regoInstance.Eval(ctx)
if err != nil {
return nil, err
}
var rv []result.Result
for _, evalResult := range resultSet {
for _, expression := range evalResult.Expressions {
loadedResults, err := result.FromRegoExpression(query, expression)
if err != nil {
return nil, fmt.Errorf("failed to load result: %w", err)
}
rv = append(rv, loadedResults...)
}
}
return rv, nil
}