. */ Doctrine::autoload('Doctrine_Connection'); /** * Doctrine_Connection_Firebird * * @package Doctrine ORM * @url www.phpdoctrine.com * @license LGPL */ class Doctrine_Connection_Firebird extends Doctrine_Connection { /** * @var string $driverName the name of this connection driver */ protected $driverName = 'Firebird'; /** * Adds an driver-specific LIMIT clause to the query * * @param string $query * @param mixed $limit * @param mixed $offset */ public function modifyLimitQuery($query, $limit, $offset) { return preg_replace('/^([\s(])*SELECT(?!\s*FIRST\s*\d+)/i', "SELECT FIRST $limit SKIP $offset", $query); } /** * returns the next value in the given sequence * @param string $sequence * @return integer */ public function getNextID($sequence) { $stmt = $this->query("SELECT UNIQUE FROM ".$sequence); $data = $stmt->fetch(PDO::FETCH_NUM); return $data[0]; } }