[pgpool-committers: 1887] pgpool: Some more on integration of exception and memory manager front.

Muhammad Usama m.usama at gmail.com
Wed May 7 20:27:25 JST 2014

Some more on integration of exception and memory manager front.
The current checkin includes creation of per loop iteration memory context for
worker child process, and integration of above in some parts of query processing logics.
For the query processing function all my current code browsing leads me to the
believe that although "pool_process_query()" caller has handled five possible
return values from the function i.e POOL_END, POOL_ERROR, POOL_FATAL,
POOL_IDLE and POOL_CONTINUE, but in actual the function returns only POOL_END,
POOL_ERROR and the success which is POOL_CONTINUE. and to squeeze in the managers
in query processing function I am moving forward with the above mentioned assumption.
Finally the checkin puts the wrapper on pool_read function, "pool_read_with_error()"
which throws an ereport instead of returning -ve status in case of an error.
And this wrapper will live till the time when all the callers of pool_read()
will be decorated with the exception manager.



Modified Files
src/context/pool_session_context.c            |    2 +-
src/include/pool.h                            |    3 +-
src/include/utils/pool_stream.h               |    3 +
src/protocol/child.c                          |  249 ++++++++++---------------
src/protocol/pool_process_query.c             |   62 ++----
src/streaming_replication/pool_worker_child.c |  107 ++++++++---
src/utils/error/elog.c                        |   11 ++
src/utils/pool_stream.c                       |   11 ++
8 files changed, 221 insertions(+), 227 deletions(-)

More information about the pgpool-committers mailing list