Package io.datarouter.storage.sql
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 java.lang.Object
-
Field Summary
Fields Modifier and Type Field Description protected Qimplementationprotected java.util.ArrayList<java.util.function.BiConsumer<P,java.lang.Integer>>parameterSettersprotected java.lang.StringBuildersqlBuilder -
Constructor Summary
-
Method Summary
Modifier and Type Method Description QaddDeleteFromClause(java.lang.String tableName)QaddForceIndexClause(java.lang.String indexName)abstract QaddLimitOffsetClause(Config config)QaddOrderByClause(java.util.List<io.datarouter.model.field.Field<?>> orderByFields)QaddSelectFromClause(java.lang.String tableName, java.util.List<io.datarouter.model.field.Field<?>> selectFields)abstract QaddSqlNameValueWithOperator(io.datarouter.model.field.Field<?> field, java.lang.String operator, boolean rejectNulls)QaddUpdateClause(java.lang.String tableName)Qappend(java.lang.String value)abstract QappendColumnEqualsValueParameter(io.datarouter.model.field.Field<?> field)QappendParameter(java.lang.String value, java.util.function.BiConsumer<P,java.lang.Integer> parameterSetter)QappendSqlNameValue(io.datarouter.model.field.Field<?> field, boolean rejectNulls)QappendWhereClauseDisjunction(java.util.Collection<? extends io.datarouter.model.field.FieldSet<?>> fieldSets)QdeleteAll(Config config, java.lang.String tableName)QdeleteMulti(java.lang.String tableName, Config config, java.util.Collection<? extends io.datarouter.model.field.FieldSet<?>> keys)<T extends io.datarouter.model.field.FieldSet<T>>
QgetInRanges(java.lang.String tableName, Config config, java.util.List<io.datarouter.model.field.Field<?>> selectFields, java.lang.Iterable<io.datarouter.util.tuple.Range<T>> ranges, java.util.List<io.datarouter.model.field.Field<?>> orderByFields, java.lang.String indexName)QgetMulti(java.lang.String tableName, Config config, java.util.List<io.datarouter.model.field.Field<?>> selectFields, java.util.Collection<? extends io.datarouter.model.field.FieldSet<?>> keys, java.lang.String indexName)QgetWithPrefixes(java.lang.String tableName, Config config, java.lang.String indexName, java.util.List<io.datarouter.model.field.Field<?>> selectFields, java.util.Collection<? extends io.datarouter.model.field.FieldSet<?>> keys, java.util.List<io.datarouter.model.field.Field<?>> orderByFields)Qinsert(java.lang.String tableName, java.util.List<java.util.List<io.datarouter.model.field.Field<?>>> databeans, boolean ignore)static booleanneedsRangeWhereClause(io.datarouter.model.field.FieldSet<?> start, io.datarouter.model.field.FieldSet<?> end)abstract Pprepare(C connection)java.lang.StringtoString()Qupdate(java.lang.String tableName, java.util.List<io.datarouter.model.field.Field<?>> fieldsToUpdate, java.util.List<? extends io.datarouter.model.field.FieldSet<?>> keys)
-
Field Details
-
implementation
-
sqlBuilder
protected final java.lang.StringBuilder sqlBuilder -
parameterSetters
protected final java.util.ArrayList<java.util.function.BiConsumer<P,java.lang.Integer>> parameterSetters
-
-
Constructor Details
-
Method Details
-
addLimitOffsetClause
-
addSqlNameValueWithOperator
public abstract Q addSqlNameValueWithOperator(io.datarouter.model.field.Field<?> field, java.lang.String operator, boolean rejectNulls) -
appendColumnEqualsValueParameter
-
prepare
-
appendSqlNameValue
-
append
-
appendParameter
-
insert
public Q insert(java.lang.String tableName, java.util.List<java.util.List<io.datarouter.model.field.Field<?>>> databeans, boolean ignore) -
update
public Q update(java.lang.String tableName, java.util.List<io.datarouter.model.field.Field<?>> fieldsToUpdate, java.util.List<? extends io.datarouter.model.field.FieldSet<?>> keys) -
deleteMulti
-
getMulti
-
getWithPrefixes
public Q getWithPrefixes(java.lang.String tableName, Config config, java.lang.String indexName, java.util.List<io.datarouter.model.field.Field<?>> selectFields, java.util.Collection<? extends io.datarouter.model.field.FieldSet<?>> keys, java.util.List<io.datarouter.model.field.Field<?>> orderByFields) -
getInRanges
public <T extends io.datarouter.model.field.FieldSet<T>> Q getInRanges(java.lang.String tableName, Config config, java.util.List<io.datarouter.model.field.Field<?>> selectFields, java.lang.Iterable<io.datarouter.util.tuple.Range<T>> ranges, java.util.List<io.datarouter.model.field.Field<?>> orderByFields, java.lang.String indexName) -
appendWhereClauseDisjunction
public Q appendWhereClauseDisjunction(java.util.Collection<? extends io.datarouter.model.field.FieldSet<?>> fieldSets) -
deleteAll
-
addForceIndexClause
-
addSelectFromClause
public Q addSelectFromClause(java.lang.String tableName, java.util.List<io.datarouter.model.field.Field<?>> selectFields) -
addDeleteFromClause
-
addUpdateClause
-
needsRangeWhereClause
public static boolean needsRangeWhereClause(io.datarouter.model.field.FieldSet<?> start, io.datarouter.model.field.FieldSet<?> end) -
addOrderByClause
-
toString
public java.lang.String toString()- Overrides:
toStringin classjava.lang.Object
-