Hello.

At Thu, 16 Sep 2021 11:23:46 +0300, Heikki Linnakangas <hlinn...@iki.fi> wrote 
in 
> Here is another rebase.

I have several comments on this.

0001:

  I understand this is almost simple relocation of code fragments. But
  it seems introducing some behavioral changes.

  PublishStartProcessInformation() was changed to be called while
  crash recovery or on standalone server.  Maybe it is harmless and
  might be more consistent, so I'm fine with it.

  Another call to ResetUnloggedRelations is added before redo start,
  that seems fine.

  recoveryStopReason is always acquired but it is used only after
  archive recovery.  I'm not sure about reason for the variable to
  live in that wide context.  Couldn't we remove the variable then
  call getRecoveryStopReason() directly at the required place?

0002:

  heapam.c, clog.c, twophase.c, dbcommands.c doesn't need  xlogrecvoer.h.

> XLogRecCtl

  "Rec" looks like Record. Couldn't we use "Rcv", "Recov" or just
  "Recovery" instead?

> TimeLineID    PrevTimeLineID;
> TransactionId oldestActiveXID;
> bool          promoted = false;
> EndOfWalRecoveryInfo *endofwal;
> bool          haveTblspcMap;

  This is just a matter of taste but the "endofwal" looks somewhat
  alien in the variables.


xlog.c:
+void
+SwitchIntoArchiveRecovery(XLogRecPtr EndRecPtr)

  Isn't this a function of xlogrecovery.c?  Or rather isn't
  minRecoveryPoint-related stuff of xlogrecovery.c?


0003;

 Just looks fine.  I might want to remove the parameter xlogreader
 from ApplyWalRecord, but that seems cause more harm than good.


regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center


Reply via email to