Examples of SqlLimitResponse


Examples of com.avaje.ebean.config.dbplatform.SqlLimitResponse

    // use RawSql or generated Sql
    predicates.prepare(true);

    SqlTree sqlTree = createSqlTree(request, predicates);
    SqlLimitResponse s = buildSql(null, request, predicates, sqlTree);
    String sql = s.getSql();

    // cache the query plan
    queryPlan = new CQueryPlan(request, sql, sqlTree, false, s.isIncludesRowNumberColumn(), predicates.getLogWhereSql());

    request.putQueryPlan(queryPlan);
    return new CQueryFetchIds(request, predicates, sql);
  }
View Full Code Here

Examples of com.avaje.ebean.config.dbplatform.SqlLimitResponse

    }

    predicates.prepare(true);

    SqlTree sqlTree = createSqlTree(request, predicates);
    SqlLimitResponse s = buildSql(sqlSelect, request, predicates, sqlTree);
    String sql = s.getSql();
    if (hasMany || query.isRawSql()) {
      sql = "select count(*) from ( " + sql + ")";
      if (selectCountWithAlias) {
        sql += " as c";
      }
    }

    // cache the query plan
    queryPlan = new CQueryPlan(request, sql, sqlTree, false, s.isIncludesRowNumberColumn(), predicates.getLogWhereSql());
    request.putQueryPlan(queryPlan);

    return new CQueryRowCount(request, predicates, sql);
  }
View Full Code Here

Examples of com.avaje.ebean.config.dbplatform.SqlLimitResponse

    // that are not included via select
    predicates.prepare(true);

    // Build the tree structure that represents the query.
    SqlTree sqlTree = createSqlTree(request, predicates);
    SqlLimitResponse res = buildSql(null, request, predicates, sqlTree);

    boolean rawSql = request.isRawSql();
    if (rawSql) {
      queryPlan = new CQueryPlanRawSql(request, res, sqlTree, predicates.getLogWhereSql());
View Full Code Here

Examples of com.avaje.ebean.config.dbplatform.SqlLimitResponse

      // use LIMIT/OFFSET, ROW_NUMBER() or rownum type SQL query limitation
      SqlLimitRequest r = new OrmQueryLimitRequest(sb.toString(), dbOrderBy, query, dbPlatform);
      return sqlLimiter.limit(r);

    } else {
      return new SqlLimitResponse(dbPlatform.completeSql(sb.toString(), query), false);
    }

  }
View Full Code Here

Examples of com.avaje.ebean.config.dbplatform.SqlLimitResponse

     */
    public SqlLimitResponse buildSql(OrmQueryRequest<?> request, CQueryPredicates predicates, RawSql.Sql rsql) {
     
        if (rsql == null) {
          // this is a ResultSet based RawSql query - just use some placeholder for the SQL
          return new SqlLimitResponse("--ResultSetBasedRawSql", false);
        }
     
        if (!rsql.isParsed()){
            String sql = rsql.getUnparsedSql();
            BindParams bindParams = request.getQuery().getBindParams();
            if (bindParams != null && bindParams.requiresNamedParamsPrepare()){
                // convert named parameters into positioned parameters
                sql = BindParamsParser.parse(bindParams, sql);
            }
           
            return new SqlLimitResponse(sql, false);
        }

        String orderBy = getOrderBy(predicates, rsql);
   
        // build the actual sql String
        String sql = buildMainQuery(orderBy, request, predicates, rsql);
       
        SpiQuery<?> query = request.getQuery();
        if (query.hasMaxRowsOrFirstRow() && sqlLimiter != null) {
            // wrap with a limit offset or ROW_NUMBER() etc
            return sqlLimiter.limit(new OrmQueryLimitRequest(sql, orderBy, query, dbPlatform));
           
        } else {
            // add back select keyword (it was removed to support sqlQueryLimiter)
            String prefix = "select "+ (rsql.isDistinct() ? "distinct " : "");
            sql = prefix + sql;
            return new SqlLimitResponse(sql, false);
        }
    }
View Full Code Here

Examples of com.avaje.ebean.config.dbplatform.SqlLimitResponse

            // build the actual sql String
            sql = sqlSelect.buildSql(orderBy, predicates, request);
            if (query.hasMaxRowsOrFirstRow() && dbQueryLimiter != null) {
                // wrap with a limit offset or ROW_NUMBER() etc
                SqlLimitResponse limitSql = dbQueryLimiter.limit(new OrmQueryLimitRequest(sql, orderBy, query, dbPlatform));
                includeRowNumColumn = limitSql.isIncludesRowNumberColumn();

                sql = limitSql.getSql();
            } else {
                // add back select keyword
                // ... was removed to support dbQueryLimiter
                sql = "select " + sql;
            }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.