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 1wB6lC-000k6z-2y for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Apr 2026 07:58:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wB6lB-00AW79-0Y for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Apr 2026 07:58:38 +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 1wB6lA-00AW71-2u for pgsql-hackers@lists.postgresql.org; Fri, 10 Apr 2026 07:58:37 +0000 Received: from mail-vk1-xa2c.google.com ([2607:f8b0:4864:20::a2c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wB6l9-00000000JjK-39ig for pgsql-hackers@lists.postgresql.org; Fri, 10 Apr 2026 07:58:37 +0000 Received: by mail-vk1-xa2c.google.com with SMTP id 71dfb90a1353d-56d39a55d02so77415e0c.0 for ; Fri, 10 Apr 2026 00:58:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775807914; cv=none; d=google.com; s=arc-20240605; b=W03AYKt5SEVH+Y/fYMd8/vvgpADpIhamIRqXFxjHFJaDpRUIn1aWM9EKj3Qv94qRpe vqVJS2x0cihOOaagGEqSuA83fbGhCcBkeziYa/Fhu6BhHCHs0ZCNZugt2WZCrFDfCW9b +wMwklAjNRey4g93lVtOAlHrOmeFzj7bu34pWufmWKhPvQB92IRAIFN1tkB1hJ6FcxPV ZZS9l3hhzQptt01NSbjjh43ZARv8ORa1VjtDmXcVDV/W8dHUDgEQD6lMX2yILspcipVx k44y0Jj3Nbku7sv5jj/B0oNFz5rFXGQgQSpRbf+w4SzlN3Mm7RZiXcq7Pu6fXiKwaZnH yG4A== 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=PSHbGkSaHQ8w4mPxpbd3IoSsEF4KeZXLeyt1tGafc4E=; fh=9I+ID5MPs2++ZUMErIXC77n3mkqPan0KLpz+Blps1J4=; b=KfRWKeEzuQDxoJ6N5aWMuHSL7i7gbiRvqkhgNf9y3Y4vVi4aZ/qGVSunabqJwecq8R zAO2ax7hpJlkcbfuyUddAQ8YVkVW5uSQDCeraPDxCt65mJbg8O/+WLFbC/IE+lBMHpK3 PQDsyDiQXS9idM2z5cRHchjVTVSbf36hWufNvgT3lu2OimIVkeukHVKAxbYGkzV/4TLv j8Sl4zizj6TvvnsBrYxhr/yIMiRRJaaEe35HYA3HstiqhrZ5J4WDtyNUz62lpSuNJ70l iDMiFDAamSS4YVG183mWSiv+YzBOubigkia3/DxjG3u2PNKMtXMjY7EdQqXGqqv3Dy7D wmgQ==; 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=1775807914; x=1776412714; 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=PSHbGkSaHQ8w4mPxpbd3IoSsEF4KeZXLeyt1tGafc4E=; b=lT2rXI8EOXYg//SOIkeSzlgX64b3CGbFUGCOsX6BP7tV7lAq1xSqzfVR/B25I25eaF pB2+OvtvN0h9PTN3emuysJ4DdD+RjB1oE1FUSMXEHrIqBT2vmXo16+r/O1rlNZuravAO UwOKctWEjWuUA7gIu0vsd3v64P1p+HXy8z4XtZ0T66pObaGHyfdPB8oItCm5obEmMaY3 F2W5ia9DHMYit7Oq8rc16L7UVZmwlaq4jIVnDcxfGRjMlPAt3gMUjlg5/ixB8nB9iEK4 UUKQzzsAFNm3lEi2OEz2WM1vIwMyvzYLHv8B6srOoJ/KquBxV5peabi6VIWN5ZZ/v6rC +7cg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775807914; x=1776412714; 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=PSHbGkSaHQ8w4mPxpbd3IoSsEF4KeZXLeyt1tGafc4E=; b=s9UEdPANAVFznDm+EnSGSjjSeSabDQqgbbnuGN7/SuC7gIfs8MZLr2KZ7AmZ8jjuic DW6Gk1RRV4IDcAWtbAdtmgTOjzg7BllPjvv6nCFET07008DnbDc3lq4VKo93IGgp9Fjn rIamFkHuiMVpalOydEUiwf1ajca0o8/YydcQNsJTZj4z3ZS7BDWIoCwD4DmUUqNUQYVa FF/bB6SIxM6aflckvbGfS3+emQy+iM451kzjdQes/GiZVqvYswP2JVu4zvBr3Rzgabhc oITxNWemI5yOzGmbTOvibC5fnHT42O/44suknsu4wT17xnwEuLOa7TKUF+kmqwOWlQfE YBBw== X-Forwarded-Encrypted: i=1; AJvYcCU9NHUVT1XRW0nTjCm2uaHo3DhbZBH+6WDrtK9zMMc7h64NO0TohL4/5MpDViYOggh3CmrsNXMFrPEv2gQI@lists.postgresql.org X-Gm-Message-State: AOJu0Yzjx2BCtfTUIShH4/ahrNFiKyVA0qyKnAiMso3IxvvIurMvhh4y o5OEpLmu+1Hu+1sKE4RQBW66zT/WMpcqCGHZ9K9PyBgtlgu8u3Ps5dTbB/3b8h62rlRPHWr5hn8 K4G+D4W+FfW22trufRjd9EoFaZcgDcOo= X-Gm-Gg: AeBDieu4GQoBtamdBKlmtFvNzM4LxEqUFkiDIxyYN7+vBQiLeW+Kl+jQUssQSAj9xEV 3DQeh+RRoGQq4FmHDmsuetHgxZIXFhm+AsdVqmu1xzMmdCysZrnEbi36Gd3JRP6P7d/f4fxkim4 ZSOg5Z+AhsvXDkIRKzHXt+Nn8V8Q+ucfvfdKxwCeqjBMS/N26NOAw7krBl49cQ02EQ76SM5nwlQ 2RP40kKPeeZsQpYeQ4cu+5LX7xRRAI39P3I6NVB1eJXG0jAVrR6wm5V+pQOZ3MTd1paqcF7i9cn O0iAOXFB6le6/nLw+dnOiPDBOx7PgRSxBvF08O+0U2BzSmsnM+wut82rQy2Fr157 X-Received: by 2002:ac5:cdc6:0:b0:56b:7689:dcfe with SMTP id 71dfb90a1353d-56f3bc8cfc7mr329465e0c.2.1775807914003; Fri, 10 Apr 2026 00:58:34 -0700 (PDT) MIME-Version: 1.0 References: <2250061.1774104346@sss.pgh.pa.us> <3341199.1774221191@sss.pgh.pa.us> <3424809.1774234940@sss.pgh.pa.us> <1624716.1774736283@sss.pgh.pa.us> <1626907.1774737417@sss.pgh.pa.us> <97a382c0-1f19-4ea0-951f-e37e6abc34a3@vondra.me> <1630755.1774739531@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> In-Reply-To: From: Thomas Munro Date: Fri, 10 Apr 2026 19:57:56 +1200 X-Gm-Features: AQROBzAWHgMZrYlLnLFpNv4fAhme-s55Y1OBW0n77c9Vc3oWkygwDP3R1bwQjFQ Message-ID: Subject: Re: pg_waldump: support decoding of WAL inside tarfile To: Nazir Bilal Yavuz Cc: Sami Imseih , Tom Lane , Tomas Vondra , Andres Freund , Michael Paquier , Andrew Dunstan , Amul Sul , Zsolt Parragi , Robert Haas , Chao Li , Anthonin Bonnefoy , Fujii Masao , Jakub Wartak , PostgreSQL Hackers Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk 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. + 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.