Interface StatementRenderer<T>

  • All Known Implementing Classes:
    StringStatementRenderer

    public interface StatementRenderer<T>
    Defines the contract for rendering statements. Can be used to address small differences in database syntax and some simple optimizations/query rewrites if necessary
    • Method Detail

      • select

        T select​(java.util.List<With> withClauses,
                 boolean distinct,
                 SelectList selectList,
                 FromClause fromClause,
                 WhereClause whereClause,
                 GroupByClause groupByClause,
                 HavingClause havingClause,
                 OrderByClause orderByClause,
                 PaginationClause paginationClause,
                 boolean unionAll,
                 Select union)
        Render the select statement using each of the components, some of which may be optional (null)
        Parameters:
        withClauses -
        distinct -
        selectList -
        fromClause -
        whereClause -
        groupByClause -
        havingClause -
        orderByClause -
        paginationClause -
        unionAll -
        union -
        Returns:
      • with

        T with​(T subSelect,
               T aliasValue)
        Render a WITH foo AS (select ...) clause
        Parameters:
        subSelect -
        aliasValue -
        Returns:
      • from

        T from​(java.util.List<FromItem> items)
        Parameters:
        items -
        Returns:
      • fromItem

        T fromItem​(FromItem item)
        Render the given item
        Parameters:
        item -
        Returns:
      • rowSource

        T rowSource​(T sub)
        Parameters:
        sub -
        Returns:
      • fromItem

        T fromItem​(T subValue,
                   T aliasValue)
        Parameters:
        subValue -
        aliasValue -
        Returns:
      • alias

        T alias​(java.lang.String alias)
        Parameters:
        alias -
        Returns:
      • rowSource

        T rowSource​(java.lang.String schemaName,
                    java.lang.String tableName)
        Parameters:
        schemaName -
        tableName -
        Returns:
      • render

        T render​(ExpNode joinOnPredicate)
        Parameters:
        joinOnPredicate -
        Returns:
      • innerJoin

        T innerJoin​(T joinFromValue,
                    T joinOnValue)
        Parameters:
        joinFromValue -
        joinOnValue -
        Returns:
      • leftOuterJoin

        T leftOuterJoin​(T joinFromValue,
                        T joinOnValue)
        Parameters:
        joinFromValue -
        joinOnValue -
        Returns:
      • fullOuterJoin

        T fullOuterJoin​(T joinFromValue,
                        T joinOnValue)
        Parameters:
        joinFromValue -
        joinOnValue -
        Returns: