Interface SqlAstTranslator<T extends JdbcOperation>

All Superinterfaces:
SqlAstWalker
All Known Implementing Classes:
AbstractSqlAstTranslator, CockroachSqlAstTranslator, DB2iSqlAstTranslator, DB2SqlAstTranslator, DB2zSqlAstTranslator, DerbySqlAstTranslator, H2SqlAstTranslator, HANASqlAstTranslator, HSQLSqlAstTranslator, MariaDBSqlAstTranslator, MySQLSqlAstTranslator, OracleSqlAstTranslator, PostgreSQLSqlAstTranslator, SpannerSqlAstTranslator, SqlAstTranslatorWithMerge, SqlAstTranslatorWithUpsert, SQLServerSqlAstTranslator, StandardSqlAstTranslator, SybaseASESqlAstTranslator, SybaseSqlAstTranslator, TiDBSqlAstTranslator

public interface SqlAstTranslator<T extends JdbcOperation> extends SqlAstWalker
Author:
Steve Ebersole
  • Method Details

    • getSessionFactory

      SessionFactoryImplementor getSessionFactory()
    • render

      void render(SqlAstNode sqlAstNode, SqlAstNodeRenderingMode renderingMode)
      Renders the given SQL AST node with the given rendering mode.
    • supportsFilterClause

      boolean supportsFilterClause()
      Whether the FILTER clause for aggregate functions is supported.
    • getCurrentQueryPart

      QueryPart getCurrentQueryPart()
      Returns the current query part that is translated.
    • getCurrentClauseStack

      Stack<Clause> getCurrentClauseStack()
    • getAffectedTableNames

      Set<String> getAffectedTableNames()
      Not the best spot for this. Its the table names collected while walking the SQL AST. Its ok here because the translator is consider a one-time-use. It just needs to be called after translation. A better option is probably to have "translation" objects that expose the affected table-names.
    • translate

      T translate(JdbcParameterBindings jdbcParameterBindings, QueryOptions queryOptions)