001package io.ebean.config.dbplatform;
002
003/**
004 * Adds ANSI based OFFSET FETCH NEXT clauses to a SQL query.
005 */
006public class BasicSqlAnsiLimiter implements BasicSqlLimiter {
007
008  @Override
009  public String limit(String dbSql, int firstRow, int maxRows) {
010
011    StringBuilder sb = new StringBuilder(50 + dbSql.length());
012
013    sb.append(dbSql);
014    if (firstRow > 0) {
015      sb.append(" ").append("offset");
016      sb.append(" ").append(firstRow).append(" rows");
017    }
018    if (maxRows > 0) {
019      sb.append(" fetch next ").append(maxRows).append(" rows only");
020    }
021    return sb.toString();
022  }
023
024}