|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.basex.data.ExprInfo
org.basex.query.expr.Expr
org.basex.query.expr.ParseExpr
org.basex.query.expr.Arr
org.basex.query.expr.Cmp
org.basex.query.expr.CmpG
public final class CmpG
General comparison.
Nested Class Summary | |
---|---|
static class |
CmpG.OpG
Comparators. |
Nested classes/interfaces inherited from class org.basex.query.expr.Expr |
---|
Expr.Flag |
Field Summary |
---|
Fields inherited from class org.basex.query.expr.Arr |
---|
expr |
Fields inherited from class org.basex.query.expr.ParseExpr |
---|
info, size, type |
Constructor Summary | |
---|---|
CmpG(Expr e1,
Expr e2,
CmpG.OpG o,
InputInfo ii)
Constructor. |
Method Summary | |
---|---|
Expr |
compEbv(QueryContext ctx)
This method is overwritten by CmpG , CmpV and FNSimple . |
Expr |
compile(QueryContext ctx,
VarScope scp)
Compiles and optimizes the expression, assigns data types and cardinalities. |
Expr |
copy(QueryContext ctx,
VarScope scp,
IntObjMap<Var> vs)
Copies an expression. |
java.lang.String |
description()
Returns a string description of the expression. |
boolean |
indexAccessible(IndexCosts ic)
Checks if an expression can be rewritten to an index access. |
Expr |
indexEquivalent(IndexCosts ic)
Returns an equivalent expression which accesses an index structure. |
static Step |
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. |
Expr |
optimize(QueryContext ctx,
VarScope scp)
Optimizes an already compiled expression without recompiling its sub-expressions. |
void |
plan(FElem plan)
Creates an expression tree. |
java.lang.String |
toString()
|
Methods inherited from class org.basex.query.expr.Arr |
---|
accept, allAreValues, checkNoUp, checkUp, copyAll, count, exprSize, has, inline, removable, toString |
Methods inherited from class org.basex.query.expr.ParseExpr |
---|
checkAdmin, checkAllUp, checkBinary, checkBln, checkColl, checkCreate, checkCtx, checkDbl, checkDBNode, checkEStr, checkEStr, checkFunc, checkItem, checkItr, checkItr, checkMap, checkNode, checkNode, checkNode, checkNoEmpty, checkNoneUp, checkNoUp, checkQNm, checkStr, checkStr, checkStrBin, checkType, checkWrite, compBln, copyType, ebv, iter, optPre, preEval, size, test, type, value |
Methods inherited from class org.basex.query.expr.Expr |
---|
addText, copy, hasFreeVars, inlineAll, isEmpty, isFunction, isItem, isVacuous, isValue, iterable, markTailCalls, sameAs, uses, visitAll |
Methods inherited from class org.basex.data.ExprInfo |
---|
addPlan, addPlan, info, planAttr, planElem |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public CmpG(Expr e1, Expr e2, CmpG.OpG o, InputInfo ii)
e1
- first expressione2
- second expressiono
- operatorii
- input infoMethod Detail |
---|
public Expr compile(QueryContext ctx, VarScope scp) throws QueryException
Expr
compile
in class Arr
ctx
- query contextscp
- variable scope
QueryException
- query exceptionpublic Expr optimize(QueryContext ctx, VarScope scp) throws QueryException
Expr
optimize
in class Expr
ctx
- query contextscp
- variable scope
QueryException
- query exceptionpublic Expr compEbv(QueryContext ctx)
Expr
This method is overwritten by CmpG
, CmpV
and FNSimple
.
It 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
is known to return a single boolean.
compEbv
in class Expr
ctx
- query context
public Bln item(QueryContext ctx, InputInfo ii) throws QueryException
Expr
null
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 ParseExpr
ctx
- query contextii
- input info
QueryException
- query exceptionpublic CmpG invert()
Cmp
invert
in class Cmp
public boolean indexAccessible(IndexCosts ic) throws QueryException
Expr
Expr.indexEquivalent(org.basex.query.util.IndexCosts)
must be implemented as well.
indexAccessible
in class Expr
ic
- index costs analyzer
QueryException
- query exceptionpublic Expr indexEquivalent(IndexCosts ic)
Expr
Expr.indexAccessible(org.basex.query.util.IndexCosts)
is returns true for an expression.
indexEquivalent
in class Arr
ic
- index costs analyzer
public static Step indexStep(Expr expr)
expr
- expression
public Expr copy(QueryContext ctx, VarScope scp, IntObjMap<Var> vs)
Expr
copy
in class Expr
ctx
- query contextscp
- variable scope for creating new variablesvs
- mapping from old variable IDs to new variable copies
public void plan(FElem plan)
ExprInfo
plan
in class Arr
plan
- root elementpublic java.lang.String description()
ExprInfo
ExprInfo.toString()
method,
arguments are not included in the output.
description
in class ExprInfo
public java.lang.String toString()
toString
in class ExprInfo
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |