Class AbstractDbmsLimitHandler
java.lang.Object
com.blazebit.persistence.impl.dialect.AbstractDbmsLimitHandler
- All Implemented Interfaces:
DbmsLimitHandler
- Direct Known Subclasses:
DB2DbmsLimitHandler
,DefaultDbmsLimitHandler
,MSSQL2012DbmsLimitHandler
,MySQLDbmsLimitHandler
,OracleDbmsLimitHandler
,SQL2008DbmsLimitHandler
- Since:
- 1.2.0
- Author:
- Christian Beikov
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionapplySqlInlined
(String sql, boolean isSubquery, Integer limit, Integer offset) int
bindLimitParametersAtStartOfQuery
(Integer limit, Integer offset, PreparedStatement statement, int index) boolean
void
setMaxRows
(Integer limit, Integer offset, PreparedStatement statement) boolean
boolean
protected abstract boolean
Returns whether the dbms supports parameters for LIMIT and OFFSET via prepared statements.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.blazebit.persistence.spi.DbmsLimitHandler
applySql, bindLimitParametersAtEndOfQuery
-
Constructor Details
-
AbstractDbmsLimitHandler
public AbstractDbmsLimitHandler(int length) - Parameters:
length
- The expected maximum length of the string representation for the LIMIT/OFFSET SQL
-
-
Method Details
-
supportsLimit
public boolean supportsLimit()- Specified by:
supportsLimit
in interfaceDbmsLimitHandler
-
supportsLimitOffset
public boolean supportsLimitOffset()- Specified by:
supportsLimitOffset
in interfaceDbmsLimitHandler
-
limitIncludesOffset
public boolean limitIncludesOffset()- Specified by:
limitIncludesOffset
in interfaceDbmsLimitHandler
-
supportsVariableLimit
protected abstract boolean supportsVariableLimit()Returns whether the dbms supports parameters for LIMIT and OFFSET via prepared statements.- Returns:
- True if parameters allowed, otherwise false
-
applySql
- Specified by:
applySql
in interfaceDbmsLimitHandler
-
applySqlInlined
- Specified by:
applySqlInlined
in interfaceDbmsLimitHandler
-
bindLimitParametersAtStartOfQuery
public int bindLimitParametersAtStartOfQuery(Integer limit, Integer offset, PreparedStatement statement, int index) throws SQLException - Specified by:
bindLimitParametersAtStartOfQuery
in interfaceDbmsLimitHandler
- Throws:
SQLException
-
setMaxRows
public void setMaxRows(Integer limit, Integer offset, PreparedStatement statement) throws SQLException - Specified by:
setMaxRows
in interfaceDbmsLimitHandler
- Throws:
SQLException
-