diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-03-31 11:38:15 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-03-31 11:38:15 +0200 |
commit | a7f53f8b235df31edff2d9ef6de371d7331751f2 (patch) | |
tree | 777e91df11da74e0998fdf306e31a6508798b0d3 /searchlib | |
parent | 89df687130376f8887ae2c0b49b6090148c519d0 (diff) |
Must call setup aggregation references on all aggregators.
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/vespa/searchlib/aggregation/group.cpp | 2 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/expression/aggregationrefnode.h | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/searchlib/src/vespa/searchlib/aggregation/group.cpp b/searchlib/src/vespa/searchlib/aggregation/group.cpp index cc8e362b05b..10bef66ea5b 100644 --- a/searchlib/src/vespa/searchlib/aggregation/group.cpp +++ b/searchlib/src/vespa/searchlib/aggregation/group.cpp @@ -575,13 +575,13 @@ Group::Value::deserialize(Deserializer & is) { _aggregationResults[i] = tmpAggregationResults[i]; } delete [] tmpAggregationResults; - setupAggregationReferences(); assert(exprSize < 16); setExprSize(exprSize); for (uint32_t i(aggrSize); i < aggrSize + exprSize; i++) { is >> _aggregationResults[i]; } + setupAggregationReferences(); is >> count; destruct(_children, getAllChildrenSize()); _childInfo._allChildren = 0; diff --git a/searchlib/src/vespa/searchlib/expression/aggregationrefnode.h b/searchlib/src/vespa/searchlib/expression/aggregationrefnode.h index 03ee085c647..7029b3ff1c5 100644 --- a/searchlib/src/vespa/searchlib/expression/aggregationrefnode.h +++ b/searchlib/src/vespa/searchlib/expression/aggregationrefnode.h @@ -18,11 +18,11 @@ public: public: Configure(ExpressionNodeArray & exprVec) : _exprVec(exprVec) { } private: - virtual void execute(vespalib::Identifiable &obj) override { static_cast<AggregationRefNode&>(obj).locateExpression(_exprVec); } - virtual bool check(const vespalib::Identifiable &obj) const override { return obj.inherits(AggregationRefNode::classId); } + void execute(vespalib::Identifiable &obj) override { static_cast<AggregationRefNode&>(obj).locateExpression(_exprVec); } + bool check(const vespalib::Identifiable &obj) const override { return obj.inherits(AggregationRefNode::classId); } ExpressionNodeArray & _exprVec; }; - virtual void visitMembers(vespalib::ObjectVisitor &visitor) const; + void visitMembers(vespalib::ObjectVisitor &visitor) const override; DECLARE_EXPRESSIONNODE(AggregationRefNode); AggregationRefNode() : _index(0), _expressionNode(NULL) { } |