Hi there,
I modified my patch in response to Ishii-san's pointed out.
I always set 'COMMITTED READ' to SQL in 'begin_remote_xact()', but changed to set it only when 'XactIsoLevel' ==
'XACT_READ_COMMITTED'.
I tested transaction query to partition tables on remote servers as follows,
(sent BEGIN - UPDATE - COMMIT query in two sessions)
target record on the same server target record on a different server
--------------------------------------------------------------------------------------------------------
target table is same (wait) (wait)
target table is defferent (no wait) (no wait)
(wait): Session 2 is kept waiting until session 1 commits
(no wait): Session 2 can be committed before session 1 commits
I do not understand FDW's design philosophy, so please let me know if there is a problem with my patch.
The target version of PostgreSQL is 11.2, and target file of this patch is 'contrib/postgresql/connection.c'.
Regards,
--
mitani <mitani@sraw.co.jp>