/** * 开启主从数据库同步时,不同的操作类型将分配不同的服务器进行处理 * @access private * @param string $type 数据库操作类型 SELECT | ADD |UPDATE | REMOVE * @return void */ protected function _allotDatabaseServer($type = 'SELECT') { if ($this->_db_drive_connect == NULL) { $this->_selectDatabaseServer(); $this->_db_drive_connect = XF_Db_Drive_Mysql::getInstance(); } if ($this->_open_slave && $type == 'SELECT') { //if(rand(0, 1) == 0 && $this->_slave_db_count ==1 ) // $this->_db_drive_connect->setDatabaseConnectionConfigInfo($this->_db_config); //else $this->_db_drive_connect->setDatabaseConnectionConfigInfo($this->_slave_db_config); } else { $this->_db_drive_connect->setDatabaseConnectionConfigInfo($this->_db_config); } $this->_db_drive_connect->setDatabaseName($this->_db_table->getDbName()); }
public function __construct(XF_Db_Table_Abstract $table) { $this->_db_name = $table->getDbName(); $this->_db_table = $table; }