[pgpool-committers: 3877] pgpool: Fix Execute() not to set writing transaction flag in an inappro

Tatsuo Ishii ishii at postgresql.org
Wed Mar 29 13:22:12 JST 2017


Fix Execute() not to set writing transaction flag in an inappropriate case.

Execute() mistakenly set the writing transaction flag even if a write
query is issued (in particular case, "BEGIN"). The reason why it did
not found before was, the code path only works when the transaction
state is 'T' (in transaction). Before it was only set at
CommandComplete but previous commit set the state at Execute().
This leads to a SELECT not being load balanced.

Also add some useful debugging statements.

See [pgpool-hackers: 2155] for more details.

Branch
------
bug271

Details
-------
http://git.postgresql.org/gitweb?p=pgpool2.git;a=commitdiff;h=9d51390331417eb97da080a500ce195ae9757bf0

Modified Files
--------------
src/context/pool_query_context.c  | 31 ++++++++++++++++++++++++++++++-
src/protocol/pool_proto_modules.c | 13 ++-----------
2 files changed, 32 insertions(+), 12 deletions(-)



More information about the pgpool-committers mailing list