Interface Sql

All Known Subinterfaces:
AggregateFunction, Alias, ColumnFunction, Constant, Expression, Function, LeftOperand, Order, OrderExpression, Predicate, PreparableStatement, Projection, Relation, SingleRowFunction, Subquery, SystemFunction
All Known Implementing Classes:
Abs, Addition, And, Ascending, Avg, Ceil, Column, ColumnAlias, ColumnPosition, ColumnRef, Concat, Count, CountAll, CurrentDate, CurrentTime, CurrentTimestamp, DeleteStatement, Descending, Division, Eq, ExistsSubquery, ExpressionSubquery, Floor, Ge, GenericConstant, Gt, In, InsertBatchStatement, InsertStatement, InSubquery, IsNull, Join, Le, Length, Like, Lower, Lt, Max, Min, Modulo, Multiplication, Not, NullConstant, Or, Round, SelectStatement, Substring, Subtraction, Sum, Table, TableAlias, TableSubquery, ToChar, ToNumber, TruncateStatement, UpdateStatement, Upper

public interface Sql
Defines a construct that can be expressed as an SQL fragment.
  • Method Details

    • sql

      String sql(Context context)
      Formats object as an SQL fragment.
      Parameters:
      context - the context (incl. dialect).
      Returns:
      the formatted SQL fragment.
    • params

      Stream<Object> params(Context context)
      Gets the statement parameters introduced by this fragment.
      Parameters:
      context - the context (incl. dialect).
      Returns:
      the statement parameters.
    • columnRefs

      Stream<Column> columnRefs()
      Gets the columns referenced by this fragment. For validation purposes.
      Returns:
      the columns referenced by this fragment.
    • aliasRefs

      Stream<ColumnAlias> aliasRefs()
      Gets the column aliases referenced by this fragment. For validation purposes.
      Returns:
      the column aliases referenced by this fragment.