Class Sql<C,P,Q extends Sql<C,P,Q>>

java.lang.Object
io.datarouter.storage.sql.Sql<C,P,Q>

public abstract class Sql<C,P,Q extends Sql<C,P,Q>> extends Object
  • Field Details

  • Constructor Details

    • Sql

      protected Sql(Class<Q> subclass)
  • Method Details

    • addLimitOffsetClause

      public abstract Q addLimitOffsetClause(Config config)
    • addSqlNameValueWithOperator

      public abstract <T, F extends io.datarouter.model.field.Field<T>> Q addSqlNameValueWithOperator(F field, String operator, boolean rejectNulls)
    • appendColumnEqualsValueParameter

      public abstract <T, F extends io.datarouter.model.field.Field<T>> Q appendColumnEqualsValueParameter(F field)
    • prepare

      public abstract P prepare(C connection)
    • appendSqlNameValue

      public Q appendSqlNameValue(io.datarouter.model.field.Field<?> field, boolean rejectNulls)
    • append

      public Q append(String value)
    • appendParameter

      public Q appendParameter(String value, BiConsumer<P,Integer> parameterSetter)
    • incrementTally

      public Q incrementTally(String tableName, String id, Long delta, Long expirationMs)
    • insert

      public Q insert(String tableName, List<List<io.datarouter.model.field.Field<?>>> databeans, boolean ignore)
    • update

      public Q update(String tableName, List<io.datarouter.model.field.Field<?>> fieldsToUpdate, List<? extends io.datarouter.model.field.FieldSet<?>> keys)
    • deleteMulti

      public Q deleteMulti(String tableName, Config config, Collection<? extends io.datarouter.model.field.FieldSet<?>> keys)
    • getMulti

      public Q getMulti(String tableName, Config config, List<io.datarouter.model.field.Field<?>> selectFields, Collection<? extends io.datarouter.model.field.FieldSet<?>> keys, String indexName)
    • getWithPrefixes

      public Q getWithPrefixes(String tableName, Config config, String indexName, List<io.datarouter.model.field.Field<?>> selectFields, Collection<? extends io.datarouter.model.field.FieldSet<?>> keys, List<io.datarouter.model.field.Field<?>> orderByFields)
    • getInRanges

      public <T extends io.datarouter.model.field.FieldSet<T>> Q getInRanges(String tableName, Config config, List<io.datarouter.model.field.Field<?>> selectFields, Iterable<io.datarouter.util.tuple.Range<T>> ranges, List<io.datarouter.model.field.Field<?>> orderByFields, String indexName)
    • appendWhereClauseDisjunctionClosed

      public Q appendWhereClauseDisjunctionClosed(Collection<? extends io.datarouter.model.field.FieldSet<?>> fieldSets)
    • appendWhereClauseDisjunction

      public Q appendWhereClauseDisjunction(Collection<? extends io.datarouter.model.field.FieldSet<?>> fieldSets)
    • deleteAll

      public Q deleteAll(Config config, String tableName)
    • addForceIndexClause

      public Q addForceIndexClause(String indexName)
    • addSelectFromClause

      public Q addSelectFromClause(String tableName, List<io.datarouter.model.field.Field<?>> selectFields)
    • addDeleteFromClause

      public Q addDeleteFromClause(String tableName)
    • addUpdateClause

      public Q addUpdateClause(String tableName)
    • needsRangeWhereClause

      public static boolean needsRangeWhereClause(io.datarouter.model.field.FieldSet<?> start, io.datarouter.model.field.FieldSet<?> end)
    • addOrderByClause

      public Q addOrderByClause(List<io.datarouter.model.field.Field<?>> orderByFields)
    • toString

      public String toString()
      Overrides:
      toString in class Object