writeInstance = false; return $instance; } static function getWriteInstance() { $classname = Olio::$config['dbDriver'] . 'Connection'; $instance = new $classname; $instance->writeInstance = true; return $instance; } function selectInstance() { $this->dbTarget = Olio::$config['dbTarget']; if (is_array($this->dbTarget)) { if ($this->writeInstance || count($this->dbTarget) == 1) { $this->dbTarget = $this->dbTarget[0]; } else { $idx = (getmypid() % (count($this->dbTarget) - 1)) + 1; // $idx = rand(1, count($this->dbTarget) - 1); $this->dbTarget = $this->dbTarget[$idx]; } } } abstract function query(); abstract function exec(); abstract function beginTransaction(); abstract function commit(); abstract function rollback(); } ?>