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 |
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(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(WindowFunction windowFunction) |
void |
visit(WindowSpecification windowSpecification) |
void |
visit(With obj) |
void |
visit(WithItem obj) |
visit, visitNode, visitNodes, visitNodes
public 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 LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(Comparison obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
protected void appendRightComparison(Comparison obj)
public void visit(AndOr obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(Delete obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
protected String replaceElementName(String group, String element)
group
- Group name, may be nullelement
- Element name, never nullpublic void visit(ColumnReference obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public static String getShortName(String elementName)
elementName
- public void visit(Call obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
protected void appendCallStart(Call call)
public void visit(Exists obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
protected boolean isInfixFunction(String function)
public void visit(Function obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(NamedTable obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
protected void appendBaseName(NamedTable obj)
protected boolean useAsInGroupAlias()
public void visit(GroupBy obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(In obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(DerivedTable obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
protected void appendLateralKeyword()
public void visit(NamedProcedureCall obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(Insert obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
protected String getInsertKeyword()
protected String getUpsertKeyword()
public void visit(ExpressionValueSource obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(Parameter obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(IsNull obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(Join obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
protected boolean useParensForLHSJoins()
public void visit(Like obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
protected String getLikeRegexString()
public void visit(Limit obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(Literal obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(Not obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(OrderBy obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(SortSpecification obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(Argument obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(Select obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(SearchedCase obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(SearchedWhenClause obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(ScalarSubquery obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(DerivedColumn obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(SubqueryComparison obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(SubqueryIn obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(Update obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(SetClause clause)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(SetQuery obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
protected 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 LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
protected void appendWithKeyword(With obj)
public void visit(WithItem obj)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(WindowFunction windowFunction)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(WindowSpecification windowSpecification)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public void visit(Array array)
visit
in interface LanguageObjectVisitor
visit
in class AbstractLanguageVisitor
public 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)
Copyright © 2017 JBoss by Red Hat. All rights reserved.