Ejemplo n.º 1
0
 public function cleanup_slave($slaveId)
 {
     // ensure old slave is disconnected
     sql_disconnect_slave();
     // connect the slave
     if ($slaveId == -1) {
         sql_connect_master_as_slave();
     } else {
         sql_connect_slave($slaveId);
     }
     $this->cleanup_mapresult2($slaveId);
     // disconnect slave
     sql_disconnect_slave();
 }
Ejemplo n.º 2
0
function sql_disconnect()
{
    global $opt, $db;
    sql_disconnect_slave();
    if ($opt['db']['pconnect'] == true && $db['dblink'] !== false) {
        if (count($db['temptables']) > 0) {
            foreach ($db['temptables'] as $table) {
                sqlf("DROP TEMPORARY TABLE IF EXISTS &tmpdb.`&1`", $table);
            }
            sqlf("DELETE FROM &db.`sys_temptables` WHERE `threadid`='&1'", mysql_thread_id($db['dblink']));
            $db['temptables'] = array();
            $db['temptables_slave'] = array();
        }
    }
    if ($db['dblink'] === $db['dblink_slave']) {
        $db['dblink_slave'] = false;
    }
    //is connected and no persistent connect used?
    if ($opt['db']['pconnect'] == false && $db['dblink'] !== false) {
        mysql_close($db['dblink']);
        $db['dblink'] = false;
        $db['connected'] = false;
    }
}