Beispiel #1
0
 public function run()
 {
     $this->prepareTables();
     $repeats = $this->getRepeats();
     $sql = 'SELECT txt FROM test';
     $bar = new CliProgressBar($repeats);
     for ($i = 1; $i <= $repeats; ++$i) {
         Timer::start();
         $result = ODb::rows($sql);
         foreach ($result as $value) {
         }
         Timer::stop();
         $bar->update($i);
     }
     $this->addResult('non-generator', Timer::get());
     Timer::reset();
     $bar = new CliProgressBar($repeats);
     // Db class initialization
     $pool = new ConnectionPool();
     $conn = new PdoConnection('master');
     $conn->setDsn("mysql:host=localhost;dbname={$this->database};charset=utf8")->setUserName('root')->setPassword('')->setOptions([PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_EMULATE_PREPARES => false]);
     $pool->addConnection($conn, true);
     PdoAdapter::setPool($pool);
     Db::setAdapter(PdoAdapter::instance());
     for ($i = 1; $i <= $repeats; ++$i) {
         Timer::start();
         $result = Db::rows($sql);
         foreach ($result as $value) {
         }
         Timer::stop();
         $bar->update($i);
     }
     $this->addResult('generator', Timer::get());
     $this->cleanup();
 }
Beispiel #2
0
 /**
  * Query with pagination
  *
  * @param string           $sql   Query
  * @param bool|DbPaginator $pager Pagination object
  *
  * @todo Add Pager type hints
  * @return array|bool
  */
 public function query($sql, $pager = false)
 {
     if ($pager instanceof DbPaginator) {
         $sql = $this->builder->setPage($sql, $pager);
     }
     $result = Db::rows($sql);
     if (empty($result)) {
         return false;
     }
     if ($pager instanceof DbPaginator) {
         $pager->calcMaxPages();
     }
     return $result;
 }
Beispiel #3
0
 /**
  * @covers       Veles\DataBase\Db::rows
  *
  * @dataProvider rowsProvider
  *
  * @param $adapter
  * @param $sql
  * @param $params
  * @param $types
  */
 public function testRows($adapter, $sql, $params, $types)
 {
     Db::setAdapter($adapter);
     if ($types) {
         Db::rows($sql, $params, $types);
     } elseif ($params) {
         Db::rows($sql, $params);
     } else {
         Db::rows($sql);
     }
 }