/*
 * Hibernate, Relational Persistence for Idiomatic Java
 *
 * License: GNU Lesser General Public License (LGPL), version 2.1 or later.
 * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
 */
package org.hibernate.dialect.pagination;

import org.hibernate.engine.spi.RowSelection;

Limit handler for CUBRID
Author:Esen Sagynov (kadishmal at gmail dot com)
/** * Limit handler for CUBRID * * @author Esen Sagynov (kadishmal at gmail dot com) */
public class CUBRIDLimitHandler extends AbstractLimitHandler { public static final CUBRIDLimitHandler INSTANCE = new CUBRIDLimitHandler(); private CUBRIDLimitHandler() { // NOP } @Override public boolean supportsLimit() { return true; } @Override public String processSql(String sql, RowSelection selection) { if ( LimitHelper.useLimit( this, selection ) ) { // useLimitOffset: whether "offset" is set or not; // if set, use "LIMIT offset, row_count" syntax; // if not, use "LIMIT row_count" final boolean useLimitOffset = LimitHelper.hasFirstRow( selection ); return sql + (useLimitOffset ? " limit ?, ?" : " limit ?"); } else { // or return unaltered SQL return sql; } } }