regbuf->rdata_tail = (XLogRecData *) ®buf->rdata_head;
regbuf->rdata_sz = 0;
+ /*
+ * Check that this page, or some other page with the same block_id,
+ * hasn't already been registered.
+ */
+#ifdef USE_ASSERT_CHECKING
+ {
+ int i;
+
+ for (i = 0; i < num_registered_buffers; i++)
+ {
+ registered_buffer *regbuf_old = ®istered_buffers[i];
+
+ Assert (regbuf_old->block_id != block_id);
+ Assert (!RelFileNodeEquals(regbuf_old->rnode, regbuf->rnode) ||
+ regbuf_old->forkno != regbuf->forkno ||
+ regbuf_old->block != regbuf->block);
+ }
+ }
+#endif
+
num_registered_buffers++;
}
regbuf->rdata_tail = (XLogRecData *) ®buf->rdata_head;
regbuf->rdata_sz = 0;
+ /*
+ * Check that this page, or some other page with the same block_id,
+ * hasn't already been registered.
+ */
+#ifdef USE_ASSERT_CHECKING
+ {
+ int i;
+
+ for (i = 0; i < num_registered_buffers; i++)
+ {
+ registered_buffer *regbuf_old = ®istered_buffers[i];
+
+ Assert (regbuf_old->block_id != block_id);
+ Assert (!RelFileNodeEquals(regbuf_old->rnode, regbuf->rnode) ||
+ regbuf_old->forkno != regbuf->forkno ||
+ regbuf_old->block != regbuf->block);
+ }
+ }
+#endif
+
num_registered_buffers++;
}