Package com.exasol.adapter.sql
Interface SqlNodeVisitor<R>
-
- Type Parameters:
R- node being visited
public interface SqlNodeVisitor<R>Implementation of the Visitor pattern for the SqlNode.Benefit of this Visitor implementation: We get compile time safety that all Visitors have implementations for all SqlNode types.
Drawback of this Visitor implementation: Whenever a new SqlNode gets added, we need to implement it here (should be fine for now). If this becomes to annoying, we can still switch to a visitor pattern using Reflection.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Rvisit(SqlColumn sqlColumn)Visit.Rvisit(SqlFunctionAggregate sqlFunctionAggregate)Visit.Rvisit(SqlFunctionAggregateGroupConcat sqlFunctionAggregateGroupConcat)Visit.Rvisit(SqlFunctionAggregateListagg sqlFunctionAggregateListagg)Visit.Rvisit(SqlFunctionScalar sqlFunctionScalar)Visit.Rvisit(SqlFunctionScalarCase sqlFunctionScalarCase)Visit.Rvisit(SqlFunctionScalarCast sqlFunctionScalarCast)Visit.Rvisit(SqlFunctionScalarExtract sqlFunctionScalarExtract)Visit.Rvisit(SqlFunctionScalarJsonValue sqlFunctionScalarJsonValue)Visit.Rvisit(SqlGroupBy groupBy)Visit.Rvisit(SqlJoin sqlJoin)Visit.Rvisit(SqlLimit sqlLimit)Visit.Rvisit(SqlLiteralBool sqlLiteralBool)Visit.Rvisit(SqlLiteralDate sqlLiteralDate)Visit.Rvisit(SqlLiteralDouble sqlLiteralDouble)Visit.Rvisit(SqlLiteralExactnumeric sqlLiteralExactnumeric)Visit.Rvisit(SqlLiteralInterval sqlLiteralInterval)Visit.Rvisit(SqlLiteralNull sqlLiteralNull)Visit.Rvisit(SqlLiteralString sqlLiteralString)Visit.Rvisit(SqlLiteralTimestamp sqlLiteralTimestamp)Visit.Rvisit(SqlLiteralTimestampUtc sqlLiteralTimestampUtc)Visit.Rvisit(SqlOrderBy sqlOrderBy)Visit.Rvisit(SqlPredicateAnd sqlPredicateAnd)Visit.Rvisit(SqlPredicateBetween sqlPredicateBetween)Visit.Rvisit(SqlPredicateEqual sqlPredicateEqual)Visit.Rvisit(SqlPredicateInConstList sqlPredicateInConstList)Visit.Rvisit(SqlPredicateIsJson sqlPredicateIsJson)Visit.Rvisit(SqlPredicateIsNotJson sqlPredicateIsNotJson)Visit.Rvisit(SqlPredicateIsNotNull sqlPredicateOr)Visit.Rvisit(SqlPredicateIsNull sqlPredicateOr)Visit.Rvisit(SqlPredicateLess sqlPredicateLess)Visit.Rvisit(SqlPredicateLessEqual sqlPredicateLessEqual)Visit.Rvisit(SqlPredicateLike sqlPredicateLike)Visit.Rvisit(SqlPredicateLikeRegexp sqlPredicateLikeRegexp)Visit.Rvisit(SqlPredicateNot sqlPredicateNot)Visit.Rvisit(SqlPredicateNotEqual sqlPredicateNotEqual)Visit.Rvisit(SqlPredicateOr sqlPredicateOr)Visit.Rvisit(SqlSelectList selectList)Visit.Rvisit(SqlStatementSelect select)Visit.Rvisit(SqlTable sqlTable)Visit.
-
-
-
Method Detail
-
visit
R visit(SqlStatementSelect select) throws AdapterException
Visit.- Parameters:
select- the select- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlSelectList selectList) throws AdapterException
Visit.- Parameters:
selectList- the select list- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlGroupBy groupBy) throws AdapterException
Visit.- Parameters:
groupBy- the group by- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlColumn sqlColumn) throws AdapterException
Visit.- Parameters:
sqlColumn- the sql column- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlFunctionAggregate sqlFunctionAggregate) throws AdapterException
Visit.- Parameters:
sqlFunctionAggregate- the sql function aggregate- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlFunctionAggregateGroupConcat sqlFunctionAggregateGroupConcat) throws AdapterException
Visit.- Parameters:
sqlFunctionAggregateGroupConcat- the sql function aggregate group concat- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlFunctionScalar sqlFunctionScalar) throws AdapterException
Visit.- Parameters:
sqlFunctionScalar- the sql function scalar- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlFunctionScalarCase sqlFunctionScalarCase) throws AdapterException
Visit.- Parameters:
sqlFunctionScalarCase- the sql function scalar case- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlFunctionScalarCast sqlFunctionScalarCast) throws AdapterException
Visit.- Parameters:
sqlFunctionScalarCast- the sql function scalar cast- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlFunctionScalarExtract sqlFunctionScalarExtract) throws AdapterException
Visit.- Parameters:
sqlFunctionScalarExtract- the sql function scalar extract- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlFunctionScalarJsonValue sqlFunctionScalarJsonValue) throws AdapterException
Visit.- Parameters:
sqlFunctionScalarJsonValue- the sql function scalar json value- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlLimit sqlLimit) throws AdapterException
Visit.- Parameters:
sqlLimit- the sql limit- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlLiteralBool sqlLiteralBool) throws AdapterException
Visit.- Parameters:
sqlLiteralBool- the sql literal bool- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlLiteralDate sqlLiteralDate) throws AdapterException
Visit.- Parameters:
sqlLiteralDate- the sql literal date- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlLiteralDouble sqlLiteralDouble) throws AdapterException
Visit.- Parameters:
sqlLiteralDouble- the sql literal double- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlLiteralExactnumeric sqlLiteralExactnumeric) throws AdapterException
Visit.- Parameters:
sqlLiteralExactnumeric- the sql literal exactnumeric- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlLiteralNull sqlLiteralNull) throws AdapterException
Visit.- Parameters:
sqlLiteralNull- the sql literal null- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlLiteralString sqlLiteralString) throws AdapterException
Visit.- Parameters:
sqlLiteralString- the sql literal string- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlLiteralTimestamp sqlLiteralTimestamp) throws AdapterException
Visit.- Parameters:
sqlLiteralTimestamp- the sql literal timestamp- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlLiteralTimestampUtc sqlLiteralTimestampUtc) throws AdapterException
Visit.- Parameters:
sqlLiteralTimestampUtc- the sql literal timestamp utc- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlLiteralInterval sqlLiteralInterval) throws AdapterException
Visit.- Parameters:
sqlLiteralInterval- the sql literal interval- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlOrderBy sqlOrderBy) throws AdapterException
Visit.- Parameters:
sqlOrderBy- the sql order by- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlPredicateAnd sqlPredicateAnd) throws AdapterException
Visit.- Parameters:
sqlPredicateAnd- the sql predicate and- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlPredicateBetween sqlPredicateBetween) throws AdapterException
Visit.- Parameters:
sqlPredicateBetween- the sql predicate between- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlPredicateEqual sqlPredicateEqual) throws AdapterException
Visit.- Parameters:
sqlPredicateEqual- the sql predicate equal- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlPredicateInConstList sqlPredicateInConstList) throws AdapterException
Visit.- Parameters:
sqlPredicateInConstList- the sql predicate in const list- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlPredicateIsJson sqlPredicateIsJson) throws AdapterException
Visit.- Parameters:
sqlPredicateIsJson- the sql predicate is json- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlPredicateIsNotJson sqlPredicateIsNotJson) throws AdapterException
Visit.- Parameters:
sqlPredicateIsNotJson- the sql predicate is not json- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlPredicateLess sqlPredicateLess) throws AdapterException
Visit.- Parameters:
sqlPredicateLess- the sql predicate less- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlPredicateLessEqual sqlPredicateLessEqual) throws AdapterException
Visit.- Parameters:
sqlPredicateLessEqual- the sql predicate less equal- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlPredicateLike sqlPredicateLike) throws AdapterException
Visit.- Parameters:
sqlPredicateLike- the sql predicate like- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlPredicateLikeRegexp sqlPredicateLikeRegexp) throws AdapterException
Visit.- Parameters:
sqlPredicateLikeRegexp- the sql predicate like regexp- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlPredicateNot sqlPredicateNot) throws AdapterException
Visit.- Parameters:
sqlPredicateNot- the sql predicate not- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlPredicateNotEqual sqlPredicateNotEqual) throws AdapterException
Visit.- Parameters:
sqlPredicateNotEqual- the sql predicate not equal- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlPredicateOr sqlPredicateOr) throws AdapterException
Visit.- Parameters:
sqlPredicateOr- the sql predicate or- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlPredicateIsNotNull sqlPredicateOr) throws AdapterException
Visit.- Parameters:
sqlPredicateOr- the sql predicate or- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlPredicateIsNull sqlPredicateOr) throws AdapterException
Visit.- Parameters:
sqlPredicateOr- the sql predicate or- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlTable sqlTable) throws AdapterException
Visit.- Parameters:
sqlTable- the sql table- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlJoin sqlJoin) throws AdapterException
Visit.- Parameters:
sqlJoin- the sql join- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
visit
R visit(SqlFunctionAggregateListagg sqlFunctionAggregateListagg) throws AdapterException
Visit.- Parameters:
sqlFunctionAggregateListagg- the sql function aggregate listagg- Returns:
- the result
- Throws:
AdapterException- the adapter exception
-
-