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 R
visit(SqlColumn sqlColumn)
Visit.R
visit(SqlFunctionAggregate sqlFunctionAggregate)
Visit.R
visit(SqlFunctionAggregateGroupConcat sqlFunctionAggregateGroupConcat)
Visit.R
visit(SqlFunctionAggregateListagg sqlFunctionAggregateListagg)
Visit.R
visit(SqlFunctionScalar sqlFunctionScalar)
Visit.R
visit(SqlFunctionScalarCase sqlFunctionScalarCase)
Visit.R
visit(SqlFunctionScalarCast sqlFunctionScalarCast)
Visit.R
visit(SqlFunctionScalarExtract sqlFunctionScalarExtract)
Visit.R
visit(SqlFunctionScalarJsonValue sqlFunctionScalarJsonValue)
Visit.R
visit(SqlGroupBy groupBy)
Visit.R
visit(SqlJoin sqlJoin)
Visit.R
visit(SqlLimit sqlLimit)
Visit.R
visit(SqlLiteralBool sqlLiteralBool)
Visit.R
visit(SqlLiteralDate sqlLiteralDate)
Visit.R
visit(SqlLiteralDouble sqlLiteralDouble)
Visit.R
visit(SqlLiteralExactnumeric sqlLiteralExactnumeric)
Visit.R
visit(SqlLiteralInterval sqlLiteralInterval)
Visit.R
visit(SqlLiteralNull sqlLiteralNull)
Visit.R
visit(SqlLiteralString sqlLiteralString)
Visit.R
visit(SqlLiteralTimestamp sqlLiteralTimestamp)
Visit.R
visit(SqlLiteralTimestampUtc sqlLiteralTimestampUtc)
Visit.R
visit(SqlOrderBy sqlOrderBy)
Visit.R
visit(SqlPredicateAnd sqlPredicateAnd)
Visit.R
visit(SqlPredicateBetween sqlPredicateBetween)
Visit.R
visit(SqlPredicateEqual sqlPredicateEqual)
Visit.R
visit(SqlPredicateInConstList sqlPredicateInConstList)
Visit.R
visit(SqlPredicateIsJson sqlPredicateIsJson)
Visit.R
visit(SqlPredicateIsNotJson sqlPredicateIsNotJson)
Visit.R
visit(SqlPredicateIsNotNull sqlPredicateOr)
Visit.R
visit(SqlPredicateIsNull sqlPredicateOr)
Visit.R
visit(SqlPredicateLess sqlPredicateLess)
Visit.R
visit(SqlPredicateLessEqual sqlPredicateLessEqual)
Visit.R
visit(SqlPredicateLike sqlPredicateLike)
Visit.R
visit(SqlPredicateLikeRegexp sqlPredicateLikeRegexp)
Visit.R
visit(SqlPredicateNot sqlPredicateNot)
Visit.R
visit(SqlPredicateNotEqual sqlPredicateNotEqual)
Visit.R
visit(SqlPredicateOr sqlPredicateOr)
Visit.R
visit(SqlSelectList selectList)
Visit.R
visit(SqlStatementSelect select)
Visit.R
visit(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
-
-