Class SnowflakeQueryStringBuilder
- java.lang.Object
-
- com.amazonaws.athena.connectors.jdbc.manager.JdbcSplitQueryBuilder
-
- com.amazonaws.athena.connectors.snowflake.SnowflakeQueryStringBuilder
-
public class SnowflakeQueryStringBuilder extends JdbcSplitQueryBuilder
ExtendsJdbcSplitQueryBuilderand implements MySql specific SQL clauses for split. MySql provides named partitions which can be used in a FROM clause.
-
-
Field Summary
-
Fields inherited from class com.amazonaws.athena.connectors.jdbc.manager.JdbcSplitQueryBuilder
emptyString
-
-
Constructor Summary
Constructors Constructor Description SnowflakeQueryStringBuilder(String quoteCharacters, FederationExpressionParser federationExpressionParser)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected StringappendLimitOffset(Split split)StringgetBaseExportSQLString(String catalog, String schema, String table, org.apache.arrow.vector.types.pojo.Schema tableSchema, Constraints constraints)protected StringgetFromClauseWithSplit(String catalog, String schema, String table, Split split)protected List<String>getPartitionWhereClauses(Split split)protected org.apache.calcite.sql.SqlDialectgetSqlDialect()protected org.apache.calcite.sql.SqlDialectgetSqlDialect(boolean catalogCasingFilterUpperCase)Returns the SQL dialect to use for query generation with catalog casing filter support.protected Stringquote(String name)protected StringsingleQuote(String name)-
Methods inherited from class com.amazonaws.athena.connectors.jdbc.manager.JdbcSplitQueryBuilder
addPartitionWhereClauses, appendLimitOffset, appendLimitOffsetWithValue, buildSql, buildSQLStringLiteral, extractOrderByClause, prepareStatementWithCalciteSql, prepareStatementWithSql, toPredicate
-
-
-
-
Constructor Detail
-
SnowflakeQueryStringBuilder
public SnowflakeQueryStringBuilder(String quoteCharacters, FederationExpressionParser federationExpressionParser)
-
-
Method Detail
-
getFromClauseWithSplit
protected String getFromClauseWithSplit(String catalog, String schema, String table, Split split)
- Specified by:
getFromClauseWithSplitin classJdbcSplitQueryBuilder
-
getPartitionWhereClauses
protected List<String> getPartitionWhereClauses(Split split)
- Specified by:
getPartitionWhereClausesin classJdbcSplitQueryBuilder
-
getBaseExportSQLString
public String getBaseExportSQLString(String catalog, String schema, String table, org.apache.arrow.vector.types.pojo.Schema tableSchema, Constraints constraints) throws SQLException
- Throws:
SQLException
-
quote
protected String quote(String name)
- Overrides:
quotein classJdbcSplitQueryBuilder
-
appendLimitOffset
protected String appendLimitOffset(Split split)
- Overrides:
appendLimitOffsetin classJdbcSplitQueryBuilder
-
getSqlDialect
protected org.apache.calcite.sql.SqlDialect getSqlDialect()
- Overrides:
getSqlDialectin classJdbcSplitQueryBuilder
-
getSqlDialect
protected org.apache.calcite.sql.SqlDialect getSqlDialect(boolean catalogCasingFilterUpperCase)
Description copied from class:JdbcSplitQueryBuilderReturns the SQL dialect to use for query generation with catalog casing filter support. Subclasses should override to return a database-specific dialect.- Overrides:
getSqlDialectin classJdbcSplitQueryBuilder- Parameters:
catalogCasingFilterUpperCase- whether to apply catalog casing to quoted identifiers- Returns:
- the
SqlDialectinstance
-
-