Package org.teiid.translator.solr
Class SolrSQLHierarchyVistor
- java.lang.Object
-
- org.teiid.language.visitor.AbstractLanguageVisitor
-
- org.teiid.language.visitor.HierarchyVisitor
-
- org.teiid.translator.solr.SolrSQLHierarchyVistor
-
- All Implemented Interfaces:
LanguageObjectVisitor
public class SolrSQLHierarchyVistor extends HierarchyVisitor
-
-
Field Summary
Fields Modifier and Type Field Description protected StringBuilderbufferprotected Stack<String>onGoingExpression
-
Constructor Summary
Constructors Constructor Description SolrSQLHierarchyVistor(RuntimeMetadata metadata, SolrExecutionFactory ef)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected StringescapeString(String str)Creates a SQL-safe string.static StringgetColumnName(ColumnReference obj)List<String>getFieldNameList()org.apache.solr.client.solrj.SolrQuerygetSolrQuery()booleanisCountStarInUse()booleanisLimitInUse()voidvisit(AggregateFunction obj)voidvisit(AndOr obj)voidvisit(ColumnReference obj)voidvisit(Comparison obj)Note: Solr does not support <,> exclusively.voidvisit(DerivedColumn obj)voidvisit(Function obj)voidvisit(In obj)voidvisit(Like obj)voidvisit(Limit obj)voidvisit(Literal obj)voidvisit(OrderBy obj)voidvisit(SortSpecification obj)-
Methods inherited from class org.teiid.language.visitor.HierarchyVisitor
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, visit, visit, visit, visitNode, visitNodes, visitNodes
-
-
-
-
Field Detail
-
buffer
protected StringBuilder buffer
-
-
Constructor Detail
-
SolrSQLHierarchyVistor
public SolrSQLHierarchyVistor(RuntimeMetadata metadata, SolrExecutionFactory ef)
-
-
Method Detail
-
visit
public void visit(DerivedColumn obj)
- Specified by:
visitin interfaceLanguageObjectVisitor- Overrides:
visitin classHierarchyVisitor
-
getColumnName
public static String getColumnName(ColumnReference obj)
-
visit
public void visit(ColumnReference obj)
- Specified by:
visitin interfaceLanguageObjectVisitor- Overrides:
visitin classAbstractLanguageVisitor
-
getFieldNameList
public List<String> getFieldNameList()
- Returns:
- the full column names tableName.columnNames
-
visit
public void visit(Comparison obj)
Note: Solr does not support <,> exclusively. It is always <=, >=- Specified by:
visitin interfaceLanguageObjectVisitor- Overrides:
visitin classHierarchyVisitor
-
visit
public void visit(AndOr obj)
- Specified by:
visitin interfaceLanguageObjectVisitor- Overrides:
visitin classHierarchyVisitor
-
visit
public void visit(In obj)
- Specified by:
visitin interfaceLanguageObjectVisitor- Overrides:
visitin classHierarchyVisitor
-
visit
public void visit(Like obj)
- Specified by:
visitin interfaceLanguageObjectVisitor- Overrides:
visitin classHierarchyVisitor- See Also:
Description: transforms the like statements into solor syntax
-
visit
public void visit(Literal obj)
- Specified by:
visitin interfaceLanguageObjectVisitor- Overrides:
visitin classAbstractLanguageVisitor
-
escapeString
protected String escapeString(String str)
Creates a SQL-safe string. Simply replaces all occurrences of ' with ''- Parameters:
str- the input string- Returns:
- a SQL-safe string
-
visit
public void visit(Limit obj)
- Specified by:
visitin interfaceLanguageObjectVisitor- Overrides:
visitin classAbstractLanguageVisitor
-
visit
public void visit(OrderBy obj)
- Specified by:
visitin interfaceLanguageObjectVisitor- Overrides:
visitin classHierarchyVisitor
-
visit
public void visit(SortSpecification obj)
- Specified by:
visitin interfaceLanguageObjectVisitor- Overrides:
visitin classHierarchyVisitor
-
visit
public void visit(Function obj)
- Specified by:
visitin interfaceLanguageObjectVisitor- Overrides:
visitin classHierarchyVisitor
-
visit
public void visit(AggregateFunction obj)
- Specified by:
visitin interfaceLanguageObjectVisitor- Overrides:
visitin classHierarchyVisitor
-
getSolrQuery
public org.apache.solr.client.solrj.SolrQuery getSolrQuery()
-
isLimitInUse
public boolean isLimitInUse()
-
isCountStarInUse
public boolean isCountStarInUse()
-
-