public class SUM extends AggregateBase<IV> implements INeedsMaterialization
|Constructor and Description|
|Modifier and Type||Method and Description|
Return the final value.
Return the current value of the aggregate (this has a side-effect on the internal state of the
Reset the aggregate's internal state.
__replaceArg, _set, annotations, annotationsCopy, annotationsEqual, annotationsRef, argIterator, args, argsCopy, arity, clearAnnotations, clearProperty, deepCopy, deepCopy, get, getProperty, setArg, setProperty, setUnboundProperty, toArray, toArray
annotationsEqual, annotationsToString, annotationsToString, annotationValueToString, checkArgs, clone, equals, getEvaluationContext, getId, getProperty, getRequiredProperty, hashCode, indent, isController, mutation, shortenName, toShortString, toString, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
annotations, argIterator, args, arity, clone, get, getEvaluationContext, getId, getProperty, getRequiredProperty, isController, setProperty, toArray, toArray, toShortString, toString
public SUM(SUM op)
public SUM(boolean distinct, IValueExpression... expr)
public void reset()
public IV done()
public IV get(IBindingSet bindingSet)
IAggregateoperator). Functions which can not produce an intermediate result, such as AVERAGE, MAY return
Note: If evaluation of the
IAggregate throws an error, then that
error must be "sticky" and reported out by
IAggregate.done() as well. This
contract is relied on to correctly propagate errors within a group when
using incremental (pipelined) evaluation of
error state is cleared by
Operation is not implemented by this class and must be overridden if the
AggregateBase is to be directly evaluated. However, note that the
computation of aggregate functions is often based on hard coded
recognition of the appropriate function code.
Note: DISTINCT is merely carried as a marker on COUNT (and the other
aggregate functions). The application of DISTINCT to the inner expression
to form a column projection is handled by the driving evaluation logic
rather than by
public INeedsMaterialization.Requirement getRequirement()
SUMonly works on numerics. If they are inline, then that is great. Otherwise it will handle a materialized numeric literal and do type promotion, which always results in a signed inline number IV and then operate on that.
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.