public class MAX extends AggregateBase<IV> implements INeedsMaterialization
Note: MIN (and MAX) are defined in terms of the ORDER_BY semantics for
SPARQL. Therefore, this must handle comparisons when the value is not an IV,
|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 MAX(MAX op)
public MAX(boolean distinct, IValueExpression... expr)
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
bindingSet- The binding set.
public void reset()
public IV done()
public INeedsMaterialization.Requirement getRequirement()
MAXonly works on pretty much anything and uses the same semantics as
CompareBOp(it is essentially the transitive closure of LT over the column projection of the inner expression). This probably means that we always need to materialize something unless it is an inline numeric IV. FIXME MikeP: What is the right return value here?
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.