Обсуждение: pgsql: Forbid using pg_xlogfile_name() and pg_xlogfile_name_offset()
pgsql: Forbid using pg_xlogfile_name() and pg_xlogfile_name_offset()
От
heikki@postgresql.org (Heikki Linnakangas)
Дата:
Log Message:
-----------
Forbid using pg_xlogfile_name() and pg_xlogfile_name_offset() during
recovery. We might want to relax this in the future, but ThisTimeLineID
isn't currently correct in backends during recovery, so the filename
returned was wrong.
Modified Files:
--------------
pgsql/doc/src/sgml:
func.sgml (r1.512 -> r1.513)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/func.sgml?r1=1.512&r2=1.513)
pgsql/src/backend/access/transam:
xlog.c (r1.389 -> r1.390)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xlog.c?r1=1.389&r2=1.390)
On Wed, 2010-04-07 at 06:12 +0000, Heikki Linnakangas wrote:
> Log Message:
> -----------
> Forbid using pg_xlogfile_name() and pg_xlogfile_name_offset() during
> recovery. We might want to relax this in the future, but ThisTimeLineID
> isn't currently correct in backends during recovery, so the filename
> returned was wrong.
Any reason why we couldn't just do this:
if (RecoveryInProgress())
{
volatile XLogCtlData *xlogctl = XLogCtl;
XLogFileName(xlogfilename, xlogctl->ThisTimeLineID,
xlogid, xlogseg);
}
else
XLogFileName(xlogfilename, ThisTimeLineID, xlogid, xlogseg);
rather than preventing access to those functions completely?
--
Simon Riggs www.2ndQuadrant.com
On Wed, Apr 07, 2010 at 06:12:52AM +0000, Heikki Linnakangas wrote: > Log Message: > ----------- > Forbid using pg_xlogfile_name() and pg_xlogfile_name_offset() during > recovery. We might want to relax this in the future, but ThisTimeLineID > isn't currently correct in backends during recovery, so the filename > returned was wrong. Is this Fujii Masao's patch? If so, please make sure to mention this in your commit messages :) Cheers, David. > > Modified Files: > -------------- > pgsql/doc/src/sgml: > func.sgml (r1.512 -> r1.513) > (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/func.sgml?r1=1.512&r2=1.513) > pgsql/src/backend/access/transam: > xlog.c (r1.389 -> r1.390) > (http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xlog.c?r1=1.389&r2=1.390) > > -- > Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-committers -- David Fetter <david@fetter.org> http://fetter.org/ Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter Skype: davidfetter XMPP: david.fetter@gmail.com iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics Remember to vote! Consider donating to Postgres: http://www.postgresql.org/about/donate
Re: pgsql: Forbid using pg_xlogfile_name() and pg_xlogfile_name_offset()
От
Heikki Linnakangas
Дата:
David Fetter wrote: > On Wed, Apr 07, 2010 at 06:12:52AM +0000, Heikki Linnakangas wrote: >> Log Message: >> ----------- >> Forbid using pg_xlogfile_name() and pg_xlogfile_name_offset() during >> recovery. We might want to relax this in the future, but ThisTimeLineID >> isn't currently correct in backends during recovery, so the filename >> returned was wrong. > > Is this Fujii Masao's patch? If so, please make sure to mention this > in your commit messages :) Yes. Sorry. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com