char *image; /* copy of page image for modification, do not
* do it in-place to have aligned memory chunk */
char delta[MAX_DELTA_SIZE]; /* delta between page images */
-} PageData;
+} GenericXLogPageData;
/*
* State of generic xlog record construction. Must be allocated at an I/O
/* Page images (properly aligned, must be first) */
PGIOAlignedBlock images[MAX_GENERIC_XLOG_PAGES];
/* Info about each page, see above */
- PageData pages[MAX_GENERIC_XLOG_PAGES];
+ GenericXLogPageData pages[MAX_GENERIC_XLOG_PAGES];
bool isLogged;
};
-static void writeFragment(PageData *pageData, OffsetNumber offset,
+static void writeFragment(GenericXLogPageData *pageData, OffsetNumber offset,
OffsetNumber length, const char *data);
-static void computeRegionDelta(PageData *pageData,
+static void computeRegionDelta(GenericXLogPageData *pageData,
const char *curpage, const char *targetpage,
int targetStart, int targetEnd,
int validStart, int validEnd);
-static void computeDelta(PageData *pageData, Page curpage, Page targetpage);
+static void computeDelta(GenericXLogPageData *pageData, Page curpage, Page targetpage);
static void applyPageRedo(Page page, const char *delta, Size deltaSize);
* actual data (of length length).
*/
static void
-writeFragment(PageData *pageData, OffsetNumber offset, OffsetNumber length,
+writeFragment(GenericXLogPageData *pageData, OffsetNumber offset, OffsetNumber length,
const char *data)
{
char *ptr = pageData->delta + pageData->deltaLen;
* about the data-matching loops.
*/
static void
-computeRegionDelta(PageData *pageData,
+computeRegionDelta(GenericXLogPageData *pageData,
const char *curpage, const char *targetpage,
int targetStart, int targetEnd,
int validStart, int validEnd)
* and store it in pageData's delta field.
*/
static void
-computeDelta(PageData *pageData, Page curpage, Page targetpage)
+computeDelta(GenericXLogPageData *pageData, Page curpage, Page targetpage)
{
int targetLower = ((PageHeader) targetpage)->pd_lower,
targetUpper = ((PageHeader) targetpage)->pd_upper,
/* Search array for existing entry or first unused slot */
for (block_id = 0; block_id < MAX_GENERIC_XLOG_PAGES; block_id++)
{
- PageData *page = &state->pages[block_id];
+ GenericXLogPageData *page = &state->pages[block_id];
if (BufferIsInvalid(page->buffer))
{
*/
for (i = 0; i < MAX_GENERIC_XLOG_PAGES; i++)
{
- PageData *pageData = &state->pages[i];
+ GenericXLogPageData *pageData = &state->pages[i];
Page page;
PageHeader pageHeader;
/* Set LSN */
for (i = 0; i < MAX_GENERIC_XLOG_PAGES; i++)
{
- PageData *pageData = &state->pages[i];
+ GenericXLogPageData *pageData = &state->pages[i];
if (BufferIsInvalid(pageData->buffer))
continue;
START_CRIT_SECTION();
for (i = 0; i < MAX_GENERIC_XLOG_PAGES; i++)
{
- PageData *pageData = &state->pages[i];
+ GenericXLogPageData *pageData = &state->pages[i];
if (BufferIsInvalid(pageData->buffer))
continue;