feature: Disable load balance after a SELECT having functions specified in black...
authorBo Peng <pengbo@sraoss.co.jp>
Mon, 1 Jul 2019 03:50:49 +0000 (12:50 +0900)
committerBo Peng <pengbo@sraoss.co.jp>
Mon, 1 Jul 2019 03:50:49 +0000 (12:50 +0900)
commit3ddf9aa0b20480b22bb5e8fc6097f2eb7cb56994
treedb143f93c82d1ee6142f6d6351406704ba864631
parent8da90bfbde8fdf9439493ae390594d5d3a107632
feature: Disable load balance after a SELECT having functions specified in black/white function list.

In Pgpool-II 4.0 or earlier, if we set "disable_load_balance_on_write = transaction",
when a write query is issued inside an explicit truncation,
subsequent queries should be sent to primary only until the
end of this transactionin in order to avoid the replication
delay.

However, the SELECTs having write functions specified in black_function_list
are not regarded as a write query and the subsequent read queries are still load balanced.

This commit will disable load balance after a SELECT having functions
specified in black/white function list.
21 files changed:
doc.ja/src/sgml/loadbalance.sgml
doc/src/sgml/loadbalance.sgml
src/protocol/pool_proto_modules.c
src/test/extended-query-test/expected/disable-load-balance-always-black-function.data [new file with mode: 0644]
src/test/extended-query-test/expected/disable-load-balance-default-black-function.data [new file with mode: 0644]
src/test/extended-query-test/expected/disable-load-balance-off-black-function.data [new file with mode: 0644]
src/test/extended-query-test/expected/disable-load-balance-simple-black-function.data [new file with mode: 0644]
src/test/extended-query-test/expected/disable-load-balance-trans-black-function.data [new file with mode: 0644]
src/test/extended-query-test/expected/disable-load-balance-white-function.data [new file with mode: 0644]
src/test/extended-query-test/extra_scripts/disable-load-balance-always-black-function.data [new file with mode: 0644]
src/test/extended-query-test/extra_scripts/disable-load-balance-default-black-function.data [new file with mode: 0644]
src/test/extended-query-test/extra_scripts/disable-load-balance-off-black-function.data [new file with mode: 0644]
src/test/extended-query-test/extra_scripts/disable-load-balance-simple-black-function.data [new file with mode: 0644]
src/test/extended-query-test/extra_scripts/disable-load-balance-trans-black-function.data [new file with mode: 0644]
src/test/extended-query-test/extra_scripts/disable-load-balance-white-function.data [new file with mode: 0644]
src/test/extended-query-test/tests/disable-load-balance-always-black-function.data [new file with mode: 0644]
src/test/extended-query-test/tests/disable-load-balance-default-black-function.data [new file with mode: 0644]
src/test/extended-query-test/tests/disable-load-balance-off-black-function.data [new file with mode: 0644]
src/test/extended-query-test/tests/disable-load-balance-simple-black-function.data [new file with mode: 0644]
src/test/extended-query-test/tests/disable-load-balance-trans-black-function.data [new file with mode: 0644]
src/test/extended-query-test/tests/disable-load-balance-white-function.data [new file with mode: 0644]