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 1wBBQK-000ooh-2F for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Apr 2026 12:57:25 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wBBQI-00BqpK-2F for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Apr 2026 12:57:23 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wBBQI-00BqpC-0s for pgsql-hackers@lists.postgresql.org; Fri, 10 Apr 2026 12:57:23 +0000 Received: from mail-qk1-x744.google.com ([2607:f8b0:4864:20::744]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wBBQF-00000000M8K-342o for pgsql-hackers@lists.postgresql.org; Fri, 10 Apr 2026 12:57:22 +0000 Received: by mail-qk1-x744.google.com with SMTP id af79cd13be357-8d7e7f48499so203644985a.1 for ; Fri, 10 Apr 2026 05:57:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dunslane-net.20251104.gappssmtp.com; s=20251104; t=1775825837; x=1776430637; darn=lists.postgresql.org; h=in-reply-to:autocrypt:content-language:from:references:cc:to :subject:user-agent:mime-version:date:message-id:from:to:cc:subject :date:message-id:reply-to; bh=rb0rAS4Q27IrF9ryUUUT6/IqpiQ0YXOOCdF16dRcZNI=; b=wjVrsrVJePYtc0o750Xd5UHccdliaWdKVt+gW3bhdRMj+tPaBvXuwvRY0UinKLap3+ FgKgfbTHJzy6v+UBNmRa+74XQ66ZpyuZOsFPY175fyeSHJ9fs3LLeM4wPYijzt9P7hR9 hVBeslgxALKb6jk6cEJzxy3PhHtP/VgA1iSAxy25Ha+LBmqWroSsnC7yfHy7Hm+57e9f MNotOBM8upuXnm02bwdOvGl+C5OZEbvyjXNOQLkynJyfNwxVYdegcYHj6fA6RkVQtJWn pt5UrLcZFOFsiVq1IN4XtN6gKOUhM7gWg/FkhnvU3Fk4xmNKA0gAHRHXbBDO7mudtSJ+ mdvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775825837; x=1776430637; h=in-reply-to:autocrypt:content-language:from:references:cc:to :subject:user-agent:mime-version:date:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=rb0rAS4Q27IrF9ryUUUT6/IqpiQ0YXOOCdF16dRcZNI=; b=ju8yqZHYqC+rQxiCH+d8laYsLex53VXPlaWWJpfXmWSEcmn2ZovW2Mp6+cWuY0MaX4 nFeyWE+m+F4vKQUS14CZiOvEdKUzP6NAcMKErh2+youqK5S7cDAWsj2DTYf2XM/tEqu5 XCPTXZcb4fD4qCBd9hwNv8dyRtoiyaD8+Ipi/QucceoCgWgWvpDwfH3btaryO4pFts9D OKBZPLN/TR9drTT9MXOXvATmExnEi+1bLC+1i0UZch878xNuahKUH11hll2r8oRH2+de gzGTddV4B2xbyUbecdz6HUAFOUIftP1LqNrJ8gePHfOEcB+EeRg9nsCFfI1cUJVPRP43 zSfA== X-Forwarded-Encrypted: i=1; AJvYcCX7f5VAMEWlBcLESZdVpACZfA8X0gHY6Ir5wyI7ffZJI4XfWUWgeZlf+UEDYs2tpWZ5iG3nvKxBekR3ata7@lists.postgresql.org X-Gm-Message-State: AOJu0YxQeHDRTeMQQWoxXgWNjx1blOpIQ3/g94+HQLv/kYoJ5XpRQO8W NZ71g5ENbXusyPD6GhCmTbAChON89h8noHKFZf02hjoFta5m7kxpda03X0L4APNKVqI= X-Gm-Gg: AeBDies49bYuV54EijdCZrGbshDzF2KrEDxEeC2qdPiyoT0eJpHMXYP3vdV0GIQBBc2 mhM8/otCF3c82XPaNWlK4ZVqpcghalaBTysoKQhJi8qsQBbE5mzPjlgIDcN92TcN9E6RHshzNJs ccOd2hBEd74sO1sVEiuJrj14tdReQJiw9DxpgTQcbmIaJM2fjKrnk+eulRH0tcMLwwxPraqWKdk OI7Cw9cMVTy1WNXfKL/ucYGJHK8SonkVD5gC4Zp11iFSVxepMZWxA+kzv+wrshByS71osK9L9U+ OW6cQ9V32sVGZBy7U37tVeYQ86KCuypiXfsoz4WKh6sLdnBwV7KIO5P2DSyyplCnC1VefK1UEvb uKIShJy2hr80RYLYrpL/ozvsYGOL34BDhijjPBGMUf0m++J87iDG1w9GFTd9j75hzuAaWcHWTnh 3PvKzZsbU9LeFOyLHAxjIMcc1ad1jRMQ== X-Received: by 2002:a05:620a:4441:b0:8cd:8ddd:26a3 with SMTP id af79cd13be357-8ddcfe9fb2cmr402211785a.48.1775825836791; Fri, 10 Apr 2026 05:57:16 -0700 (PDT) Received: from ?IPV6:2605:a601:a6b0:500::1cb? ([2605:a601:a6b0:500::1cb]) by smtp.googlemail.com with ESMTPSA id af79cd13be357-8ddb646d715sm195735885a.15.2026.04.10.05.57.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 10 Apr 2026 05:57:16 -0700 (PDT) Content-Type: multipart/alternative; boundary="------------f5MupiVQXUMyQLCE71ZOxqdF" Message-ID: <31c4ce3c-b645-4e43-a5ac-7b290cfefbc3@dunslane.net> Date: Fri, 10 Apr 2026 08:57:14 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: pg_waldump: support decoding of WAL inside tarfile To: Thomas Munro , Nazir Bilal Yavuz Cc: Sami Imseih , Tom Lane , Tomas Vondra , Andres Freund , Michael Paquier , Amul Sul , Zsolt Parragi , Robert Haas , Chao Li , Anthonin Bonnefoy , Fujii Masao , Jakub Wartak , PostgreSQL Hackers References: <2250061.1774104346@sss.pgh.pa.us> <1873141.1774823011@sss.pgh.pa.us> <3049460.1775067940@sss.pgh.pa.us> <3118179.1775092964@sss.pgh.pa.us> <3565835.1775147392@sss.pgh.pa.us> <3579709.1775151816@sss.pgh.pa.us> <63de1553-829a-488d-8ee0-976afb8dd32c@vondra.me> <3586483.1775155672@sss.pgh.pa.us> From: Andrew Dunstan Content-Language: en-US Autocrypt: addr=andrew@dunslane.net; keydata= xsBNBE7KWFkBCAClridxur2AIc7eW2AR7izbfp3EnNefie2HbLF0izW5Ik5UjX2HBXBx4syI gY6b0ugohXrr274+baoAlvSbq6cAoQuEVrk5IZFzt20b1Xkx65FwGSEj526yiKLocqkJceSq Xr9xcA5SGY+FZv441chh5SU92v4q6z+6LPpoHOh97ptAVXZYNTtU0LevyvD5lja0TzbvJm6C eFXitJfnm1pLEr0DGJCR/iUOl/N62Kh4855zZC7NHIjQHPOvV5Stz/l5ilDhvGVk+xkXFPys SjZoUr1rXhYLpiyi5sR0X9FHXT0KnGuz1F5ERO7ZTLSSQ6fJwPj6gOk9K+vvoKvoeql5ABEB AAHNJEFuZHJldyBEdW5zdGFuIDxhbmRyZXdAZHVuc2xhbmUubmV0PsLAlwQTAQgAQQIbAwIX gAIZAQULCQgHAwUVCgkICwUWAgMBAAIeBRYhBOQ+WEYd/Hy/RGkVpZn6f8tZ/DuBBQJoGNGd BQkdEO8nAAoJEJn6f8tZ/DuBq74H/jkTR4Zi3stbw+xC7v2u3QozssK7MYPL2AsVfh7OealS h182fiWXpfvmmAB7WUHbhk9GC2RAOnHI/2d2jgKaMLAHsGYOT0YopTVIwRY43fCw/mK67yxc wmDcX+zyKfLaivNbf5A7QPLNwda98bEAMSJ8Sn652Uc6cA8t3uKGsVzbRBQOoYzjgvBCfSrE 9ql3PDNg0l4BfAqabd2f70ZUm9VAMEPrgv/v2xI7M2XiL4g5BVmqLCOwxLM8RMCotCuoweUr VO43DeBCIDwLxotMJKvGWDjBzQYlU1NPUAtNcz/gN9ITUe1VUGjyvGj4u1lxBOcQQUw7l1+T 5moZ4iZxXzvOwE0ETspYWQEIANGc4zQULOxhbqO2dyD51YhqCNRmm9oKWaqf+wmW4tpDe/VV cxAnNizd4LWCHfzpb5cHAtGkOPePMfzWVf6nvdF7d3eglbtf59+zG7O7llV0xSSoFiieQBsr GvqDInXYX/4mRRXMtyhM353/tixC9RWLs1oofyYmCPPXXY7h9R7en3B8BoVrRFcdzlIY/NFN hFGW/9dkEiGjgna2Rk6e15kln4ZvFBWUg23p93w/pqXcxY6+k/8TEk+C4R+M6w7o2PLGOjdZ +kPiUcw5H85zf/yZJwQXzisXaNduwWB6Vads9YC9dj6kPR1c4VGRqAaYL++LAEOqrlvm2Tvq QqZRtnEAEQEAAcLAfAQYAQgAJgIbDBYhBOQ+WEYd/Hy/RGkVpZn6f8tZ/DuBBQJoGNI2BQkd EODdAAoJEJn6f8tZ/DuBfw0IAKTsfD40teP/pp+bsLLMSxPXUYrrprTj7WFB5v61p6dkpSr/ qXmMlyahdxQFaPmfVgVirB1Vk/kHiWNnnGjfUV9nB2Zg9LI0Xb9/ts3LsUiRWXzG3tkMY6XL vsVOxW4XFRND9l2q+WW93aZ1DZl+fqWfYgMvsusFRhmGFOKTRfKPta2Pkv+AhA24N4+PrR5p bU4k2MO8PAGiK8eaYKGFG1bHKuAvoDoF7WXJ3FHxuWqLnKEt4dfOLm5pAe3zq1Lt6q8azT9i QWGpSAK5vQUWQHBHpiDjdPeqKZ6HiAXIIKfSmb+jrvXBqoP+D6/K7rUjG2aXiRtTIAXms9sm VRu7cmw= In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------f5MupiVQXUMyQLCE71ZOxqdF Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2026-04-10 Fr 3:57 AM, Thomas Munro wrote: > Nitpicking code review for commit b15c1513: > > +read_archive_wal_page(XLogDumpPrivate *privateInfo, XLogRecPtr targetPagePtr, > + Size count, char *readBuff) > > I thought we agreed to stop using Size for new code? size_t has been > around since C89. Must have missed the memo :-( > > + pg_fatal("WAL segment \"%s\" in archive \"%s\" is too short: rea > d %lld of %lld bytes", > + fname, privateInfo->archive_name, > + (long long int) (count - nbytes), > + (long long int) count); > > Why cast to long long int? That's the sort of thing we used to have > to do for int64 (but no longer), but here it's size_t anyway. %zu has > been around since C99. will fix. Thanks for looking. cheers andrew -- Andrew Dunstan EDB:https://www.enterprisedb.com --------------f5MupiVQXUMyQLCE71ZOxqdF Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit


On 2026-04-10 Fr 3:57 AM, Thomas Munro wrote:
Nitpicking code review for commit b15c1513:

+read_archive_wal_page(XLogDumpPrivate *privateInfo, XLogRecPtr targetPagePtr,
+                     Size count, char *readBuff)

I thought we agreed to stop using Size for new code?  size_t has been
around since C89.


Must have missed the memo :-(



+               pg_fatal("WAL segment \"%s\" in archive \"%s\" is too short: rea
d %lld of %lld bytes",
+                        fname, privateInfo->archive_name,
+                        (long long int) (count - nbytes),
+                        (long long int) count);

Why cast to long long int?  That's the sort of thing we used to have
to do for int64 (but no longer), but here it's size_t anyway.  %zu has
been around since C99.


will fix. Thanks for looking.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com
--------------f5MupiVQXUMyQLCE71ZOxqdF--