static function __static() { if (extension_loaded('mssql')) { DriverManager::register('mssql+std', new XPClass(__CLASS__)); DriverManager::register('sybase+ms', new XPClass(__CLASS__)); } }
static function __static() { if (extension_loaded('sybase_ct')) { ini_set('sybct.deadlock_retry_count', 0); DriverManager::register('sybase+ct', new XPClass(__CLASS__)); } }
public function __construct($host, $tube = null, $display_log = null, $sleep_interval = null, $memory_limit = null, $driver_name = null) { $this->tube = $tube; $this->display_log = $display_log === true ? true : false; $this->memory_limit = $memory_limit === null ? self::DEF_MEM_LIMIT : $memory_limit; $this->sleep_interval = $sleep_interval === null ? self::DEF_SLEEP_INTERVAL : $sleep_interval; $this->driver = DriverManager::load($host, $driver_name); }
/** * Retrieve database connection object * * @param bool connect default TRUE * @return rdbms.DBConnection */ protected function db($connect = TRUE) { with($db = DriverManager::getConnection($this->dsn)); if ($connect) { $db->connect(); } return $db; }
public function registerOverwritesPreviouslyRegistered() { $conn1 = DriverManager::getConnection('mock://*****:*****@host/db1'); $conn2 = DriverManager::getConnection('mock://*****:*****@host/db2'); $cm = $this->instanceWith(array()); $this->assertEquals($conn1, $cm->register($conn1)); $this->assertEquals($conn2, $cm->register($conn2)); $this->assertEquals($conn2, $cm->getByHost('host', 0)); }
/** * Setup method * */ public function setUp() { with($conn = DriverManager::getConnection('mock://mock/JOBS?autoconnect=1')); Job::getPeer()->setConnection($conn); Person::getPeer()->setConnection($conn); $this->qa = new SelectQuery(); $this->qa->setPeer(Job::getPeer()); $this->qa->setCriteria(create(new Criteria(Job::column('job_id')->equal(5)))->setProjection(Projections::ProjectionList()->add(Job::column('job_id'))->add(Job::column('title')))); $this->qb = new SelectQuery(); $this->qb->setPeer(Person::getPeer()); $this->qb->setCriteria(create(new Criteria())->setProjection(Projections::ProjectionList()->add(Person::column('job_id'))->add(Person::column('name')))); }
static function __static() { if (strncasecmp(PHP_OS, 'Win', 3) === 0) { self::$lookup = XPClass::forName('rdbms.tds.SqlIniLookup')->newInstance(); } else { if (getenv('SYBASE')) { self::$lookup = XPClass::forName('rdbms.tds.InterfacesLookup')->newInstance(); } else { self::$lookup = XPClass::forName('rdbms.tds.FreeTdsLookup')->newInstance(); } } DriverManager::register('sybase+x', new XPClass(__CLASS__)); }
/** * Entry point * * @param string[] args */ public static function main(array $args) { $db = DriverManager::getConnection($args[0]); try { $db->connect(); $tran = $db->begin(new Transaction('process')); Console::$out->writeLine('! Started'); while ($sql = Console::$in->readLine()) { $db->query($sql); Console::$out->writeLine('+ OK'); } $tran->commit(); } catch (SQLException $e) { Console::$out->writeLine('- ', $e->getClassName()); } }
/** * Constructor * * @param util.cmd.ParamString args */ public function __construct(ParamString $args) { $dsn = new DSN($args->value(0)); $this->adapter = self::$adapters[$dsn->getDriver()]->newInstance(DriverManager::getInstance()->getConnection($dsn->dsn)); $this->package = $args->value('package', 'p', 'db'); $this->host = $args->value('host', 'h', $dsn->getHost()); $this->naming = $args->value('nstrategy', 'n', ''); if ('' != $this->naming) { DBXMLNamingContext::setStrategy(XPClass::forName($this->naming)->newInstance()); } $this->prefix = $args->value('prefix', 'pv', ''); $this->ptargets = explode('|', $args->value('ptargets', 'pt', '')); $this->pexclude = $args->value('pexclude', 'pe', FALSE); $xsls = array(); $lang = $args->value('lang', 'l', 'xp5.php'); if ($this->getClass()->getPackage()->providesPackage(strtr($lang, '.', '_'))) { $resources = $this->getClass()->getPackage()->getPackage(strtr($lang, '.', '_'))->getResources(); foreach ($resources as $resource) { $filename = substr($resource, strrpos($resource, DIRECTORY_SEPARATOR) + 1); if (substr($filename, -8, 8) !== '.php.xsl') { continue; } $xsls[] = $resource; } } else { $packagepath = strtr($this->getClass()->getPackage()->getName(), '.', DIRECTORY_SEPARATOR); $xsls[] = $packagepath . DIRECTORY_SEPARATOR . $lang . '.xsl'; } foreach ($xsls as $resource) { $processor = new DomXSLProcessor(); $processor->setBase(__DIR__); $processor->setXSLBuf(ClassLoader::getDefault()->getResource($resource)); $processor->setParam('package', $this->package); if ($this->prefix) { $processor->setParam('prefix', $this->prefix); $processor->setParam($this->pexclude ? 'exprefix' : 'incprefix', implode(',', $this->ptargets)); } $this->processor[] = $processor; } }
/** * Constructor * * @param util.cmd.ParamString args */ public function __construct(ParamString $args) { $dsn = new DSN($args->value(0)); $this->adapter = self::$adapters[$dsn->getDriver()]->newInstance(DriverManager::getInstance()->getConnection($dsn->dsn)); $this->package = $args->value('package', 'p', 'db'); $this->host = $args->value('host', 'h', $dsn->getHost()); $this->naming = $args->value('nstrategy', 'n', ''); if ('' != $this->naming) { DBXMLNamingContext::setStrategy(XPClass::forName($this->naming)->newInstance()); } $this->prefix = $args->value('prefix', 'pv', ''); $this->ptargets = explode('|', $args->value('ptargets', 'pt', '')); $this->pexclude = $args->value('pexclude', 'pe', FALSE); // Setup generator $this->processor = new DomXSLProcessor(); $this->processor->setXSLBuf($this->getClass()->getPackage()->getResource($args->value('lang', 'l', 'xp5.php') . '.xsl')); $this->processor->setParam('package', $this->package); if ($this->prefix) { $this->processor->setParam('prefix', $this->prefix); $this->processor->setParam($this->pexclude ? 'exprefix' : 'incprefix', implode(',', $this->ptargets)); } }
/** * Setup method * */ public function setUp() { $this->fixture = new JobFinder(); $this->fixture->getPeer()->setConnection(DriverManager::getConnection('mock://mock/JOBS?autoconnect=1')); }
public function connectFailedThrowsException() { DriverManager::getConnection(str_replace(':' . $this->db(FALSE)->dsn->getPassword() . '@', ':hopefully-wrong-password@', $this->dsn))->connect(); }
public static function registerMockConnection() { DriverManager::register('mock', XPClass::forName('net.xp_framework.unittest.rdbms.mock.MockConnection')); Job::getPeer()->setConnection(DriverManager::getConnection('mock://mock/JOBS?autoconnect=1')); }
public static function registerMockConnection() { DriverManager::register('mock', XPClass::forName(self::MOCK_CONNECTION_CLASS)); }
static function __static() { DriverManager::register('mysql+x', new XPClass(__CLASS__)); }
public function searchImplementation() { // Should not be found $this->register('tests', XPClass::forName('net.xp_framework.unittest.rdbms.mock.MockConnection')); // Should choose the "a" implementation $this->register('test+a', ClassLoader::defineClass('net.xp_framework.unittest.rdbms.mock.AMockConnection', 'net.xp_framework.unittest.rdbms.mock.MockConnection', array(), '{}')); $this->register('test+b', ClassLoader::defineClass('net.xp_framework.unittest.rdbms.mock.BMockConnection', 'net.xp_framework.unittest.rdbms.mock.MockConnection', array(), '{}')); $this->assertInstanceOf('net.xp_framework.unittest.rdbms.mock.AMockConnection', DriverManager::getConnection('test://localhost')); }
static function __static() { if (extension_loaded('sqlite3')) { DriverManager::register('sqlite+3', new XPClass(__CLASS__)); } }
static function __static() { self::$instance = new self(); self::$instance->provider = new DefaultDrivers(NULL); }
/** * Replace registered DSN with DBConnection if needed * * @param string name name of connection * @param var value either DSN or DBConnection * @return rdbms.DBConnection */ protected function conn($name, $value) { if ($value instanceof DBConnection) { return $value; } if (is_string($value)) { // Resolve lazy-loading DSNs $this->pool[$name] = DriverManager::getConnection($value); return $this->pool[$name]; } raise('rdbms.DriverNotSupportedException', 'Neither a connection string nor a rdbms.DBConnection given.'); }
static function __static() { if (extension_loaded('interbase')) { DriverManager::register('ibase+std', new XPClass(__CLASS__)); } }
/** * Setup method * */ public function setUp() { $this->conn = DriverManager::getConnection('mock://mock/JOBS?autoconnect=1'); $this->peer = Job::getPeer(); $this->peer->setConnection(DriverManager::getConnection('mock://mock/JOBS?autoconnect=1')); }
/** * Setup function * */ public function setUp() { $this->conn = DriverManager::getConnection('mock://mock/MOCKDB'); $this->assertEquals(0, $this->conn->flags & DB_AUTOCONNECT); }
/** * Setup method * */ public function setUp() { Job::getPeer()->setConnection(DriverManager::getConnection('mock://mock/JOBS?autoconnect=1')); }