I believe it won't be needed as a regression test but DEBUGn messages could be usable to see "what was sent to the remote side". It can be shown to the console so easily done in regression test. See the deocumentation for client_min_messages for details. (It could receive far many messages then expected, though, and maybe fragile for changing in other part.)
regards,
-- Kyotaro Horiguchi NTT Open Source Software Center
Ok, I'll see what debug-level messages reveal.
Here's a re-based patch. Notable changes since the last patch are:
- some changes had to move to postgres_fdw.h
- the regression tests are in their own script fetch_size.sql / fetch_size.out. that should make things easier for the reviewer(s), even if we later merge it into postgres_fdw.sql/.out.
- I put braces around a multi-line error ereport(). That might be a style violation, but the statement seemed confusing without it.
- The fetch sql is reported as a DEBUG1 level ereport(), and confirms that server level options are respected, and table level options are used in favor of server-level options.
I left the DEBUG1-level message in this patch so that others can see the output, but I assume we would omit that for production code, with corresponding deletions from fetch_size.sql and fetch_size.out.