[Pgpool-committers] pgpool - pgpool-II: Avoid kind mismatch error caused by "SET

User T-ishii t-ishii at pgfoundry.org
Sat Dec 13 08:13:16 UTC 2008


Log Message:
-----------
Avoid kind mismatch error caused by 
"SET TRANSACTION ISOLATION LEVEL must be called before any query".
This could happen in following scenario:

 * M:S1:BEGIN;
 * S:S1:BEGIN;
 * M:S1:SELECT 1; <-- only sent to MASTER
 * M:S1:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
 * S:S1:SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
 * M: <-- error
 * S: <-- ok since no previous SELECT is sent. kind mismatch error occurs!

Fix ReadyForQuery() by calling pool_unread if backend after
do_error_command executed not returns read for query packet.

Fix comments

Modified Files:
--------------
    pgpool-II:
        pool_process_query.c (r1.121 -> r1.122)
        (http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/pgpool/pgpool-II/pool_process_query.c.diff?r1=1.121&r2=1.122)


More information about the Pgpool-committers mailing list