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.94.2) (envelope-from ) id 1tBgha-005R8e-Uy for pgsql-hackers@arkaria.postgresql.org; Thu, 14 Nov 2024 20:44:30 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tBghX-006ij3-VZ for pgsql-hackers@arkaria.postgresql.org; Thu, 14 Nov 2024 20:44:28 +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.94.2) (envelope-from ) id 1tBghX-006iip-LF for pgsql-hackers@lists.postgresql.org; Thu, 14 Nov 2024 20:44:28 +0000 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1tBghU-001xTH-D7 for pgsql-hackers@postgresql.org; Thu, 14 Nov 2024 20:44:27 +0000 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-71e4244fdc6so837176b3a.0 for ; Thu, 14 Nov 2024 12:44:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=timescale.com; s=google; t=1731617062; x=1732221862; darn=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=njp2tc1Ie42Ww6kVSFc/WlJO/Gahi+532iRCOIsC/Rc=; b=msoNRADj7U0ZCu9ihpmX2ZqWDfli/VeUK5N6cSVRowfnEfGti2g4ImbgwimKF7+7kL MBe5aMCS0mAh9eXq4JNU3HHC31hutYC322AiIi2accghuewR+Cs8jab41tsaSB19+i1h MD1VgObg+5BtVHDGYkGBeA2THJxpjUFqF2S978p0b7Ye0VHxGZF/4HRt9qe2FEfFZde7 dKe0WlAgUKKNZsGNiRj541/ir1n4w7Ny7P7I7UlAAU1lJ0ytZi1ie5JHTZORk+eFSMLu 3KtdJoSp3z8l2zPJzTKPmnZ3OgXw7e/UCT5+I9oMyIyF+nlzsMhSiwnWQCCdX5Tpttf5 UiZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731617062; x=1732221862; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=njp2tc1Ie42Ww6kVSFc/WlJO/Gahi+532iRCOIsC/Rc=; b=q6SlQWsbgt0TxnfEMzCTp2fbEm4ShKMqq/NU2dz3vpoXSCo00JJSQK94+U7d5LpQMD q6mDTrmtonncwdYkM81XolGbGZxNpmXHzrEnwOxn/lmo+H4KJuH/aeD/73UBCJaIZ18s 0kRSdaKJiF+qYs9HE+G0M6wJz/ZrZWTFZnGYOTtIQ1gm/JxAbZkKPXiyyZx0hb7kav1S UyHcdwANlLFZR+jzOqL8lCcfYy2AhuFfMLQesNn5i4Efw0AW7Gl1mIahhr+7wn82bbA2 2FiWjm8IGi6uF2fPXG4hYNmU2CrOps2z5jvOzka1kVezi54DymPzgvR3R2MMa3E/O9hc wOYQ== X-Gm-Message-State: AOJu0Yx+VgoO3q6lzYRs0v0c/t5L2NsGo+XCfE8KbvDWAbiWVmNy1Hd6 WegMWndMjNxMTKMQTGgpgqJ9cDUiormAsIfzm0577oGIbw83KVAXkMlJRgdi8hl33Sq/94Rto8p /PFiGy1/vJ9qXdiewTL3WlrrDUgHEr9slrqDNcMDqx0TKmwBGHjdPbQ== X-Google-Smtp-Source: AGHT+IE8sLIH/HvLumGgogdV2JBWEUcAjaAM9CdQqMgP8WINgumXxaWrbTxfK1j3i+Xv0/5vx1gP6qMHH6779gWrCJw= X-Received: by 2002:a17:90b:4c52:b0:2e2:b45f:53b4 with SMTP id 98e67ed59e1d1-2ea1559acbfmr323262a91.25.1731617062271; Thu, 14 Nov 2024 12:44:22 -0800 (PST) MIME-Version: 1.0 References: <1976928.1731614974@sss.pgh.pa.us> <202411142033.u6za5a6ylj2k@alvherre.pgsql> In-Reply-To: <202411142033.u6za5a6ylj2k@alvherre.pgsql> From: Aleksander Alekseev Date: Thu, 14 Nov 2024 23:44:11 +0300 Message-ID: Subject: Re: Potential ABI breakage in upcoming minor releases To: pgsql-hackers Cc: Tom Lane , Alvaro Herrera , Christoph Berg , Noah Misch , Pavan Deolasee Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi Alvaro, > There are three makeNode(ResultRelInfo), but they don't look anything > out of the ordinary: > [...] > src/ts_catalog/catalog.c-extern TSDLLEXPORT ResultRelInfo * > src/ts_catalog/catalog.c-ts_catalog_open_indexes(Relation heapRel) > src/ts_catalog/catalog.c-{ > src/ts_catalog/catalog.c- ResultRelInfo *resultRelInfo; > src/ts_catalog/catalog.c- > src/ts_catalog/catalog.c: resultRelInfo = makeNode(ResultRelInfo); > src/ts_catalog/catalog.c- resultRelInfo->ri_RangeTableIndex = 0; /* dummy */ > src/ts_catalog/catalog.c- resultRelInfo->ri_RelationDesc = heapRel; > src/ts_catalog/catalog.c- resultRelInfo->ri_TrigDesc = NULL; /* we don't fire triggers */ > src/ts_catalog/catalog.c- > src/ts_catalog/catalog.c- ExecOpenIndices(resultRelInfo, false); ExecOpenIndices() will not fill the ri_needLockTagTuple field for the caller and it will contain garbage. Since you assumed this is the correct usage, maybe it should? -- Best regards, Aleksander Alekseev