Re: pg_rewind exiting with error code 1 when source and target are on the same timeline - Mailing list pgsql-bugs

From Peter Eisentraut
Subject Re: pg_rewind exiting with error code 1 when source and target are on the same timeline
Date
Msg-id 566106F7.4000404@gmx.net
Whole thread Raw
In response to Re: pg_rewind exiting with error code 1 when source and target are on the same timeline  (Michael Paquier <michael.paquier@gmail.com>)
Responses Re: pg_rewind exiting with error code 1 when source and target are on the same timeline  (Michael Paquier <michael.paquier@gmail.com>)
List pgsql-bugs
On 10/22/15 1:42 AM, Michael Paquier wrote:
> I am not sure that I am not getting completely your point, why would
> it be a win to remove this safety check? We surely do not want to look
> for the common ancestor timeline if the target and source nodes have
> the same timeline, so we should not remove this check and just set
> rewind_needed to false to fallback to the same exit(0) for all those
> code paths. Per se the attached for example.

After playing with this a bit, I think your patch is correct.  The code
has drifted a bit in the meantime, so attached is an updated patch.

Your patch added variable initializations for divergerec and
lastcommontli.  Was that to avoid compiler warnings about uninitialized
variables?  I didn't get these here.  If that's the issue, maybe these
initializations should be moved to the if (same timeline) branch, to get
it a bit closer to the action.

I also added a test for this case.  (It would currently fail.)


Attachment

pgsql-bugs by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: Incorrect UPDATE trigger invocation in the UPDATE clause of an UPSERT statement.
Next
From: Michael Paquier
Date:
Subject: Re: pg_rewind exiting with error code 1 when source and target are on the same timeline