Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wCBR9-001k2I-0j for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Apr 2026 07:10:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wCBR6-005CMv-1J for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Apr 2026 07:10:21 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wCBR5-005CMn-3D for pgsql-hackers@lists.postgresql.org; Mon, 13 Apr 2026 07:10:21 +0000 Received: from mail-yw1-x1132.google.com ([2607:f8b0:4864:20::1132]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wCBR4-00000000l1B-3RDo for pgsql-hackers@lists.postgresql.org; Mon, 13 Apr 2026 07:10:20 +0000 Received: by mail-yw1-x1132.google.com with SMTP id 00721157ae682-794719afcd4so38886087b3.1 for ; Mon, 13 Apr 2026 00:10:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1776064218; cv=none; d=google.com; s=arc-20240605; b=QXy6cwP9e6IjaTxA5MYoe7w2KKoXh5vdh2FXlp8xgXaWfpU6GEUGBlcEDOvMkbdvbT 2/54qj2coRcvJu2bDM2+mEvR2JW+fAfXkBuEb4oK2nZfo4ck5QNz+nNlwEPcjG1+cIir WBOTCAOYTW1+ACdAODEXHsn7TlvmiCu6g8EkFiSuTgT9E+w99JYvHINxd+NmH8Vt1x0l y+2Hq/TnMtMqqsgZBd6PxTG5K6fQJFoRDKcN/Sq/M+sHIUpt/+KYCKCQEsP+i4A6XR0K +02FcyrHxSvGq0ONkcBnXMANvW8J+HvO9osvIpugZFwKF6XhgK6gwYkpQDaZjesR4F6o C1Ng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=1bd5Em5//xoqSewRzO84MZ9CauJcTFcujD7oEUBmoU4=; fh=x4xgi4tdDukVB0fBuAIe3vORvD36rbbTBlhrrGN8QbM=; b=YzP8phlr9r03OqTEr7n6VYK7pLoU8s8+CwTFDww0U6WaNr8HOWgstZeFZqe3avBf0s JpJhy6XL6VXwvuFtrAqONg5GBYsjicdIMiM6mtxkV8Yawo4P0uODD44od3481Hvhikpr 48KcU1Jup3Yj1bq+dxSyQ9mHx5JkUB8yeKSq028hieg5Xl68LPdLQbgViIIgTRwRRtUD OB3FFmWcdJ0zjkjliq2WfbDApSo1KEjRK3XcgQ9Ig+/6/ohuwurmU4oceVZgBuYvGcrh IlJV5IchkCnRxa9DslYDGb0zq6BWW6iDEyZHcIGJ397/gmjndBPFcxe1WfkzHDb+q/Sh jv9A==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776064218; x=1776669018; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=1bd5Em5//xoqSewRzO84MZ9CauJcTFcujD7oEUBmoU4=; b=BU/HwfBxO6Eu0BoJ2QqSQ44KDnGdUcriy1oXwOW7tARwhE/WRs5oAB1UZUBOWuS2GV Fs/wuIn8ql5Wee1dcHA5OaOtff4vohh2kDxNuKfHlGCYWjH3onPh5v80tEa/LAnPFWj6 KsBlKrJ4U+BGW453HuazQLYX9NcWWyxQlkUZHYr3j5JHB7K0g5InJDKZUS1/cbHgTasr qsWdNPKSA9y4Gq09h2cDULXsKLJ+o75Gtf1wmTHYSooOpqjmPx8gxVoY6e6CRTrwLY2h 2ImyNLaGYV+NNexOLujqQ321sfZ+AglHm5IvY956wsfZGNwfX9jj4lJxk1gBu5VqPs92 KgQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776064218; x=1776669018; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=1bd5Em5//xoqSewRzO84MZ9CauJcTFcujD7oEUBmoU4=; b=Syr/o4o2eYPZ1eLcVmNoZ3Vstv8zQc/0A0q9ODUzUQ38JlV0HK/7ECFjtoyNbtWQS+ GKPpYKM6ShMIEND9IqsRPYwTF7h4XbLqxvsXh9w8RQyde+DgjspQEYukVuNoeim4QNjH h/uf0e581wMuGHdSMVE6B6jAHNjzZs6MtTclYa1Ll7tKSnlS0TNO/vd5CKbzs9DeFn1g 6pbW/Le3uy25SVnCSsaufwO7d24A/Gn/bJLpUROui/c47unxDy1mbQwkgdDY13uENMS5 +krx2MHf5KT1woOl/RJtbh8Um3dxKYC07iOIOvV2+ZGHHmgGJn3CTvfOcAz2Gf6hdohJ I6lg== X-Gm-Message-State: AOJu0YwFx9F4/JZxndFp8fEjt6EttxeyUCNn/R4zcNCvuSErjtMs9ety 8A5g3pm3DuJ+S3xEvv1ml+bYk9OLS5HmDmLYvg6AToSpC8jurKE6naqgNXnptux08uZg9z0pZf9 f1iEEiwpjKZ1faPoZTGug0ZvZlIgwzyI= X-Gm-Gg: AeBDieudD0Tax+hTZU11Rhavv0SAgKeoug4n7xGXR1S4ugOMdat5Oqs63cehwEw6dJs NLFFz11wlv2fVTeIcc5MpFWxsisdtqLgUisnFX6O/eruCkqhlaXC5mtpi7JxNSyOT2z8SynIptd Ht/LekMhPTDwfbzZLlrD74bsXdugUackF/ZSiT82RUpsVzjFlbj8QWXetZugt03w44hAmAWHM60 N1Fz4U0ek/lSONn6EANy6bu4UCaUnOjE5mW3chi+vu4iVXPYGPpp6W+vPngJivgGPa2yw4jD+YQ qfx6YD1l X-Received: by 2002:a05:690c:698b:b0:7b3:b0a6:2c76 with SMTP id 00721157ae682-7b3b0a633cbmr11039487b3.18.1776064218330; Mon, 13 Apr 2026 00:10:18 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: vignesh C Date: Mon, 13 Apr 2026 12:40:06 +0530 X-Gm-Features: AQROBzCRlHTcv9SdDVK_9NBqMPBfv6dTn9qjOQZKo-eaGnBdg5pey6xvaz52Enw Message-ID: Subject: Re: Use XLogRecPtrIsValid() instead of negated XLogRecPtrIsInvalid To: Fujii Masao Cc: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000d54b94064f522cbd" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000d54b94064f522cbd Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, 10 Apr 2026 at 20:16, Fujii Masao wrote: > > On Fri, Apr 10, 2026 at 3:11=E2=80=AFPM vignesh C w= rote: > > > > Hi, > > > > This small cleanup patch updates src/bin/pg_waldump/archive_waldump.c > > to use the recently introduced XLogRecPtrIsValid() helper instead of > > negating XLogRecPtrIsInvalid(). The current code uses double-negative > > checks such as: > > Assert(!XLogRecPtrIsInvalid(privateInfo->startptr)); > > if (!XLogRecPtrIsInvalid(privateInfo->endptr)) > > > > This patch changes them to: > > Assert(XLogRecPtrIsValid(privateInfo->startptr)); > > if (XLogRecPtrIsValid(privateInfo->endptr)) > > > > This improves readability without changing behavior. The attached > > patch has the changes for the same. > > Commit a2b02293bc6 switched various places to use XLogRecPtrIsValid(), > but it looks like later commits accidentally introduced uses of > XLogRecPtrIsInvalid() again. So +1 for this change. > > Also, that commit replaced direct comparisons with InvalidXLogRecPtr with > XLogRecPtrIsValid(). I noticed two such comparisons [1]. Should these be > updated as well? I felt these also should be updated, the attached v2 version patch includes the changes for the same. Regards, Vignesh --000000000000d54b94064f522cbd Content-Type: application/octet-stream; name="v2-0001-Use-XLogRecPtr-validity-helper-macros-consistentl.patch" Content-Disposition: attachment; filename="v2-0001-Use-XLogRecPtr-validity-helper-macros-consistentl.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mnwuqubx0 RnJvbSBhMGZkMWY2MDQ5MWEzMTVjNzQ1ODQ2OGE4MTU3YTZmNzlkZDM4NGRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWaWduZXNoIEMgPHZpZ25lc2gyMUBnbWFpbC5jb20+CkRhdGU6 IEZyaSwgMTAgQXByIDIwMjYgMTA6MTI6MzggKzA1MzAKU3ViamVjdDogW1BBVENIIHYyXSBVc2Ug WExvZ1JlY1B0ciB2YWxpZGl0eSBoZWxwZXIgbWFjcm9zIGNvbnNpc3RlbnRseQoKUmVwbGFjZSBk aXJlY3QgY29tcGFyaXNvbnMgYWdhaW5zdCBJbnZhbGlkWExvZ1JlY1B0ciBhbmQgbmVnYXRlZApY TG9nUmVjUHRySXNJbnZhbGlkKCkgY2hlY2tzIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcKWExvZ1Jl Y1B0cklzVmFsaWQoKS9YTG9nUmVjUHRySXNJbnZhbGlkKCkgaGVscGVyIG1hY3Jvcy4KClRoaXMg aW1wcm92ZXMgcmVhZGFiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IGJ5IHVzaW5nIHRoZSBkZWRpY2F0 ZWQKWExvZ1JlY1B0ciB2YWxpZGl0eSBoZWxwZXJzIHRocm91Z2hvdXQgdGhlIGNvZGUsIHdpdGgg bm8gaW50ZW5kZWQKYmVoYXZpb3JhbCBjaGFuZ2UuCi0tLQogc3JjL2JhY2tlbmQvY29tbWFuZHMv cmVwYWNrX3dvcmtlci5jICB8IDIgKy0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3dhbHJlY2Vp dmVyLmMgfCAyICstCiBzcmMvYmluL3BnX3dhbGR1bXAvYXJjaGl2ZV93YWxkdW1wLmMgIHwgNCAr Ky0tCiAzIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9yZXBhY2tfd29ya2VyLmMgYi9zcmMvYmFj a2VuZC9jb21tYW5kcy9yZXBhY2tfd29ya2VyLmMKaW5kZXggNWJkMDIwZTAxODQuLjM2MmUwNzY2 YzQxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9yZXBhY2tfd29ya2VyLmMKKysr IGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvcmVwYWNrX3dvcmtlci5jCkBAIC0yNjgsNyArMjY4LDcg QEAgcmVwYWNrX3NldHVwX2xvZ2ljYWxfZGVjb2RpbmcoT2lkIHJlbGlkKQogCWN0eC0+cmVhZGVy LT5yb3V0aW5lLnBhZ2VfcmVhZCA9IHJlYWRfbG9jYWxfeGxvZ19wYWdlX25vX3dhaXQ7CiAKIAkv KiBTb21lIFdBTCByZWNvcmRzIHNob3VsZCBoYXZlIGJlZW4gcmVhZC4gKi8KLQlBc3NlcnQoY3R4 LT5yZWFkZXItPkVuZFJlY1B0ciAhPSBJbnZhbGlkWExvZ1JlY1B0cik7CisJQXNzZXJ0KFhMb2dS ZWNQdHJJc1ZhbGlkKGN0eC0+cmVhZGVyLT5FbmRSZWNQdHIpKTsKIAogCS8qCiAJICogSW5pdGlh bGl6ZSByZXBhY2tfY3VycmVudF9zZWdtZW50IHNvIHRoYXQgd2UgY2FuIG5vdGljZSBXQUwgc2Vn bWVudApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vd2FscmVjZWl2ZXIuYyBi L3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3dhbHJlY2VpdmVyLmMKaW5kZXggMDlmZGU5MmJmZDcu LjAxMzYyZmQzZTk1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi93YWxyZWNl aXZlci5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3dhbHJlY2VpdmVyLmMKQEAgLTEx NjksNyArMTE2OSw3IEBAIFhMb2dXYWxSY3ZTZW5kUmVwbHkoYm9vbCBmb3JjZSwgYm9vbCByZXF1 ZXN0UmVwbHksIGJvb2wgY2hlY2tBcHBseSkKIAkvKiBDb25zdHJ1Y3QgYSBuZXcgbWVzc2FnZSAq LwogCXdyaXRlUHRyID0gTG9nc3RyZWFtUmVzdWx0LldyaXRlOwogCWZsdXNoUHRyID0gTG9nc3Ry ZWFtUmVzdWx0LkZsdXNoOwotCWFwcGx5UHRyID0gKGxhdGVzdEFwcGx5UHRyID09IEludmFsaWRY TG9nUmVjUHRyKSA/CisJYXBwbHlQdHIgPSAoWExvZ1JlY1B0cklzSW52YWxpZChsYXRlc3RBcHBs eVB0cikpID8KIAkJR2V0WExvZ1JlcGxheVJlY1B0cihOVUxMKSA6IGxhdGVzdEFwcGx5UHRyOwog CiAJcmVzZXRTdHJpbmdJbmZvKCZyZXBseV9tZXNzYWdlKTsKZGlmZiAtLWdpdCBhL3NyYy9iaW4v cGdfd2FsZHVtcC9hcmNoaXZlX3dhbGR1bXAuYyBiL3NyYy9iaW4vcGdfd2FsZHVtcC9hcmNoaXZl X3dhbGR1bXAuYwppbmRleCA3OGIwM2JjMWY4NS4uNzk5MTVjMGEwY2UgMTAwNjQ0Ci0tLSBhL3Ny Yy9iaW4vcGdfd2FsZHVtcC9hcmNoaXZlX3dhbGR1bXAuYworKysgYi9zcmMvYmluL3BnX3dhbGR1 bXAvYXJjaGl2ZV93YWxkdW1wLmMKQEAgLTIxNiwxMSArMjE2LDExIEBAIGluaXRfYXJjaGl2ZV9y ZWFkZXIoWExvZ0R1bXBQcml2YXRlICpwcml2YXRlSW5mbywKIAkgKiBXaXRoIHRoZSBXQUwgc2Vn bWVudCBzaXplIGF2YWlsYWJsZSwgd2UgY2FuIG5vdyBpbml0aWFsaXplIHRoZQogCSAqIGRlcGVu ZGVudCBzdGFydCBhbmQgZW5kIHNlZ21lbnQgbnVtYmVycy4KIAkgKi8KLQlBc3NlcnQoIVhMb2dS ZWNQdHJJc0ludmFsaWQocHJpdmF0ZUluZm8tPnN0YXJ0cHRyKSk7CisJQXNzZXJ0KFhMb2dSZWNQ dHJJc1ZhbGlkKHByaXZhdGVJbmZvLT5zdGFydHB0cikpOwogCVhMQnl0ZVRvU2VnKHByaXZhdGVJ bmZvLT5zdGFydHB0ciwgcHJpdmF0ZUluZm8tPnN0YXJ0X3NlZ25vLAogCQkJCXByaXZhdGVJbmZv LT5zZWdzaXplKTsKIAotCWlmICghWExvZ1JlY1B0cklzSW52YWxpZChwcml2YXRlSW5mby0+ZW5k cHRyKSkKKwlpZiAoWExvZ1JlY1B0cklzVmFsaWQocHJpdmF0ZUluZm8tPmVuZHB0cikpCiAJCVhM Qnl0ZVRvU2VnKHByaXZhdGVJbmZvLT5lbmRwdHIsIHByaXZhdGVJbmZvLT5lbmRfc2Vnbm8sCiAJ CQkJCXByaXZhdGVJbmZvLT5zZWdzaXplKTsKIAotLSAKMi40My4wCgo= --000000000000d54b94064f522cbd--