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