I created simple table (just single int4 attr) with index on it
and tried to reproduce reported problems with BTP_CHAIN flag
(without success, unfortunately ?) by inserting data by 3-4 psql-s
simultaneously. No problems with 2 clients. But when 3rd psql
starts one of psql-s becomes blocked for long time (a minutes).
After some time blocked process may continue insertion but
another process is sleeping instead of wake-uped proc. The same
with 4 psql-s: one of process is always sleeping!
It's very easy to reproduce - just create a file with >~ 100
INSERTs...
I also run 2 insertion procs + 2 selecting procs - result is
the same, one is always sleeping.
Vadim
P.S. Nevertheless, I really like new deadlock recognition code,
thanks!