Welcome Guest, Not a member yet? Register   Sign In
Multiple database + pconnect issues
#1

[eluser]Nanodeath[/eluser]
So here's the problem...if I connect to database A and database B that are both on the same server, and I have pconnect enabled, you'll hit a problem -- since CodeIgniter reuses the same connection, the db_select method that gets called gets called twice for the exact same connection.

So if you have something like this (assume the tables in each database are the same, but fields are different):

Code:
$src = 'commontable';

$db_source = $this->load->database($database_source, true);
$db_destin = $this->load->database($database_destination, true);
$srcFields = $db_source->list_fields($src);
$destFields = $db_destin->list_fields($src);

then even if the fields are in reality different, the $srcFields and $destFields variables will hold the same values. Weird huh? I've made a simple solution, though.

Two caveats: it's only for mysql, and it's only php5. Both of these could be remedied easily by someone who cared more, but...yeah.

Add a variable and change two methods in your mysql_driver.php to the following:

Code:
private static $selected_db = array();


function db_select()

{
    self::$selected_db[$this->hostname] = $this->database;

    return @mysql_select_db($this->database, $this->conn_id);

}

function _execute($sql)

{
    if(self::$selected_db[$this->hostname] != $this->database){
        $this->db_select();
    }


    $sql = $this->_prep_query($sql);

    return @mysql_query($sql, $this->conn_id);

}

I have tested this, of course, and it works as expected. Let me know if you try it out!


Messages In This Thread
Multiple database + pconnect issues - by El Forum - 02-20-2008, 10:16 PM
Multiple database + pconnect issues - by El Forum - 02-21-2008, 06:10 AM
Multiple database + pconnect issues - by El Forum - 02-21-2008, 09:51 AM
Multiple database + pconnect issues - by El Forum - 02-21-2008, 10:33 AM
Multiple database + pconnect issues - by El Forum - 02-21-2008, 02:19 PM
Multiple database + pconnect issues - by El Forum - 02-21-2008, 03:47 PM
Multiple database + pconnect issues - by El Forum - 02-21-2008, 04:25 PM
Multiple database + pconnect issues - by El Forum - 02-21-2008, 04:39 PM
Multiple database + pconnect issues - by El Forum - 02-21-2008, 05:00 PM
Multiple database + pconnect issues - by El Forum - 02-21-2008, 05:20 PM
Multiple database + pconnect issues - by El Forum - 02-21-2008, 05:25 PM
Multiple database + pconnect issues - by El Forum - 02-21-2008, 05:40 PM
Multiple database + pconnect issues - by El Forum - 02-21-2008, 06:16 PM
Multiple database + pconnect issues - by El Forum - 02-21-2008, 06:47 PM
Multiple database + pconnect issues - by El Forum - 02-21-2008, 06:58 PM
Multiple database + pconnect issues - by El Forum - 02-21-2008, 07:04 PM
Multiple database + pconnect issues - by El Forum - 02-21-2008, 07:14 PM
Multiple database + pconnect issues - by El Forum - 02-21-2008, 07:24 PM
Multiple database + pconnect issues - by El Forum - 02-21-2008, 07:39 PM
Multiple database + pconnect issues - by El Forum - 05-01-2008, 08:48 AM
Multiple database + pconnect issues - by El Forum - 05-19-2008, 09:35 PM
Multiple database + pconnect issues - by El Forum - 05-20-2008, 06:26 AM
Multiple database + pconnect issues - by El Forum - 06-11-2008, 09:39 AM
Multiple database + pconnect issues - by El Forum - 06-11-2008, 02:19 PM
Multiple database + pconnect issues - by El Forum - 07-28-2008, 02:47 AM
Multiple database + pconnect issues - by El Forum - 07-28-2008, 03:06 AM
Multiple database + pconnect issues - by El Forum - 07-28-2008, 09:24 PM
Multiple database + pconnect issues - by El Forum - 07-29-2008, 01:11 AM
Multiple database + pconnect issues - by El Forum - 07-29-2008, 07:07 PM
Multiple database + pconnect issues - by El Forum - 07-30-2008, 02:46 AM



Theme © iAndrew 2016 - Forum software by © MyBB