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__));
     }
 }
Exemple #3
0
 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'));
 }
Exemple #22
0
 /**
  * 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'));
 }