Class FederationExpressionParser
- java.lang.Object
- 
- com.amazonaws.athena.connectors.jdbc.manager.FederationExpressionParser
 
- 
- Direct Known Subclasses:
- BigQueryFederationExpressionParser,- DefaultJdbcFederationExpressionParser,- JdbcFederationExpressionParser
 
 public abstract class FederationExpressionParser extends Object 
- 
- 
Constructor SummaryConstructors Constructor Description FederationExpressionParser()
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract StringmapFunctionToDataSourceSyntax(FunctionName functionName, org.apache.arrow.vector.types.pojo.ArrowType type, List<String> arguments)Each datasource has different syntax for various operations, quotes, etc.List<String>parseComplexExpressions(List<org.apache.arrow.vector.types.pojo.Field> columns, Constraints constraints, List<TypeAndValue> accumulator)StringparseConstantExpression(ConstantExpression constantExpression, List<TypeAndValue> accumulator)StringparseFunctionCallExpression(FunctionCallExpression functionCallExpression, List<TypeAndValue> accumulator)This is a recursive function, as function calls can have arguments which, themselves, are function calls.StringparseVariableExpression(VariableExpression variableExpression)Various connectors have different standards for wrapping column names in some specific quote character.
 
- 
- 
- 
Method Detail- 
mapFunctionToDataSourceSyntaxpublic abstract String mapFunctionToDataSourceSyntax(FunctionName functionName, org.apache.arrow.vector.types.pojo.ArrowType type, List<String> arguments) Each datasource has different syntax for various operations, quotes, etc. This is the only method a subclass to implement, and otherwise will just invoke parseComplexExpressions.
 - 
parseComplexExpressionspublic List<String> parseComplexExpressions(List<org.apache.arrow.vector.types.pojo.Field> columns, Constraints constraints, List<TypeAndValue> accumulator) 
 - 
parseFunctionCallExpressionpublic String parseFunctionCallExpression(FunctionCallExpression functionCallExpression, List<TypeAndValue> accumulator) This is a recursive function, as function calls can have arguments which, themselves, are function calls.- Parameters:
- functionCallExpression-
- Returns:
 
 - 
parseConstantExpressionpublic String parseConstantExpression(ConstantExpression constantExpression, List<TypeAndValue> accumulator) 
 - 
parseVariableExpressionpublic String parseVariableExpression(VariableExpression variableExpression) Various connectors have different standards for wrapping column names in some specific quote character. This default implementation just returns the column name for connectors that don't have this specification.
 
- 
 
-