diff options
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/yql/YqlParser.java')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/yql/YqlParser.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java b/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java index 199cf7bb2a9..c0c5b0ee0b0 100644 --- a/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java +++ b/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java @@ -1669,7 +1669,7 @@ public class YqlParser implements Parser { "Expected operator READ_FIELD or PRPPREF, got %s.", ast.getOperator()); } - private static void addItems(OperatorNode<ExpressionOperator> ast, WeightedSetItem out) { + private void addItems(OperatorNode<ExpressionOperator> ast, WeightedSetItem out) { switch (ast.getOperator()) { case MAP: addStringItems(ast, out); @@ -1677,6 +1677,10 @@ public class YqlParser implements Parser { case ARRAY: addLongItems(ast, out); break; + case VARREF: + Preconditions.checkState(userQuery != null, "Query properties are not available"); + ParameterListParser.addItemsFromString(userQuery.properties().getString(ast.getArgument(0, String.class)), out); + break; default: throw newUnexpectedArgumentException(ast.getOperator(), ExpressionOperator.ARRAY, ExpressionOperator.MAP); @@ -1704,10 +1708,8 @@ public class YqlParser implements Parser { OperatorNode<ExpressionOperator> tokenValueNode = args.get(0); assertHasOperator(tokenValueNode, ExpressionOperator.LITERAL); Number tokenValue = tokenValueNode.getArgument(0, Number.class); - Preconditions.checkArgument(tokenValue instanceof Integer - || tokenValue instanceof Long, - "Expected Integer or Long, got %s.", tokenValue.getClass() - .getName()); + Preconditions.checkArgument(tokenValue instanceof Integer || tokenValue instanceof Long, + "Expected Integer or Long, got %s.", tokenValue.getClass().getName()); OperatorNode<ExpressionOperator> tokenWeightNode = args.get(1); assertHasOperator(tokenWeightNode, ExpressionOperator.LITERAL); |