summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/yql/YqlParser.java
diff options
context:
space:
mode:
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.java12
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);