Skip to content

Commit 8a6b5af

Browse files
ololobusgsmolk
authored andcommitted
Use pg_ptrack_get_block() only with ptrack <2.0.0
1 parent 23497fb commit 8a6b5af

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

src/data.c

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -408,15 +408,12 @@ prepare_page(ConnectionArgs *conn_arg,
408408
}
409409
}
410410

411-
/* Get page via ptrack interface from PostgreSQL shared buffer.
412-
* We do this in following cases:
413-
* 1. PTRACK backup of 1.x versions
414-
* 2. During backup, regardless of backup mode, of PostgreSQL instance
415-
* with ptrack support we encountered invalid page.
411+
/*
412+
* Get page via ptrack interface from PostgreSQL shared buffer.
413+
* We do this only in the cases of PTRACK 1.x versions backup
416414
*/
417-
if ((backup_mode == BACKUP_MODE_DIFF_PTRACK
415+
if (backup_mode == BACKUP_MODE_DIFF_PTRACK
418416
&& (ptrack_version_num >= 15 && ptrack_version_num < 20))
419-
|| !page_is_valid)
420417
{
421418
int rc = 0;
422419
size_t page_size = 0;
@@ -440,7 +437,8 @@ prepare_page(ConnectionArgs *conn_arg,
440437
memcpy(page, ptrack_page, BLCKSZ);
441438
pg_free(ptrack_page);
442439

443-
/* UPD: It apprears that is possible to get zeroed page or page with invalid header
440+
/*
441+
* UPD: It apprears that is possible to get zeroed page or page with invalid header
444442
* from shared buffer.
445443
* Note, that getting page with wrong checksumm from shared buffer is
446444
* acceptable.
@@ -462,7 +460,8 @@ prepare_page(ConnectionArgs *conn_arg,
462460
from_fullpath, blknum, errormsg);
463461
}
464462

465-
/* We must set checksum here, because it is outdated
463+
/*
464+
* We must set checksum here, because it is outdated
466465
* in the block recieved from shared buffers.
467466
*/
468467
if (checksum_version)

src/ptrack.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -526,7 +526,7 @@ pg_ptrack_get_block(ConnectionArgs *arguments,
526526
if (arguments->cancel_conn == NULL)
527527
arguments->cancel_conn = PQgetCancel(arguments->conn);
528528

529-
//elog(LOG, "db %i pg_ptrack_get_block(%i, %i, %u)",dbOid, tblsOid, relOid, blknum);
529+
// elog(LOG, "db %i pg_ptrack_get_block(%i, %i, %u)",dbOid, tblsOid, relOid, blknum);
530530

531531
if (ptrack_version_num < 20)
532532
res = pgut_execute_parallel(arguments->conn,
@@ -544,7 +544,8 @@ pg_ptrack_get_block(ConnectionArgs *arguments,
544544
if (ptrack_version_num == 20)
545545
sprintf(query, "SELECT %s.pg_ptrack_get_block($1, $2, $3, $4)", ptrack_schema);
546546
else
547-
sprintf(query, "SELECT %s.ptrack_get_block($1, $2, $3, $4)", ptrack_schema);
547+
elog(ERROR, "ptrack >= 2.1.0 does not support pg_ptrack_get_block()");
548+
// sprintf(query, "SELECT %s.ptrack_get_block($1, $2, $3, $4)", ptrack_schema);
548549

549550
res = pgut_execute_parallel(arguments->conn,
550551
arguments->cancel_conn,

0 commit comments

Comments
 (0)