public class SQLStringVisitor extends AbstractLanguageVisitor
| Modifier and Type | Class and Description |
|---|---|
static interface |
SQLStringVisitor.Substitutor |
| Modifier and Type | Field and Description |
|---|---|
protected StringBuilder |
buffer |
protected boolean |
shortNameOnly |
static String |
TEIID_NATIVE_QUERY |
protected static String |
UNDEFINED |
protected static String |
UNDEFINED_PARAM |
| Constructor and Description |
|---|
SQLStringVisitor() |
| Modifier and Type | Method and Description |
|---|---|
void |
append(LanguageObject obj)
Appends the string form of the LanguageObject to the current buffer.
|
protected void |
append(LanguageObject[] items)
Simple utility to append an array of language objects to the current buffer
by creating a comma-separated list.
|
protected void |
append(List<? extends LanguageObject> items)
Simple utility to append a list of language objects to the current buffer
by creating a comma-separated list.
|
protected void |
appendBaseName(NamedTable obj) |
protected void |
appendCallStart(Call call) |
protected void |
appendLateralKeyword() |
protected void |
appendLiteral(Literal obj,
Class<?> type) |
protected void |
appendNestedCondition(AndOr parent,
Condition condition) |
protected void |
appendQuantifier(SubqueryComparison obj) |
protected void |
appendRightComparison(Comparison obj) |
protected void |
appendSetOperation(SetQuery.Operation operation) |
protected void |
appendSetQuery(SetQuery parent,
QueryExpression obj,
boolean right) |
protected void |
appendWithKeyword(With obj) |
protected String |
escapeString(String str,
String quote)
Creates a SQL-safe string.
|
protected String |
getInsertKeyword() |
protected String |
getLikeRegexString() |
protected String |
getName(AbstractMetadataRecord object)
Gets the name of a group or element from the RuntimeMetadata
|
static String |
getRecordName(AbstractMetadataRecord object)
Get the name in source or the name if
the name in source is not set.
|
static String |
getShortName(String elementName) |
protected String |
getSourceComment(Command command) |
static String |
getSQLString(LanguageObject obj)
Gets the SQL string representation for a given LanguageObject.
|
protected String |
getUpsertKeyword() |
protected boolean |
isInfixFunction(String function) |
static void |
parseNativeQueryParts(String nativeQuery,
List<Argument> list,
StringBuilder stringBuilder,
SQLStringVisitor.Substitutor substitutor) |
protected String |
replaceElementName(String group,
String element)
Take the specified derived group and element short names and determine a
replacement element name to use instead.
|
protected boolean |
shouldNestSetChild(SetQuery parent,
QueryExpression obj,
boolean right) |
String |
toString() |
protected boolean |
useAsInGroupAlias()
Indicates whether group alias should be of the form
"...FROM groupA AS X" or "...FROM groupA X".
|
protected boolean |
useParensForJoins() |
protected boolean |
useParensForLHSJoins()
If a nested left hand join should have parens
|
protected boolean |
useParensForSetQueries() |
protected boolean |
useSelectLimit() |
void |
visit(AggregateFunction obj) |
void |
visit(AndOr obj) |
void |
visit(Argument obj) |
void |
visit(Array array) |
void |
visit(Call obj) |
void |
visit(ColumnReference obj) |
void |
visit(Comparison obj) |
void |
visit(Delete obj) |
void |
visit(DerivedColumn obj) |
void |
visit(DerivedTable obj) |
void |
visit(Exists obj) |
void |
visit(ExpressionValueSource obj) |
void |
visit(Function obj) |
void |
visit(GroupBy obj) |
void |
visit(In obj) |
void |
visit(Insert obj) |
void |
visit(IsDistinct isDistinct) |
void |
visit(IsNull obj) |
void |
visit(Join obj) |
void |
visit(Like obj) |
void |
visit(Limit obj) |
void |
visit(Literal obj) |
void |
visit(NamedProcedureCall obj) |
void |
visit(NamedTable obj) |
void |
visit(Not obj) |
void |
visit(OrderBy obj) |
void |
visit(Parameter obj) |
void |
visit(ScalarSubquery obj) |
void |
visit(SearchedCase obj) |
void |
visit(SearchedWhenClause obj) |
void |
visit(Select obj) |
void |
visit(SetClause clause) |
void |
visit(SetQuery obj) |
void |
visit(SortSpecification obj) |
void |
visit(SubqueryComparison obj) |
void |
visit(SubqueryIn obj) |
void |
visit(Update obj) |
void |
visit(WindowFrame windowFrame) |
void |
visit(WindowFunction windowFunction) |
void |
visit(WindowSpecification windowSpecification) |
void |
visit(With obj) |
void |
visit(WithItem obj) |
visit, visitNode, visitNodes, visitNodespublic static final String TEIID_NATIVE_QUERY
protected static final String UNDEFINED
protected static final String UNDEFINED_PARAM
protected StringBuilder buffer
protected boolean shortNameOnly
protected String getName(AbstractMetadataRecord object)
id - the id of the group or elementpublic static String getRecordName(AbstractMetadataRecord object)
public void append(LanguageObject obj)
obj - the language object instanceprotected void append(List<? extends LanguageObject> items)
items - a list of LanguageObjectsprotected void append(LanguageObject[] items)
items - an array of LanguageObjectsprotected String escapeString(String str, String quote)
str - the input stringpublic void visit(AggregateFunction obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(Comparison obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorprotected void appendRightComparison(Comparison obj)
public void visit(AndOr obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(Delete obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorprotected String replaceElementName(String group, String element)
group - Group name, may be nullelement - Element name, never nullpublic void visit(ColumnReference obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic static String getShortName(String elementName)
elementName - public void visit(Call obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorprotected void appendCallStart(Call call)
public void visit(Exists obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorprotected boolean isInfixFunction(String function)
public void visit(Function obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(NamedTable obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorprotected void appendBaseName(NamedTable obj)
protected boolean useAsInGroupAlias()
public void visit(GroupBy obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(In obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(DerivedTable obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorprotected void appendLateralKeyword()
public void visit(NamedProcedureCall obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(Insert obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorprotected String getInsertKeyword()
protected String getUpsertKeyword()
public void visit(ExpressionValueSource obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(Parameter obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(IsNull obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(Join obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorprotected boolean useParensForLHSJoins()
public void visit(Like obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorprotected String getLikeRegexString()
public void visit(Limit obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(Literal obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(Not obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(OrderBy obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(SortSpecification obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(Argument obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(Select obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(SearchedCase obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(SearchedWhenClause obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(ScalarSubquery obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(DerivedColumn obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(SubqueryComparison obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorprotected void appendQuantifier(SubqueryComparison obj)
public void visit(SubqueryIn obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(Update obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(SetClause clause)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(SetQuery obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorprotected void appendSetOperation(SetQuery.Operation operation)
protected boolean useParensForSetQueries()
protected void appendSetQuery(SetQuery parent, QueryExpression obj, boolean right)
protected boolean shouldNestSetChild(SetQuery parent, QueryExpression obj, boolean right)
public void visit(With obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorprotected void appendWithKeyword(With obj)
public void visit(WithItem obj)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(WindowFunction windowFunction)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(WindowSpecification windowSpecification)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(WindowFrame windowFrame)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic void visit(Array array)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorpublic static String getSQLString(LanguageObject obj)
obj - the root of the LanguageObject hierarchy that needs to be
converted. This can be any subtree, and does not need to be a top-level
commandprotected boolean useParensForJoins()
protected boolean useSelectLimit()
public static void parseNativeQueryParts(String nativeQuery, List<Argument> list, StringBuilder stringBuilder, SQLStringVisitor.Substitutor substitutor)
public void visit(IsDistinct isDistinct)
visit in interface LanguageObjectVisitorvisit in class AbstractLanguageVisitorCopyright © 2019. All rights reserved.