Package org.basex.query.expr.ft
Class FTWords
java.lang.Object
org.basex.query.expr.ExprInfo
org.basex.query.expr.Expr
org.basex.query.expr.ParseExpr
org.basex.query.expr.ft.FTExpr
org.basex.query.expr.ft.FTWords
FTWords expression.
- Author:
- BaseX Team 2005-21, BSD License, Christian Gruen
-
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanaccept(ASTVisitor visitor) Traverses this expression, notifying the visitor of declared and used variables, and checking the tree for other recursive properties.voidcheckUp()Checks if the updating semantics are satisfied.Compiles and optimizes the expression, assigns types and cardinalities.copy(CompileContext cc, IntObjMap<Var> vm) Copies an expression.Checks how often a variable or context reference is used in this expression.booleanThis function is e.g.intexprSize()Counts the number of expressions in this expression's sub-tree.Assigns full-text options.booleanIndicates if an expression has one of the specified compiler properties.booleanChecks if an expression can be rewritten to an index access.inline(InlineContext ic) Inlines an expression into this one, replacing all variable or context references.booleanChecks if inlining is possible.item(QueryContext qc, InputInfo ii) This method is called by the sequential full-text evaluation.iter(QueryContext qc) This method is called by the index-based full-text evaluation.Optimizes an already compiled expression without recompiling its sub-expressions.optimize(QueryContext qc) Prepares query evaluation.voidCreates a query plan.voidplan(QueryString qs) Creates a query string.booleanChecks if sub expressions of a mild not operator violate the grammar.Methods inherited from class org.basex.query.expr.ParseExpr
adoptType, atomValue, checkAllUp, checkNoEmpty, checkNoEmpty, checkNoneUp, checkNoUp, checkType, checkType, checkUp, copyType, ctxValue, ebv, refineType, seqType, size, test, toArray, toArray, toAtomItem, toB64, toB64, toBin, toBin, toBoolean, toBoolean, toBytes, toBytes, toDouble, toDouble, toElem, toFloat, toFunc, toItem, toItem, toLong, toLong, toMap, toMap, toNode, toNode, toNodeOrNull, toNumber, toNumberOrNull, toQNm, toQNm, toToken, toToken, toTokenOrNull, toZeroTokenMethods inherited from class org.basex.query.expr.Expr
arg, args, atomItem, atomIter, data, data, ddo, funcType, hasFreeVars, isSimple, markTailCalls, mergeEbv, simplifyFor, typeCheck, uses, vacuous, visitAllMethods inherited from class org.basex.query.expr.ExprInfo
description, toErrorString, toString
-
Constructor Details
-
FTWords
Constructor for sequential evaluation.- Parameters:
info- input infoquery- query expressionmode- search modeocc- occurrences
-
FTWords
Constructor for index-based evaluation.- Parameters:
info- input infodb- index databasequery- query termsmode- search mode
-
-
Method Details
-
checkUp
Description copied from class:ExprChecks if the updating semantics are satisfied. This function is only called if any updating expression was found in the query.- Overrides:
checkUpin classFTExpr- Throws:
QueryException- query exception
-
compile
Description copied from class:ExprCompiles and optimizes the expression, assigns types and cardinalities.- Overrides:
compilein classFTExpr- Parameters:
cc- compilation context- Returns:
- optimized expression
- Throws:
QueryException- query exception
-
optimize
Description copied from class:ExprOptimizes an already compiled expression without recompiling its sub-expressions.- Overrides:
optimizein classFTExpr- Parameters:
cc- compilation context- Returns:
- optimized expression
- Throws:
QueryException- query exception
-
optimize
Prepares query evaluation.- Parameters:
qc- query context- Returns:
- self reference
- Throws:
QueryException- query exception
-
ftOpt
Assigns full-text options.- Parameters:
opt- full-text options- Returns:
- self reference
-
item
Description copied from class:FTExprThis method is called by the sequential full-text evaluation. It always returns an item.- Specified by:
itemin classFTExpr- Parameters:
qc- query contextii- input info (only required bySeqinstances, which have no input info)- Returns:
- resulting item
- Throws:
QueryException- query exception
-
iter
Description copied from class:FTExprThis method is called by the index-based full-text evaluation.- Specified by:
iterin classFTExpr- Parameters:
qc- query context- Returns:
- resulting item
- Throws:
QueryException- query exception
-
indexAccessible
Description copied from class:ExprChecks if an expression can be rewritten to an index access. If so, the index expression will be bound toIndexInfo.expr. This method will be called by thePathexpression.- Overrides:
indexAccessiblein classExpr- Parameters:
ii- index info- Returns:
- true if an index can be used
-
usesExclude
public boolean usesExclude()Description copied from class:FTExprChecks if sub expressions of a mild not operator violate the grammar.- Overrides:
usesExcludein classFTExpr- Returns:
- result of check
-
has
Description copied from class:ExprIndicates if an expression has one of the specified compiler properties. This method must only be called at compile time. It is invoked to test properties of sub-expressions. It returnstrueif at least flag matches an expression. -
inlineable
Description copied from class:ExprChecks if inlining is possible. This function is called byInlineContext.inlineable(org.basex.query.expr.Expr...)and:CNode.inlineable(org.basex.query.InlineContext)returns false if the new expression construct new nodes. The following tests might reject inlining if the expression is a context reference:- Overrides:
inlineablein classFTExpr- Parameters:
ic- inlining context- Returns:
- result of check
-
count
Description copied from class:ExprChecks how often a variable or context reference is used in this expression. This function is called by:-
Closure.optimize(org.basex.query.CompileContext) -
GFLWOR.inlineForLet(org.basex.query.CompileContext) -
GFLWOR.optimizePos(org.basex.query.CompileContext) -
GFLWOR.simplify(org.basex.query.CompileContext) -
GFLWOR.unusedVars(org.basex.query.CompileContext) -
SimpleMap.optimize(org.basex.query.CompileContext) -
TypeswitchGroup.optimize(org.basex.query.CompileContext)
-
-
inline
Description copied from class:ExprInlines an expression into this one, replacing all variable or context references. This function is called byInlineContext.inline(Expr)(see invocations of this functions for further inlinings). The variable reference is replaced in: The context is replaced in:- Overrides:
inlinein classFTExpr- Parameters:
ic- inlining context- Returns:
- resulting expression if something has changed,
nullotherwise - Throws:
QueryException- query exception
-
copy
Description copied from class:ExprCopies an expression. Used for inlining functions, or for copying static queries. It is utilized byVarRef.inline(org.basex.query.InlineContext),FuncItem.inline(org.basex.query.expr.Expr[], org.basex.query.CompileContext),Closure.inline(org.basex.query.InlineContext)andStaticFunc.inline(org.basex.query.expr.Expr[], org.basex.query.CompileContext).- Specified by:
copyin classFTExpr- Parameters:
cc- compilation contextvm- mapping from old variable IDs to new variable copies. Required byClosure.copy(org.basex.query.CompileContext, org.basex.util.hash.IntObjMap<org.basex.query.var.Var>)andVarRef.copy(org.basex.query.CompileContext, org.basex.util.hash.IntObjMap<org.basex.query.var.Var>)- Returns:
- copied expression
-
accept
Description copied from class:ExprTraverses this expression, notifying the visitor of declared and used variables, and checking the tree for other recursive properties. -
exprSize
public int exprSize()Description copied from class:ExprCounts the number of expressions in this expression's sub-tree. This method is e.g. called byStaticFunc.inline(org.basex.query.expr.Expr[], org.basex.query.CompileContext)to check if an expression is small enough to be inlined. -
equals
Description copied from class:ExprThis function is e.g. called by:If.optimize(CompileContext),Switch.optimize(CompileContext),Typeswitch.optimize(CompileContext), in order to discard identical expressions.CmpR.mergeEbv(Expr, boolean, CompileContext)orCmpSR.mergeEbv(Expr, boolean, CompileContext), in order to merge expressions with identical input.CmpG.optimize(CompileContext)orCmpV.optimize(CompileContext), in order to pre-evaluate equality tests.CmpG.optimize(CompileContext)orPos.get(Expr, CmpV.OpV, InputInfo, CompileContext), in order to compare the start and end value.PathCache, in order to find identical root values at runtime.
-
plan
Description copied from class:ExprInfoCreates a query plan. -
plan
Description copied from class:ExprInfoCreates a query string.
-