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:
org.teiid.language.visitor.LanguageObjectVisitor
public class SolrSQLHierarchyVistor extends org.teiid.language.visitor.HierarchyVisitor
-
-
Field Summary
Fields Modifier and Type Field Description protected StringBuilderbufferprotected Stack<String>onGoingExpression
-
Constructor Summary
Constructors Constructor Description SolrSQLHierarchyVistor(org.teiid.metadata.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(org.teiid.language.ColumnReference obj)List<String>getFieldNameList()org.apache.solr.client.solrj.SolrQuerygetSolrQuery()booleanisCountStarInUse()booleanisLimitInUse()voidvisit(org.teiid.language.AggregateFunction obj)voidvisit(org.teiid.language.AndOr obj)voidvisit(org.teiid.language.ColumnReference obj)voidvisit(org.teiid.language.Comparison obj)Note: Solr does not support <,> exclusively.voidvisit(org.teiid.language.DerivedColumn obj)voidvisit(org.teiid.language.Function obj)voidvisit(org.teiid.language.In obj)voidvisit(org.teiid.language.Like obj)voidvisit(org.teiid.language.Limit obj)voidvisit(org.teiid.language.Literal obj)voidvisit(org.teiid.language.OrderBy obj)voidvisit(org.teiid.language.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
-
-
-
-
Field Detail
-
buffer
protected StringBuilder buffer
-
-
Constructor Detail
-
SolrSQLHierarchyVistor
public SolrSQLHierarchyVistor(org.teiid.metadata.RuntimeMetadata metadata, SolrExecutionFactory ef)
-
-
Method Detail
-
visit
public void visit(org.teiid.language.DerivedColumn obj)
- Specified by:
visitin interfaceorg.teiid.language.visitor.LanguageObjectVisitor- Overrides:
visitin classorg.teiid.language.visitor.HierarchyVisitor
-
getColumnName
public static String getColumnName(org.teiid.language.ColumnReference obj)
-
visit
public void visit(org.teiid.language.ColumnReference obj)
- Specified by:
visitin interfaceorg.teiid.language.visitor.LanguageObjectVisitor- Overrides:
visitin classorg.teiid.language.visitor.AbstractLanguageVisitor
-
getFieldNameList
public List<String> getFieldNameList()
- Returns:
- the full column names tableName.columnNames
-
visit
public void visit(org.teiid.language.Comparison obj)
Note: Solr does not support <,> exclusively. It is always <=, >=- Specified by:
visitin interfaceorg.teiid.language.visitor.LanguageObjectVisitor- Overrides:
visitin classorg.teiid.language.visitor.HierarchyVisitor
-
visit
public void visit(org.teiid.language.AndOr obj)
- Specified by:
visitin interfaceorg.teiid.language.visitor.LanguageObjectVisitor- Overrides:
visitin classorg.teiid.language.visitor.HierarchyVisitor
-
visit
public void visit(org.teiid.language.In obj)
- Specified by:
visitin interfaceorg.teiid.language.visitor.LanguageObjectVisitor- Overrides:
visitin classorg.teiid.language.visitor.HierarchyVisitor
-
visit
public void visit(org.teiid.language.Like obj)
- Specified by:
visitin interfaceorg.teiid.language.visitor.LanguageObjectVisitor- Overrides:
visitin classorg.teiid.language.visitor.HierarchyVisitor- See Also:
Description: transforms the like statements into solor syntax
-
visit
public void visit(org.teiid.language.Literal obj)
- Specified by:
visitin interfaceorg.teiid.language.visitor.LanguageObjectVisitor- Overrides:
visitin classorg.teiid.language.visitor.AbstractLanguageVisitor
-
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(org.teiid.language.Limit obj)
- Specified by:
visitin interfaceorg.teiid.language.visitor.LanguageObjectVisitor- Overrides:
visitin classorg.teiid.language.visitor.AbstractLanguageVisitor
-
visit
public void visit(org.teiid.language.OrderBy obj)
- Specified by:
visitin interfaceorg.teiid.language.visitor.LanguageObjectVisitor- Overrides:
visitin classorg.teiid.language.visitor.HierarchyVisitor
-
visit
public void visit(org.teiid.language.SortSpecification obj)
- Specified by:
visitin interfaceorg.teiid.language.visitor.LanguageObjectVisitor- Overrides:
visitin classorg.teiid.language.visitor.HierarchyVisitor
-
visit
public void visit(org.teiid.language.Function obj)
- Specified by:
visitin interfaceorg.teiid.language.visitor.LanguageObjectVisitor- Overrides:
visitin classorg.teiid.language.visitor.HierarchyVisitor
-
visit
public void visit(org.teiid.language.AggregateFunction obj)
- Specified by:
visitin interfaceorg.teiid.language.visitor.LanguageObjectVisitor- Overrides:
visitin classorg.teiid.language.visitor.HierarchyVisitor
-
getSolrQuery
public org.apache.solr.client.solrj.SolrQuery getSolrQuery()
-
isLimitInUse
public boolean isLimitInUse()
-
isCountStarInUse
public boolean isCountStarInUse()
-
-