Package org.nuxeo.ecm.directory.sql
Class SQLQueryBuilder
java.lang.Object
org.nuxeo.ecm.core.query.sql.model.DefaultQueryVisitor
org.nuxeo.ecm.directory.sql.SQLQueryBuilder
- All Implemented Interfaces:
IVisitor
Builds the database-level WHERE query from the AST, and collects parameters associated to free variables along with
the database column to which they correspond.
- Since:
- 10.3
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionfinal StringBuilder
protected final SQLDirectory
protected Column
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
protected Operand
getBooleanLiteral
(Operand rvalue) protected Column
void
protected void
visitColumn
(Column column) void
visitDateLiteral
(DateLiteral node) void
void
visitExpression
(Expression node) protected void
visitExpression
(Column column, Operator op, Operand rvalue) protected void
visitExpressionBetween
(Column column, Operator op, LiteralList list) protected void
visitExpressionILike
(Column column, Operator op, Operand rvalue) protected void
visitExpressionLike
(Column column, Operator op, Operand rvalue) void
visitFunction
(Function node) void
void
visitLiteralList
(LiteralList node) void
void
visitOperator
(Operator node) void
visitReference
(Reference node) void
Methods inherited from class org.nuxeo.ecm.core.query.sql.model.DefaultQueryVisitor
visitFromClause, visitGroupByClause, visitHavingClause, visitLiteral, visitOperandList, visitOrderByClause, visitOrderByExpr, visitOrderByList, visitQuery, visitReferenceList, visitSelectClause, visitWhereClause
-
Field Details
-
directory
-
clause
-
params
-
visitedColumn
-
-
Constructor Details
-
SQLQueryBuilder
-
-
Method Details
-
visitMultiExpression
- Specified by:
visitMultiExpression
in interfaceIVisitor
- Overrides:
visitMultiExpression
in classDefaultQueryVisitor
-
visitExpression
- Specified by:
visitExpression
in interfaceIVisitor
- Overrides:
visitExpression
in classDefaultQueryVisitor
-
visitExpressionBetween
-
visitExpressionLike
-
visitExpressionILike
-
addLikeEscaping
protected void addLikeEscaping() -
visitExpression
-
visitOperator
- Specified by:
visitOperator
in interfaceIVisitor
- Overrides:
visitOperator
in classDefaultQueryVisitor
-
visitReference
- Specified by:
visitReference
in interfaceIVisitor
- Overrides:
visitReference
in classDefaultQueryVisitor
-
visitColumn
-
visitLiteralList
- Specified by:
visitLiteralList
in interfaceIVisitor
- Overrides:
visitLiteralList
in classDefaultQueryVisitor
-
visitDateLiteral
- Specified by:
visitDateLiteral
in interfaceIVisitor
- Overrides:
visitDateLiteral
in classDefaultQueryVisitor
-
visitStringLiteral
- Specified by:
visitStringLiteral
in interfaceIVisitor
- Overrides:
visitStringLiteral
in classDefaultQueryVisitor
-
visitDoubleLiteral
- Specified by:
visitDoubleLiteral
in interfaceIVisitor
- Overrides:
visitDoubleLiteral
in classDefaultQueryVisitor
-
visitIntegerLiteral
- Specified by:
visitIntegerLiteral
in interfaceIVisitor
- Overrides:
visitIntegerLiteral
in classDefaultQueryVisitor
-
visitBooleanLiteral
- Specified by:
visitBooleanLiteral
in interfaceIVisitor
- Overrides:
visitBooleanLiteral
in classDefaultQueryVisitor
-
visitFunction
- Specified by:
visitFunction
in interfaceIVisitor
- Overrides:
visitFunction
in classDefaultQueryVisitor
-
getColumn
-
getBooleanLiteral
-