Package org.teiid.translator.couchbase
Class N1QLVisitor
- java.lang.Object
-
- org.teiid.language.visitor.AbstractLanguageVisitor
-
- org.teiid.language.visitor.SQLStringVisitor
-
- org.teiid.translator.couchbase.N1QLVisitor
-
- All Implemented Interfaces:
LanguageObjectVisitor
- Direct Known Subclasses:
N1QLUpdateVisitor
public class N1QLVisitor extends SQLStringVisitor
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
N1QLVisitor.CBColumn
-
Nested classes/interfaces inherited from class org.teiid.language.visitor.SQLStringVisitor
SQLStringVisitor.Substitutor
-
-
Field Summary
Fields Modifier and Type Field Description protected CouchbaseExecutionFactory
ef
protected boolean
isArrayTable
protected String
typedName
protected String
typedValue
-
Fields inherited from class org.teiid.language.visitor.SQLStringVisitor
buffer, shortNameOnly, TEIID_NATIVE_QUERY, UNDEFINED, UNDEFINED_PARAM
-
-
Constructor Summary
Constructors Constructor Description N1QLVisitor(CouchbaseExecutionFactory ef)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
appendSetQuery(SetQuery parent, QueryExpression obj, boolean right)
protected String
buildMeta(String alias)
protected String
escapeString(String str, String quote)
Creates a SQL-safe string.protected N1QLVisitor.CBColumn
formCBColumn(ColumnReference obj)
protected org.teiid.translator.couchbase.N1QLVisitor.AliasGenerator
getColumnAliasGenerator()
List<String>
getSelectColumns()
protected org.teiid.translator.couchbase.N1QLVisitor.AliasGenerator
getTableAliasGenerator()
protected boolean
isPKColumn(ColumnReference obj)
protected void
retrieveTableProperty(NamedTable table)
void
visit(AndOr obj)
void
visit(Call call)
void
visit(ColumnReference obj)
void
visit(DerivedColumn obj)
void
visit(Function obj)
void
visit(Limit limit)
void
visit(NamedTable obj)
void
visit(Select obj)
-
Methods inherited from class org.teiid.language.visitor.SQLStringVisitor
append, append, append, appendBaseName, appendCallStart, appendLateralKeyword, appendLiteral, appendNestedCondition, appendQuantifier, appendRightComparison, appendSetOperation, appendWithKeyword, getInsertKeyword, getLikeRegexString, getName, getRecordName, getShortName, getSourceComment, getSQLString, getUpsertKeyword, isInfixFunction, parseNativeQueryParts, replaceElementName, shouldNestSetChild, toString, useAsInGroupAlias, useParensForJoins, useParensForLHSJoins, useParensForSetQueries, useSelectLimit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
-
Methods inherited from class org.teiid.language.visitor.AbstractLanguageVisitor
visit, visitNode, visitNodes, visitNodes
-
-
-
-
Field Detail
-
ef
protected CouchbaseExecutionFactory ef
-
isArrayTable
protected boolean isArrayTable
-
typedName
protected String typedName
-
typedValue
protected String typedValue
-
-
Constructor Detail
-
N1QLVisitor
public N1QLVisitor(CouchbaseExecutionFactory ef)
-
-
Method Detail
-
appendSetQuery
protected void appendSetQuery(SetQuery parent, QueryExpression obj, boolean right)
- Overrides:
appendSetQuery
in classSQLStringVisitor
-
visit
public void visit(Select obj)
- Specified by:
visit
in interfaceLanguageObjectVisitor
- Overrides:
visit
in classSQLStringVisitor
-
visit
public void visit(AndOr obj)
- Specified by:
visit
in interfaceLanguageObjectVisitor
- Overrides:
visit
in classSQLStringVisitor
-
visit
public void visit(NamedTable obj)
- Specified by:
visit
in interfaceLanguageObjectVisitor
- Overrides:
visit
in classSQLStringVisitor
-
visit
public void visit(DerivedColumn obj)
- Specified by:
visit
in interfaceLanguageObjectVisitor
- Overrides:
visit
in classSQLStringVisitor
-
visit
public void visit(ColumnReference obj)
- Specified by:
visit
in interfaceLanguageObjectVisitor
- Overrides:
visit
in classSQLStringVisitor
-
formCBColumn
protected N1QLVisitor.CBColumn formCBColumn(ColumnReference obj)
-
retrieveTableProperty
protected void retrieveTableProperty(NamedTable table)
-
isPKColumn
protected boolean isPKColumn(ColumnReference obj)
-
visit
public void visit(Function obj)
- Specified by:
visit
in interfaceLanguageObjectVisitor
- Overrides:
visit
in classSQLStringVisitor
-
visit
public void visit(Limit limit)
- Specified by:
visit
in interfaceLanguageObjectVisitor
- Overrides:
visit
in classSQLStringVisitor
-
getColumnAliasGenerator
protected org.teiid.translator.couchbase.N1QLVisitor.AliasGenerator getColumnAliasGenerator()
-
getTableAliasGenerator
protected org.teiid.translator.couchbase.N1QLVisitor.AliasGenerator getTableAliasGenerator()
-
visit
public void visit(Call call)
- Specified by:
visit
in interfaceLanguageObjectVisitor
- Overrides:
visit
in classSQLStringVisitor
-
escapeString
protected String escapeString(String str, String quote)
Description copied from class:SQLStringVisitor
Creates a SQL-safe string. Simply replaces all occurrences of ' with ''- Overrides:
escapeString
in classSQLStringVisitor
- Parameters:
str
- the input string- Returns:
- a SQL-safe string
-
-