agora inbox for pgsql-hackers@postgresql.org  
help / color / mirror / Atom feed
[PATCH v8 7/7] Allow to print raw parse tree.
210+ messages / 2 participants
[nested] [flat]

* [PATCH v8 7/7] Allow to print raw parse tree.
@ 2023-09-25 05:01  Tatsuo Ishii <ishii@postgresql.org>
  0 siblings, 0 replies; 210+ messages in thread

From: Tatsuo Ishii @ 2023-09-25 05:01 UTC (permalink / raw)

---
 src/backend/tcop/postgres.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index 21b9763183..3e3653816e 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -651,6 +651,10 @@ pg_parse_query(const char *query_string)
 	}
 #endif
 
+	if (Debug_print_parse)
+		elog_node_display(LOG, "raw parse tree", raw_parsetree_list,
+						  Debug_pretty_print);
+
 	TRACE_POSTGRESQL_QUERY_PARSE_DONE(query_string);
 
 	return raw_parsetree_list;
-- 
2.25.1


----Next_Part(Mon_Sep_25_14_26_30_2023_752)----





^ 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 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


end of thread, other threads:[~2025-09-02 15:00 UTC | newest]

Thread overview: 210+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2023-09-25 05:01 [PATCH v8 7/7] Allow to print raw parse tree. Tatsuo Ishii <ishii@postgresql.org>
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 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>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox