On Mon, Sep 20, 2010 at 8:25 AM, A.L.E.C <[email protected]> wrote:
> On 18.09.2010 19:12, Thomas Bruederli wrote:
>
>> I think this is a bug. When I look at the code, in db_connect() we do
>>   $this->db_mode = $mode
>> right at the beginning and later we have
>>   if ($this->db_mode == 'w')
>>     return;
>>
>> Having $this->db_mode = $mode set at the end of the procedure would be
>> correct.
>
> Problem is because rcube_mdb2 stores DB handle in one variable. So, it
> is overwritten.

I don't think this is a problem. The behavior sould be:
Connect to read-only DB first and switch to read-write connection when
the first write operation is to be done. From that time on, also read
operations can be performed on the read-write connection. This is
exactly what
  if ($this->db_mode == 'w')
    return;
tries to achieve. Unfortunately the whole logic doesn't work at all
because rcmail::get_dbh() opens a read-write connection right from the
beginning.

I'll try to fix this in rcube_mdb2 class.

~Thomas
_______________________________________________
List info: http://lists.roundcube.net/dev/
BT/8f4f07cd

Reply via email to