public final class CmpG extends Cmp
| Modifier and Type | Class and Description |
|---|---|
static class |
CmpG.OpG
Comparators.
|
| Constructor and Description |
|---|
CmpG(InputInfo ii,
Expr e1,
Expr e2,
CmpG.OpG o)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
Expr |
comp(QueryContext ctx)
Compiles and optimizes the expression, assigns data types and
cardinalities.
|
Expr |
compEbv(QueryContext ctx)
This method is called at compile time by expressions that perform
effective boolean value tests (e.g.
|
java.lang.String |
description()
Returns a string description of the expression.
|
boolean |
indexAccessible(IndexContext ic)
Checks if an expression can be rewritten to an index access.
|
Expr |
indexEquivalent(IndexContext ic)
Returns an equivalent expression which accesses an index structure.
|
static AxisStep |
indexStep(Expr expr)
If possible, returns the last location step of the specified expression.
|
CmpG |
invert()
If possible, inverts the operands of the expression.
|
Bln |
item(QueryContext ctx,
InputInfo ii)
Evaluates the expression and returns the resulting item or
a
null reference, if the expression yields an empty sequence. |
void |
plan(Serializer ser)
Serializes the expression tree.
|
java.lang.String |
toString() |
allAreValues, count, removable, remove, toString, usescheckBln, checkColl, checkCreate, checkCtx, checkDbl, checkDBNode, checkEStr, checkEStr, checkIO, checkItem, checkItr, checkItr, checkMap, checkNode, checkNoEmpty, checkStr, checkType, checkUp, checkUp, checkWrite, compBln, ebv, iter, optPre, preEval, size, test, type, valueaddText, hasFreeVars, isEmpty, isFunction, isItem, isVacuous, isValue, iterable, markTailCalls, sameAspublic Expr comp(QueryContext ctx) throws QueryException
Exprcomp in class Arrctx - query contextQueryException - query exceptionpublic Expr compEbv(QueryContext ctx)
ExprThis method is called at compile time by expressions that perform
effective boolean value tests (e.g. If or Preds).
If the arguments of the called expression return a boolean anyway,
the expression will be simplified.
Example in CmpV:
if($x eq true()) is rewritten to if($x), if $x
will always yield a single boolean.
public Bln item(QueryContext ctx, InputInfo ii) throws QueryException
Exprnull reference, if the expression yields an empty sequence.
If this method is not overwritten, Expr.iter(org.basex.query.QueryContext) must be implemented
by an expression, as it may be called by this method.item in class ParseExprctx - query contextii - input infoQueryException - query exceptionpublic CmpG invert()
Cmppublic boolean indexAccessible(IndexContext ic) throws QueryException
ExprExpr.indexEquivalent(org.basex.query.util.IndexContext) must be
implemented as well.indexAccessible in class Expric - index contextQueryException - query exceptionpublic Expr indexEquivalent(IndexContext ic)
ExprExpr.indexAccessible(org.basex.query.util.IndexContext) is returns true for an
expression.indexEquivalent in class Arric - index contextpublic static AxisStep indexStep(Expr expr)
expr - expressionpublic void plan(Serializer ser) throws java.io.IOException
ExprInfopublic java.lang.String description()
ExprInfoExprInfo.toString() method,
arguments are not included in the output.description in class ExprInfo