Thread: [HACKERS] Wrong variable type in KeepLogSeg

[HACKERS] Wrong variable type in KeepLogSeg

From
Kyotaro HORIGUCHI
Date:
Hello, I found a variable definition with wrong type
specification in KeepLogSeg, which doesn't harm anything.

> static void
> KeepLogSeg(XLogRecPtr recptr, XLogSegNo *logSegNo)
> {
> ...
>     /* then check whether slots limit removal further */
>     if (max_replication_slots > 0 && keep != InvalidXLogRecPtr)
>     {
>         XLogRecPtr    slotSegNo;
> 
>         XLByteToSeg(keep, slotSegNo);


slotSegNo should be a XLogSegNo. Both types share the same
intrinsic type so it doesn't harm anything.

This is back-patchable upto 9.4.

regards,

-- 
Kyotaro Horiguchi
NTT Open Source Software Center
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index 5016273..8973583 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -9263,7 +9263,7 @@ KeepLogSeg(XLogRecPtr recptr, XLogSegNo *logSegNo)    /* then check whether slots limit removal
further*/    if (max_replication_slots > 0 && keep != InvalidXLogRecPtr)    {
 
-        XLogRecPtr    slotSegNo;
+        XLogSegNo    slotSegNo;        XLByteToSeg(keep, slotSegNo);

Re: [HACKERS] Wrong variable type in KeepLogSeg

From
Michael Paquier
Date:
On Tue, Feb 28, 2017 at 11:17 AM, Kyotaro HORIGUCHI
<horiguchi.kyotaro@lab.ntt.co.jp> wrote:
> slotSegNo should be a XLogSegNo. Both types share the same
> intrinsic type so it doesn't harm anything.

Nice catch!
-- 
Michael



Re: [HACKERS] Wrong variable type in KeepLogSeg

From
Kyotaro HORIGUCHI
Date:
At Tue, 28 Feb 2017 12:17:07 +0900, Michael Paquier <michael.paquier@gmail.com> wrote in
<CAB7nPqQvBPno0wJe1rK3tFB_m1VNEPX4fV6dOZmddAfMV+KB0Q@mail.gmail.com>
> On Tue, Feb 28, 2017 at 11:17 AM, Kyotaro HORIGUCHI
> <horiguchi.kyotaro@lab.ntt.co.jp> wrote:
> > slotSegNo should be a XLogSegNo. Both types share the same
> > intrinsic type so it doesn't harm anything.
> 
> Nice catch!

Thanks!

-- 
Kyotaro Horiguchi
NTT Open Source Software Center





Re: [HACKERS] Wrong variable type in KeepLogSeg

From
Magnus Hagander
Date:


On Tue, Feb 28, 2017 at 3:17 AM, Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp> wrote:
Hello, I found a variable definition with wrong type
specification in KeepLogSeg, which doesn't harm anything.

> static void
> KeepLogSeg(XLogRecPtr recptr, XLogSegNo *logSegNo)
> {
> ...
>     /* then check whether slots limit removal further */
>     if (max_replication_slots > 0 && keep != InvalidXLogRecPtr)
>     {
>         XLogRecPtr    slotSegNo;
>
>         XLByteToSeg(keep, slotSegNo);


slotSegNo should be a XLogSegNo. Both types share the same
intrinsic type so it doesn't harm anything.

This is back-patchable upto 9.4.

Nice catch. Applied and backpatched. 

--

Re: [HACKERS] Wrong variable type in KeepLogSeg

From
Kyotaro HORIGUCHI
Date:
At Tue, 28 Feb 2017 12:21:01 +0100, Magnus Hagander <magnus@hagander.net> wrote in
<CABUevExG87_5PsnB9cdg+LEkEUMC2_Gm6d_twrTmUbSnsFX+0A@mail.gmail.com>
magnus> > Hello, I found a variable definition with wrong type
magnus> > specification in KeepLogSeg, which doesn't harm anything.
magnus> 
magnus> Nice catch. Applied and backpatched.

Thank you for committing.

regards,

-- 
Kyotaro Horiguchi
NTT Open Source Software Center