agora inbox for pgsql-hackers@postgresql.org  
help / color / mirror / Atom feed
[PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
210+ messages / 2 participants
[nested] [flat]

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v3 1/4] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

LGTM.



^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)

@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
         strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
         return false;

+    buf_state =3D LockBufHdr(buf);
+    lsn =3D BufferGetLSN(buf);
+    UnlockBufHdr(buf, buf_state);
+
+    if (!XLogNeedsFlush(lsn))
+        return true;

I think this should return false.

I am planning to review the other patches later and this is for the
first patch only.

--
Regards,
Nazir Bilal Yavuz
Microsoft





^ permalink  raw  reply  [nested|flat] 210+ messages in thread

* [PATCH v5 3/6] Handle pg_get_indexdef default args in system_functions.sql
@ 2025-12-09 18:02 Mark Wong <markwkm@gmail.com>
  0 siblings, 0 replies; 210+ messages in thread

From: Mark Wong @ 2025-12-09 18:02 UTC (permalink / raw)

Modernize pg_get_indexdef to use proargdefaults to handle the optional
column and pretty argument.
---
 src/backend/utils/adt/ruleutils.c | 20 --------------------
 src/include/catalog/pg_proc.dat   |  6 ++----
 2 files changed, 2 insertions(+), 24 deletions(-)

diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c
index 24c59510672..77a7b0ca769 100644
--- a/src/backend/utils/adt/ruleutils.c
+++ b/src/backend/utils/adt/ruleutils.c
@@ -1125,26 +1125,6 @@ pg_get_triggerdef_worker(Oid trigid, bool pretty)
  */
 Datum
 pg_get_indexdef(PG_FUNCTION_ARGS)
-{
-	Oid			indexrelid = PG_GETARG_OID(0);
-	int			prettyFlags;
-	char	   *res;
-
-	prettyFlags = PRETTYFLAG_INDENT;
-
-	res = pg_get_indexdef_worker(indexrelid, 0, NULL,
-								 false, false,
-								 false, false,
-								 prettyFlags, true);
-
-	if (res == NULL)
-		PG_RETURN_NULL();
-
-	PG_RETURN_TEXT_P(string_to_text(res));
-}
-
-Datum
-pg_get_indexdef_ext(PG_FUNCTION_ARGS)
 {
 	Oid			indexrelid = PG_GETARG_OID(0);
 	int32		colno = PG_GETARG_INT32(1);
diff --git a/src/include/catalog/pg_proc.dat b/src/include/catalog/pg_proc.dat
index c1b945cdae5..1dc0d01cc85 100644
--- a/src/include/catalog/pg_proc.dat
+++ b/src/include/catalog/pg_proc.dat
@@ -3978,9 +3978,6 @@
 { oid => '1642', descr => 'role name by OID (with fallback)',
   proname => 'pg_get_userbyid', provolatile => 's', prorettype => 'name',
   proargtypes => 'oid', prosrc => 'pg_get_userbyid' },
-{ oid => '1643', descr => 'index description',
-  proname => 'pg_get_indexdef', provolatile => 's', prorettype => 'text',
-  proargtypes => 'oid', prosrc => 'pg_get_indexdef' },
 { oid => '3415', descr => 'extended statistics object description',
   proname => 'pg_get_statisticsobjdef', provolatile => 's',
   prorettype => 'text', proargtypes => 'oid',
@@ -8592,7 +8589,8 @@
 { oid => '2507',
   descr => 'index description (full create statement or single expression) with pretty-print option',
   proname => 'pg_get_indexdef', provolatile => 's', prorettype => 'text',
-  proargtypes => 'oid int4 bool', prosrc => 'pg_get_indexdef_ext' },
+  proargtypes => 'oid int4 bool', proargnames => '{index,column,pretty}',
+  proargdefaults => '{0,false}', prosrc => 'pg_get_indexdef' },
 { oid => '2508', descr => 'constraint description with pretty-print option',
   proname => 'pg_get_constraintdef', provolatile => 's', prorettype => 'text',
   proargtypes => 'oid bool', prosrc => 'pg_get_constraintdef_ext' },
-- 
2.52.0


--m23X5uHFNxthGTU3
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment;
	filename=v5-0004-Handle-pg_get_constraintdef-default-args-in-syste.patch



^ permalink  raw  reply  [nested|flat] 210+ messages in thread


end of thread, other threads:[~2025-12-09 18:02 UTC | newest]

Thread overview: 210+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v3 1/4] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-12-09 18:02 [PATCH v5 3/6] Handle pg_get_indexdef default args in system_functions.sql Mark Wong <markwkm@gmail.com>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox