On 20.10.2010 17:32, Tatsuo Ishii wrote:
pg_is_in_recovery() returns a bool, are you proposing to change that?

No. I just thought about adding more condition when it returns true.

Here is the patch. Comments are welcome!
...
   Datum
   pg_is_in_recovery(PG_FUNCTION_ARGS)
   {
!       /* use volatile pointer to prevent code rearrangement */
!       volatile WalRcvData *walrcv = WalRcv;
!
!       PG_RETURN_BOOL(RecoveryInProgress()&&  walrcv->walRcvState == 
WALRCV_RUNNING);
   }


This returns 'false' if you're in hot standby mode running against an archive. That seems wrong, I don't think the walreceiver state should play any role in this.

--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to