001package com.avaje.ebean.config.dbplatform;
002
003public class Db2SqlLimiter implements SqlLimiter {
004
005  @Override
006  public SqlLimitResponse limit(SqlLimitRequest request) {
007
008    StringBuilder sb = new StringBuilder(512);
009    sb.append("select ");
010    if (request.isDistinct()) {
011      sb.append("distinct ");
012    }
013    sb.append(request.getDbSql());
014
015    int maxRows = request.getMaxRows();
016    if (maxRows > 0) {
017      sb.append(" ").append(NEW_LINE).append("FETCH FIRST ").append(maxRows).append(" ROWS ONLY");
018    }
019
020    String sql = request.getDbPlatform().completeSql(sb.toString(), request.getOrmQuery());
021    return new SqlLimitResponse(sql, false);
022  }
023}