From 346d7cd7fa5723d45b52b1e61c0cb0ba41a8ce99 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Thu, 10 Jun 2010 07:00:27 +0000 Subject: Return NULL instead of 0/0 in pg_last_xlog_receive_location() and pg_last_xlog_replay_location(). Per Robert Haas's suggestion, after Itagaki Takahiro pointed out an issue in the docs. Also, some wording changes in the docs by me. --- src/backend/access/transam/xlog.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 4718b538e8..ecd7df2107 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.419 2010/06/09 15:04:06 heikki Exp $ + * $PostgreSQL: pgsql/src/backend/access/transam/xlog.c,v 1.420 2010/06/10 07:00:27 heikki Exp $ * *------------------------------------------------------------------------- */ @@ -8757,6 +8757,9 @@ pg_last_xlog_receive_location(PG_FUNCTION_ARGS) recptr = GetWalRcvWriteRecPtr(); + if (recptr.xlogid == 0 && recptr.xrecoff == 0) + PG_RETURN_NULL(); + snprintf(location, sizeof(location), "%X/%X", recptr.xlogid, recptr.xrecoff); PG_RETURN_TEXT_P(cstring_to_text(location)); @@ -8780,6 +8783,9 @@ pg_last_xlog_replay_location(PG_FUNCTION_ARGS) recptr = xlogctl->recoveryLastRecPtr; SpinLockRelease(&xlogctl->info_lck); + if (recptr.xlogid == 0 && recptr.xrecoff == 0) + PG_RETURN_NULL(); + snprintf(location, sizeof(location), "%X/%X", recptr.xlogid, recptr.xrecoff); PG_RETURN_TEXT_P(cstring_to_text(location)); -- cgit v1.2.3