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 1vqpwv-001Ven-0a for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Feb 2026 09:58:58 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vqpwu-00DSn2-1T for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Feb 2026 09:58:57 +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 1vqpwu-00DSmu-0O for pgsql-hackers@lists.postgresql.org; Fri, 13 Feb 2026 09:58:56 +0000 Received: from mail-yw1-x112d.google.com ([2607:f8b0:4864:20::112d]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vqpws-00000000TAH-25jE for pgsql-hackers@lists.postgresql.org; Fri, 13 Feb 2026 09:58:56 +0000 Received: by mail-yw1-x112d.google.com with SMTP id 00721157ae682-794fe698e36so7904767b3.2 for ; Fri, 13 Feb 2026 01:58:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1770976732; cv=none; d=google.com; s=arc-20240605; b=OlJHaoxWhLOgZAD5lcAHDlqaWcoJjUIEN/3VkwUkGw+fm2BdGLJN/bh8Fw6GaCbF14 vYR96X6srFkHRCiZ56outQb774hBe0EzjkDboF3x1ztEDIs2+4m3jzS/KM2blmPhA3j4 YKDITzZF2CxHJyhgwmXZsJ9WYQHzzrDbZbAdk1m2Iew6uyE+640H2NZA9xz+9nmdnNHf wBArZoY6A45B090EKAWx1R1mRVWyr1WG1AhuxhERlo7wWCLzlfnlFP4zAXzsrlTu/yYj XSTiGcWSScZRk4/0m0EOBrVmXJGzd7q5+qA6n4LMspr+8T8rOrB080QRK7AvexUxQKBI NnCQ== 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=kpURhlWgZeWABFIs8ZnbZJML8IZRdTg/sa6E8v3hFOI=; fh=vmkx8SKDdth5ZOzSdK1j5Xj+EMWosfLlVGvDtAvQRcQ=; b=aPFxGcz4hUPw4vzhOofllQZdmelbhQmjFYGUSZdt+/Zd53kf9pqCW3LgWp8U1Lp0Uo yCj1zNyPEDzCkBGzkRDpj9UX9z2Ew0DRVIDUZP/c5qtmttybivpWn5peyb3Fha8fclQb FFh350+ILEuOfyxIa4JOSrf3cyAhqYZWHQqnCajq1MOjejbNKrFOnZb2tAFqa6D0yI57 KWQXIMgldwhYey9CmR5MPLDc3oVTdratrM1+19hUjMufproaPhA8tGs9vz3VDtODfBXo g//dC4EqXhDLuN4YrDqKgVkeYRhFiSY4f8Fx9uixtNQ/2iNeMieVBIZW3Hqi9PrLAEZN tycg==; 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=percona.com; s=google; t=1770976732; x=1771581532; 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=kpURhlWgZeWABFIs8ZnbZJML8IZRdTg/sa6E8v3hFOI=; b=DvCcsvPKwViD/6NZ7bXPkfg2I8FbjgcmnQtw4yFn7Lufo09bxtEF331ndjuvlLJwZG lYCcNC7/WImHxWdi5EYjmWmDt4ak4fAmv0g2wkh8UPl+a3oB4VJ+R4qNfHdO0mNhVpwI NQSNE3sxtL5sBQLud/ziUDUezOmF12pDFaL2I= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770976732; x=1771581532; 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=kpURhlWgZeWABFIs8ZnbZJML8IZRdTg/sa6E8v3hFOI=; b=boJofjYqZDP+MXPdDH6esgFBm833q0bmH1fUGfATiBOh2C1mLXrcY3oOHUK/q5hUJC PM18n30F5mq2IsJuGnHBfmgrzBBKuRvtNQ1K8dEcM+1B+TudzlV5tsN7hftGKokYzeev GJXAS5GgYrXoMQFyJe5nD6LrUOYEizuPiA3B2nEEBJDU0SAWKhRTNPYk+yBDaK47HZVA hYjKKkkcueVefP5jJ8Q/PSs/l1QN+pm94/rpfoCAFEW9V/nHw5zKfcl8gR0m8n+xJLhC etDIVao0JJ7I9fejHSh3/2HprW8FHOqPF7JeQpJpPqPAlIEABrakNtq8F1kxTUO2UaPb 8d4Q== X-Gm-Message-State: AOJu0Yz04k4kUsA7PRdqlq30bvXzCxej4UBeklMvalkd42+avXE8Fv9q iXVeBnMlZedt4OzNYELJfNo3Omg2MjnjoMnznh2fRlNB2kP97xpKjkae3sSVcej+e005IATF9gi QIE/Ly/WYZVZN0mDexg2kfr/lMq9GpnO8xq4cjDAqxO3k/VNRYdSjmkoyb6RwJjccw6BPG949lm KeP23tmkL8TvvlmVSKdyTZ/9PqGCvakc5i46xQJTlsn4RwXKhjjvQpA9IuxbWfAtQKjmhlFEbml 1vQPp3IXrU3VK8yXs4ByB3iIR4uLlIhpLLQ1EB3p0y2kXpEDx75WQ9gUtgqCXxKx0c= X-Gm-Gg: AZuq6aK78W6gb1qfjWUgW5ZWr50XkQVLIaPYeqMmj8MHfMRBOkQ1q8QVhyRt++a5Ht4 OkVihP8yj5ilAJ7FKFZVcBhV0W6DfUpICN8cltUAv+hxREHlNsF0lYxLLhubHl8V24N/Ab0uipn SEVgkIcy0MBFIgvjS6lY3BoxMBXcMAXd8Rd0KT0MjdrhyNRzU2rPChyHfvzT8co/oXxm0LjxGxz RChiFXlaYRJRO5nEJ+0LB/0PvQKZ+GdBJoh3BHkK59sAab2pU2+nR/rn4BEimDcodrPZtqJsR2C m2gACQ8ZNZpwqeF55zdMBjgFyk3eFd6qT4dUTwTaaudMe0kFBXWT30NjErsd8lvZ6aD6 X-Received: by 2002:a05:690c:dc6:b0:786:91ac:e15d with SMTP id 00721157ae682-797a0c5a2acmr9725097b3.27.1770976732479; Fri, 13 Feb 2026 01:58:52 -0800 (PST) MIME-Version: 1.0 References: <289125.1770913057@sss.pgh.pa.us> In-Reply-To: <289125.1770913057@sss.pgh.pa.us> From: Zsolt Parragi Date: Fri, 13 Feb 2026 09:58:42 +0000 X-Gm-Features: AZwV_QhMNjQRDWl8IKqeBWB7upXxnCPLPOPWJkbUfPa0fcF_LanU08_a1U16fQM Message-ID: Subject: Re: Our ABI diff infrastructure ignores enum SysCacheIdentifier To: Tom Lane Cc: pgsql-hackers@lists.postgresql.org Content-Type: text/plain; charset="UTF-8" X-CLOUD-SEC-AV-Sent: true X-CLOUD-SEC-AV-Info: percona,google_mail,monitor X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk While it isn't strictly ABI, this made me wonder about the static inline functions in public headers. Wouldn't extensions using those, compiled with older minor versions have similar issues as issues caused by actual ABI incompatibility? I did a quick test with scripts about this in the REL 17 branch, and there are several changes that could cause issues in theory. See ffd9b8134658 for example introduced in 17.3. While technically this is ABI compatible (nbanks is the same size as bank_mask in the public struct, no binary change), part of the modified calculation is in an inline function in the header, but part of it is in the C part. Extensions compiled against 17.2 or earlier and using this functionality will misbehave in 17.3 or later, as only part of the code gets updated. Similar issues could be caused by macro changes, for example COPYCHAR was changed from memcpy to ts_copychar_cstr. That doesn't seem to be an actual issue, but it could have been with a different change, and I think similarly could go unnoticed. There are also cases where something was simply removed from public headers (firstbyte64(v) define from hashfn_unstable.h for example). This again wouldn't cause any issues as long as the functions called by it are still there, but it seems to break source compatibility between minor versions.