Example #1
0
 /**
  * @see        DBAdapter::applyLimit()
  */
 public function applyLimit(&$sql, $offset, $limit, $criteria = null)
 {
     if (BasePeer::needsSelectAliases($criteria)) {
         $selectSql = BasePeer::createSelectSqlPart($criteria, $params, true);
         $sql = $selectSql . substr($sql, strpos('FROM', $sql));
     }
     $sql = 'SELECT B.* FROM (' . 'SELECT A.*, rownum AS PROPEL_ROWNUM FROM (' . $sql . ') A ' . ') B WHERE ';
     if ($offset > 0) {
         $sql .= ' B.PROPEL_ROWNUM > ' . $offset;
         if ($limit > 0) {
             $sql .= ' AND B.PROPEL_ROWNUM <= ' . ($offset + $limit);
         }
     } else {
         $sql .= ' B.PROPEL_ROWNUM <= ' . $limit;
     }
 }
 public function testCreateSelectSqlPartAliasAll()
 {
     $c = new Criteria();
     $c->addSelectColumn(BookPeer::ID);
     $c->addAsColumn('book_ID', BookPeer::ID);
     $fromClause = array();
     $selectSql = BasePeer::createSelectSqlPart($c, $fromClause, true);
     $this->assertEquals('SELECT book.ID AS book_ID_1, book.ID AS book_ID', $selectSql, 'createSelectSqlPart() aliases all columns if passed true as last parameter');
     $this->assertEquals(array(), $fromClause, 'createSelectSqlPart() does not add the tables from an all-aliased list of select columns');
 }