On Fri, Jan 29, 2021 at 1:24 PM Bharath Rupireddy <bharath.rupireddyforpostg...@gmail.com> wrote: > > On Fri, Jan 29, 2021 at 1:17 PM Fujii Masao <masao.fu...@oss.nttdata.com> > wrote: > > >> But if the issue is only the inconsistency of test results, > > >> we can go with the option (2)? Even with (2), we can make the test > > >> stable by removing "valid" column and executing > > >> postgres_fdw_get_connections() within the transaction? > > > > > > Hmmm, and we should have the tests at the start of the file > > > postgres_fdw.sql before even we make any foreign server connections. > > > > We don't need to move the test if we always call > > postgres_fdw_disconnect_all() just before starting new transaction and > > calling postgres_fdw_get_connections() as follows? > > > > SELECT 1 FROM postgres_fdw_disconnect_all(); > > BEGIN; > > ... > > SELECT * FROM postgres_fdw_get_connections(); > > ... > > Yes, that works, but we cannot show true/false for the > postgres_fdw_disconnect_all output. > > I will post the patch soon. Thanks a lot.
Attaching a patch that has following changes: 1) Now, postgres_fdw_get_connections will only return set of active connections server names not their valid state 2) The functions postgres_fdw_get_connections, postgres_fdw_disconnect and postgres_fdw_disconnect_all are now being tested within an explicit xact block, this way the tests are more stable even with clobber cache always builds. I tested the patch here on my development system with -DCLOBBER_CACHE_ALWAYS configuration, the tests look consistent. Please review the patch. With Regards, Bharath Rupireddy. EnterpriseDB: http://www.enterprisedb.com
v1-0001-Don-t-return-valid-state-in-postgres_fdw_get_conn.patch
Description: Binary data