aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/main/javacc/com/yahoo/search/grouping/request/parser/GroupingParser.jj
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahoo-inc.com>2017-05-04 12:34:10 +0000
committerBjørn Christian Seime <bjorncs@yahoo-inc.com>2017-05-08 12:59:40 +0200
commitbd9d968854e1723b8f09f6d9ba320e9b3daf774e (patch)
tree0c11f46a573c37b5bf234c14dcfca0af36845db2 /container-search/src/main/javacc/com/yahoo/search/grouping/request/parser/GroupingParser.jj
parentb374b62e10cd3e97a74234117546ba95d29403c1 (diff)
Add aggregator for calculating the population standard deviation
Diffstat (limited to 'container-search/src/main/javacc/com/yahoo/search/grouping/request/parser/GroupingParser.jj')
-rw-r--r--container-search/src/main/javacc/com/yahoo/search/grouping/request/parser/GroupingParser.jj12
1 files changed, 12 insertions, 0 deletions
diff --git a/container-search/src/main/javacc/com/yahoo/search/grouping/request/parser/GroupingParser.jj b/container-search/src/main/javacc/com/yahoo/search/grouping/request/parser/GroupingParser.jj
index 89433ab52f5..e38195af374 100644
--- a/container-search/src/main/javacc/com/yahoo/search/grouping/request/parser/GroupingParser.jj
+++ b/container-search/src/main/javacc/com/yahoo/search/grouping/request/parser/GroupingParser.jj
@@ -139,6 +139,7 @@ TOKEN :
<SORT: "sort"> |
<INTERPOLATEDLOOKUP: "interpolatedlookup"> |
<SQRT: "sqrt"> |
+ <STDDEV: "stddev"> |
<STRCAT: "strcat"> |
<STRLEN: "strlen"> |
<SUB: "sub"> |
@@ -358,6 +359,7 @@ GroupingExpression value(GroupingOperation grp) :
exp = sortFunction(grp) |
exp = arrayAtLookup(grp) |
exp = interpolatedLookup(grp) |
+ exp = stddevAggregator(grp) |
exp = stringValue() |
exp = strCatFunction(grp) |
exp = strLenFunction(grp) |
@@ -695,6 +697,15 @@ RawValue rawValue(GroupingOperation grp) :
{ return new RawValue(buffer); }
}
+StandardDeviationAggregator stddevAggregator(GroupingOperation grp) :
+{
+ GroupingExpression exp;
+}
+{
+ ( <STDDEV> lbrace() exp = exp(grp) rbrace() )
+ { return new StandardDeviationAggregator(exp); }
+}
+
StringValue stringValueUnquoted() :
{
String str;
@@ -1018,6 +1029,7 @@ String identifier() :
<SORT> |
<INTERPOLATEDLOOKUP> |
<SQRT> |
+ <STDDEV> |
<STRCAT> |
<STRLEN> |
<SUB> |