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 1w7R74-005JZ2-1J for pgsql-committers@arkaria.postgresql.org; Tue, 31 Mar 2026 04:54:02 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w7R72-007xJ1-32 for pgsql-committers@arkaria.postgresql.org; Tue, 31 Mar 2026 04:54:01 +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 1w7R72-007xIq-2H for pgsql-committers@lists.postgresql.org; Tue, 31 Mar 2026 04:54:01 +0000 Received: from mahout.postgresql.org ([2001:4800:3e1:1::227]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w7R70-0000000276v-1rIE for pgsql-committers@lists.postgresql.org; Tue, 31 Mar 2026 04:54:00 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Date:Message-Id:Subject:To:From:MIME-Version: Content-Type:Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:In-Reply-To:References; bh=iDrovlljD2mcMLgfwQfOjqBhEH1ykA7LagM7nswK4d8=; b=B6r0SgVqVi3dLyUbYWv1yWSFer 6z725otnbaDD+qhAK1tMdH1G3LH3ifO6j5hrCTJHBM3gQ+nPPZPieczef9thW3dTGj5alSOquyCla L3Gzggr4gZZhkCM0MxjcAQIUfBJEpPwwY5rxGYlDQGO796zFFvwnC4PASkQ16pNQQnZE3WnYEICyW cRsn01LFSJSUXCSBK7xZfIu3hmcmjBANNm1v2mw5TsUTcAy4D6UPbi9owSpTZo4WwiLKv9FjfMJvu aHkYIaW7oIl7CziWyI0AilJAcT/W/K4mi7rQdeTE8GeVrzCFnTT1DPHnFZBIcMaHt68WxEj/Yq6y2 36qcrURA==; Received: from gemulon.postgresql.org ([2001:4800:3e1:1::198]) by mahout.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w7R6z-0075ne-1p for pgsql-committers@lists.postgresql.org; Tue, 31 Mar 2026 04:53:57 +0000 Received: from localhost ([127.0.0.1] helo=gemulon.postgresql.org) by gemulon.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w7R6y-002Fk8-1I for pgsql-committers@lists.postgresql.org; Tue, 31 Mar 2026 04:53:57 +0000 Content-Type: multipart/mixed; boundary="===============6364435973101834998==" MIME-Version: 1.0 From: Amit Langote To: pgsql-committers@lists.postgresql.org Subject: pgsql: Add fast path for foreign key constraint checks X-Auto-Response-Suppress: All Auto-Submitted: auto-generated Message-Id: Date: Tue, 31 Mar 2026 04:53:57 +0000 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============6364435973101834998== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 QWRkIGZhc3QgcGF0aCBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludCBjaGVja3MKCkFkZCBhIGZh c3QtcGF0aCBvcHRpbWl6YXRpb24gZm9yIGZvcmVpZ24ga2V5IGNoZWNrcyB0aGF0IGJ5cGFzc2Vz IFNQSQpieSBkaXJlY3RseSBwcm9iaW5nIHRoZSB1bmlxdWUgaW5kZXggb24gdGhlIHJlZmVyZW5j ZWQgdGFibGUuCkJlbmNobWFya2luZyBzaG93cyB+MS44eCBzcGVlZHVwIGZvciBidWxrIEZLIGlu c2VydHMgKGludCBQSy9pbnQgRkssCjFNIHJvd3MsIHdoZXJlIFBLIHRhYmxlIGFuZCBpbmRleCBh cmUgY2FjaGVkKS4KClRoZSBmYXN0IHBhdGggYXBwbGllcyB3aGVuIHRoZSByZWZlcmVuY2VkIHRh YmxlIGlzIG5vdCBwYXJ0aXRpb25lZCBhbmQKdGhlIGNvbnN0cmFpbnQgZG9lcyBub3QgaW52b2x2 ZSB0ZW1wb3JhbCBzZW1hbnRpY3MuICBPdGhlcndpc2UsIHRoZQpleGlzdGluZyBTUEkgcGF0aCBp cyB1c2VkLgoKVGhpcyBvcHRpbWl6YXRpb24gY292ZXJzIG9ubHkgdGhlIHJlZmVyZW50aWFsIGNo ZWNrIHRyaWdnZXIKKFJJX0ZLZXlfY2hlY2spLiAgVGhlIGFjdGlvbiB0cmlnZ2VycyAoQ0FTQ0FE RSwgU0VUIE5VTEwsIFNFVCBERUZBVUxULApSRVNUUklDVCwgTk8gQUNUSU9OKSBtdXN0IGZpbmQg cm93cyBvbiB0aGUgRksgc2lkZSB0byBtb2RpZnksIHdoaWNoCnJlcXVpcmVzIGEgdGFibGUgc2Nh biB3aXRoIG5vIGd1YXJhbnRlZWQgaW5kZXggYXZhaWxhYmxlLCBhbmQgdGhlbgpleGVjdXRlIERN TCBhZ2FpbnN0IHRob3NlIHJvd3MgdGhyb3VnaCB0aGUgZnVsbCBleGVjdXRvciBwYXRoIGluY2x1 ZGluZwphbnkgdHJpZ2dlcmVkIGFjdGlvbnMuICBSZXBsaWNhdGluZyB0aGF0IHdpdGhvdXQgc3Vi c3RhbnRpYWwgY29kZQpkdXBsaWNhdGlvbiBpcyBub3QgZmVhc2libGUsIHNvIHRob3NlIHRyaWdn ZXJzIHJlbWFpbiBvbiB0aGUgU1BJIHBhdGguCkV4dGVuZGluZyB0aGUgZmFzdCBwYXRoIHRvIGFj dGlvbiB0cmlnZ2VycyByZW1haW5zIHBvc3NpYmxlIGFzIGZ1dHVyZQp3b3JrIGlmIHRoZSBuZWNl c3NhcnkgaW5mcmFzdHJ1Y3R1cmUgaXMgYnVpbHQuCgpUaGUgbmV3IHJpX0Zhc3RQYXRoQ2hlY2so KSBmdW5jdGlvbiBleHRyYWN0cyB0aGUgRksgdmFsdWVzLCBidWlsZHMgc2NhbgprZXlzLCBwZXJm b3JtcyBhbiBpbmRleCBzY2FuLCBhbmQgbG9ja3MgdGhlIG1hdGNoaW5nIHR1cGxlIHdpdGgKTG9j a1R1cGxlS2V5U2hhcmUgdmlhIHJpX0xvY2tQS1R1cGxlKCksIHdoaWNoIGhhbmRsZXMgdGhlIFJJ LXNwZWNpZmljCnN1YnNldCBvZiB0YWJsZV90dXBsZV9sb2NrKCkgcmVzdWx0cy4KCklmIHRoZSBs b2NrZWQgdHVwbGUgd2FzIHJlYWNoZWQgYnkgY2hhc2luZyBhbiB1cGRhdGUgY2hhaW4KKHRtZmQu dHJhdmVyc2VkKSwgcmVjaGVja19tYXRjaGVkX3BrX3R1cGxlKCkgdmVyaWZpZXMgdGhhdCB0aGUg a2V5CmlzIHN0aWxsIHRoZSBzYW1lLCBlbXVsYXRpbmcgRXZhbFBsYW5RdWFsLgoKVGhlIHNjYW4g dXNlcyBHZXRUcmFuc2FjdGlvblNuYXBzaG90KCksIG1hdGNoaW5nIHdoYXQgdGhlIFNQSSBwYXRo CnVzZXMgKHZpYSBfU1BJX2V4ZWN1dGVfcGxhbiBwdXNoaW5nIEdldFRyYW5zYWN0aW9uU25hcHNo b3QoKSBhcyB0aGUKYWN0aXZlIHNuYXBzaG90KS4gIFVuZGVyIFJFQUQgQ09NTUlUVEVEIHRoaXMg aXMgYSBmcmVzaCBzbmFwc2hvdDsKdW5kZXIgUkVQRUFUQUJMRSBSRUFEIC8gU0VSSUFMSVpBQkxF IGl0IGlzIHRoZSBmcm96ZW4gdHJhbnNhY3Rpb24tCnN0YXJ0IHNuYXBzaG90LCBzbyBQSyByb3dz IGNvbW1pdHRlZCBhZnRlciB0aGUgdHJhbnNhY3Rpb24gc3RhcnRlZAphcmUgbm90IHZpc2libGUu CgpUaGUgcmlfQ2hlY2tQZXJtaXNzaW9ucygpIGZ1bmN0aW9uIHBlcmZvcm1zIHNjaGVtYSBVU0FH RSBhbmQgdGFibGUKU0VMRUNUIGNoZWNrcywgbWF0Y2hpbmcgd2hhdCB0aGUgU1BJIHBhdGggZ2V0 cyBpbXBsaWNpdGx5IHRocm91Z2gKdGhlIGV4ZWN1dG9yJ3MgcGVybWlzc2lvbiBjaGVja3MuICBU aGUgZmFzdCBwYXRoIGFsc28gc3dpdGNoZXMgdG8KdGhlIFBLIHRhYmxlIG93bmVyJ3Mgc2VjdXJp dHkgY29udGV4dCAod2l0aCBTRUNVUklUWV9OT0ZPUkNFX1JMUykKYmVmb3JlIHRoZSBpbmRleCBw cm9iZSwgbWF0Y2hpbmcgdGhlIFNQSSBwYXRoIHdoZXJlIHRoZSBxdWVyeSBydW5zCmFzIHRoZSB0 YWJsZSBvd25lci4KCnJpX0hhc2hDb21wYXJlT3AoKSBpcyBhZGp1c3RlZCB0byBoYW5kbGUgY3Jv c3MtdHlwZSBlcXVhbGl0eSBvcGVyYXRvcnMKKGUuZy4gaW50NDhlcSBmb3IgaW50NCBQSyAvIGlu dDggRkspIHdoaWNoIGNhbiBhcHBlYXIgaW4gY29ucGZlcW9wLgpUaGUgZXhpc3RpbmcgY29kZSBh c3NlcnRlZCBzYW1lLXR5cGUgb3BlcmF0b3JzIG9ubHksIHdoaWNoIHdhcyBjb3JyZWN0CmZvciBp dHMgZXhpc3RpbmcgY2FsbGVycyAocmlfS2V5c0VxdWFsIGNvbXBhcmVzIHNhbWUtdHlwZSBGSyBj b2x1bW4KdmFsdWVzIHZpYSBmZl9lcV9vcHJzKSwgYnV0IHRoZSBmYXN0IHBhdGggaXMgdGhlIGZp cnN0IGNhbGxlciB0byBwYXNzCnBmX2VxX29wcnMsIHdoaWNoIGNhbiBiZSBjcm9zcy10eXBlLgoK UGVyLWtleSBtZXRhZGF0YSAoY29tcGFyZSBlbnRyaWVzLCBvcGVyYXRvciBwcm9jZWR1cmVzLCBz dHJhdGVneQpudW1iZXJzKSBpcyBjYWNoZWQgaW4gUklfQ29uc3RyYWludEluZm8gdmlhCnJpX3Bv cHVsYXRlX2Zhc3RwYXRoX21ldGFkYXRhKCkgb24gZmlyc3QgdXNlLCBlbGltaW5hdGluZyByZXBl YXRlZApjYWxscyB0byByaV9IYXNoQ29tcGFyZU9wKCkgYW5kIGdldF9vcF9vcGZhbWlseV9wcm9w ZXJ0aWVzKCkuCmNvbmluZGlkIGFuZCBwa19pc19wYXJ0aXRpb25lZCBhcmUgYWxzbyBjYWNoZWQg YXQgY29uc3RyYWludCBsb2FkCnRpbWUsIGF2b2lkaW5nIHBlci1pbnZvY2F0aW9uIHN5c2NhY2hl IGxvb2t1cHMgYW5kIHRoZSBuZWVkIHRvIG9wZW4KcGtfcmVsIGJlZm9yZSBkZWNpZGluZyB3aGV0 aGVyIHRoZSBmYXN0IHBhdGggYXBwbGllcy4KCk5ldyByZWdyZXNzaW9uIHRlc3RzIGNvdmVyIFJM UyBieXBhc3MgYW5kIEFDTCBlbmZvcmNlbWVudCBmb3IgdGhlCmZhc3QtcGF0aCBwZXJtaXNzaW9u IGNoZWNrcy4gIE5ldyBpc29sYXRpb24gdGVzdHMgZXhlcmNpc2UgY29uY3VycmVudApQSyB1cGRh dGVzIHVuZGVyIGJvdGggUkVBRCBDT01NSVRURUQgYW5kIFJFUEVBVEFCTEUgUkVBRC4KCkF1dGhv cjogSnVud2FuZyBaaGFvIDx6aGp3cGt1QGdtYWlsLmNvbT4KQ28tYXV0aG9yZWQtYnk6IEFtaXQg TGFuZ290ZSA8YW1pdGxhbmdvdGUwOUBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBIYWlibyBZYW4g PHRyaXN0YW4ueWltQGdtYWlsLmNvbT4KVGVzdGVkLWJ5OiBUb21hcyBWb25kcmEgPHRvbWFzQHZv bmRyYS5tZT4KRGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMvbS9DQStIaXdxRjRDMHdzM2NP K3o1Y0xrUHV2d25Bd2tTcDdzZnZnR2ozeVE9TGk2S05NcUFAbWFpbC5nbWFpbC5jb20KCkJyYW5j aAotLS0tLS0KbWFzdGVyCgpEZXRhaWxzCi0tLS0tLS0KaHR0cHM6Ly9naXQucG9zdGdyZXNxbC5v cmcvcGcvY29tbWl0ZGlmZi8yZGE4NmMxZWY5YjU0NDZlMGUyMmMwYjZhNTg0NjI5M2U1OGQ5OGUz CgpNb2RpZmllZCBGaWxlcwotLS0tLS0tLS0tLS0tLQpzcmMvYmFja2VuZC91dGlscy9hZHQvcmlf dHJpZ2dlcnMuYyAgICAgICAgICAgICAgICB8IDQ2NiArKysrKysrKysrKysrKysrKysrKy0KLi4u L2lzb2xhdGlvbi9leHBlY3RlZC9may1jb25jdXJyZW50LXBrLXVwZC5vdXQgICAgfCAxMDUgKysr KysKc3JjL3Rlc3QvaXNvbGF0aW9uL2lzb2xhdGlvbl9zY2hlZHVsZSAgICAgICAgICAgICAgfCAg IDEgKwpzcmMvdGVzdC9pc29sYXRpb24vc3BlY3MvZmstY29uY3VycmVudC1way11cGQuc3BlYyB8 ICA1MyArKysKc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9mb3JlaWduX2tleS5vdXQgICAgICAg ICAgfCAgNDcgKysrCnNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2ZvcmVpZ25fa2V5LnNxbCAgICAgICAg ICAgICAgIHwgIDY0ICsrKwpzcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCAgICAgICAg ICAgICAgICAgICB8ICAgMSArCjcgZmlsZXMgY2hhbmdlZCwgNzIzIGluc2VydGlvbnMoKyksIDE0 IGRlbGV0aW9ucygtKQoK --===============6364435973101834998==--