/** * @group ZF-7127 */ public function testMultipleGroupSelect() { $select = $this->_db->select()->from('test')->group('testgroup')->group('number')->where('number > 250'); $adapter = new Adapter\DbSelect($select); $expected = 'SELECT COUNT(1) AS "zend_paginator_row_count" FROM (SELECT "test".* FROM "test" WHERE (number > 250) GROUP BY "testgroup"' . ",\n\t" . '"number") AS "t"'; $this->assertEquals($expected, $adapter->getCountSelect()->__toString()); $this->assertEquals(250, $adapter->count()); }
protected function setUp() { $db = new Zend_Db_Adapter_Pdo_Sqlite(array('dbname' => dirname(__FILE__) . '/Paginator/_files/test.sqlite')); $this->_query = $db->select()->from('test'); $this->_testCollection = range(1, 101); $this->_paginator = Zend_Paginator::factory($this->_testCollection); $this->_config = new Zend_Config_Xml(dirname(__FILE__) . '/Paginator/_files/config.xml'); $this->_restorePaginatorDefaults(); }
protected function setUp() { $db = new Zend_Db_Adapter_Pdo_Sqlite(array('dbname' => dirname(__FILE__) . '/Paginator/_files/test.sqlite')); $this->_query = $db->select()->from('test'); $this->_testCollection = range(1, 101); $this->_paginator = Zend_Paginator::factory($this->_testCollection); $this->_config = new Zend_Config_Xml(dirname(__FILE__) . '/Paginator/_files/config.xml'); // get a fresh new copy of ViewRenderer in each tests Zend_Controller_Action_HelperBroker::resetHelpers(); $this->_restorePaginatorDefaults(); }
/** * @group ZF-10884 */ public function testSetRowCountWithAlias() { $select = $this->_db->select(); $select->from('test', array(Zend_Paginator_Adapter_DbSelect::ROW_COUNT_COLUMN => new Zend_Db_Expr('COUNT(DISTINCT number)'))); $this->_db->setProfiler(true); $adapter = new Zend_Paginator_Adapter_DbSelect($this->_db->select()); $adapter->setRowCount($select); $adapter->count(); $expected = 'SELECT COUNT(DISTINCT number) AS "zend_paginator_row_count" FROM "test"'; $lastQuery = $this->_db->getProfiler()->getLastQueryProfile()->getQuery(); $this->assertEquals($expected, $lastQuery); }
/** * @group ZF-10704 */ public function testObjectSelectWithBind() { $select = $this->_db->select(); $select->from('test', array('number'))->where('number = ?')->distinct(true)->bind(array(250)); $adapter = new Zend_Paginator_Adapter_DbSelect($select); $this->assertEquals(1, $adapter->count()); $select->reset(Zend_Db_Select::DISTINCT); $select2 = clone $select; $select2->reset(Zend_Db_Select::WHERE)->where('number = 500'); $selectUnion = $this->_db->select()->bind(array(250)); $selectUnion->union(array($select, $select2)); $adapter = new Zend_Paginator_Adapter_DbSelect($selectUnion); $this->assertEquals(2, $adapter->count()); }
/** * @group ZF-4177 */ public function testSelectDistinctAllUsesRegularCountAll() { $query = $this->_db->select()->from('test')->distinct(); $adapter = new Zend_Paginator_Adapter_DbSelect($query); $this->assertEquals(500, $adapter->count()); }