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 1w8XAk-000d8S-1d for pgsql-committers@arkaria.postgresql.org; Fri, 03 Apr 2026 05:34:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w8XAi-009uub-2Z for pgsql-committers@arkaria.postgresql.org; Fri, 03 Apr 2026 05:34:21 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w8XAi-009uuT-0c for pgsql-committers@lists.postgresql.org; Fri, 03 Apr 2026 05:34:20 +0000 Received: from mahout.postgresql.org ([2001:4800:3e1:1::227]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w8XAf-00000000Ivi-0fHm for pgsql-committers@lists.postgresql.org; Fri, 03 Apr 2026 05:34:19 +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=hkseo8x6JP+cglkaCwUBrCRArZBoZhe0bckeo97rez8=; b=iH4Y1hM54nbw4PAbBfxSeYGt5x TEu1hI3HrL8PvE8fsZkUJ74mpobEhDgqtJzTDl1HvuweDB2Mv3G/Wz2BGj/F/TbRWkEIDnyVhZmUi nCQUkLGHtJ5tpwrNM85OleJ4xnmbi1Xa2ckf9/EPwu5nXgpnjGNvGxVnrC1WhFjSH250G3pBvFITA rGcGUBHmerzzEoUzsJ12cttsDal5/ZNdSnLPdM2j5OzBQHtGUAE9rt7appUzQLX7ucJs3DxymgWlI Nl5XspQ9adNOHqHkOxNDvd1OzTXEaJPPVcjCkCb6FvNU8aZeFzGQLD9QeG4/E0X7rkuSKp+DOUD9t 4iaV4V5g==; 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 1w8XAe-000qdb-0q for pgsql-committers@lists.postgresql.org; Fri, 03 Apr 2026 05:34:16 +0000 Received: from localhost ([127.0.0.1] helo=gemulon.postgresql.org) by gemulon.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w8XAc-002iFR-2Q for pgsql-committers@lists.postgresql.org; Fri, 03 Apr 2026 05:34:15 +0000 Content-Type: multipart/mixed; boundary="===============4075546630712509050==" MIME-Version: 1.0 From: Amit Langote To: pgsql-committers@lists.postgresql.org Subject: pgsql: Optimize fast-path FK checks with batched index probes X-Auto-Response-Suppress: All Auto-Submitted: auto-generated Message-Id: Date: Fri, 03 Apr 2026 05:34:15 +0000 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============4075546630712509050== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 T3B0aW1pemUgZmFzdC1wYXRoIEZLIGNoZWNrcyB3aXRoIGJhdGNoZWQgaW5kZXggcHJvYmVzCgpJ bnN0ZWFkIG9mIHByb2JpbmcgdGhlIFBLIGluZGV4IG9uIGVhY2ggdHJpZ2dlciBpbnZvY2F0aW9u LCBidWZmZXIKRksgcm93cyBpbiBhIG5ldyBwZXItY29uc3RyYWludCBjYWNoZSBlbnRyeSAoUklf RmFzdFBhdGhFbnRyeSkgYW5kCmZsdXNoIHRoZW0gYXMgYSBiYXRjaC4KCk9uIGVhY2ggdHJpZ2dl ciBpbnZvY2F0aW9uLCB0aGUgbmV3IHJpX0Zhc3RQYXRoQmF0Y2hBZGQoKSBidWZmZXJzCnRoZSBG SyByb3cgaW4gUklfRmFzdFBhdGhFbnRyeS4gIFdoZW4gdGhlIGJ1ZmZlciBmaWxscyAoNjQgcm93 cykKb3IgdGhlIHRyaWdnZXItZmlyaW5nIGN5Y2xlIGVuZHMsIHRoZSBuZXcgcmlfRmFzdFBhdGhC YXRjaEZsdXNoKCkKcHJvYmVzIHRoZSBpbmRleCBmb3IgYWxsIGJ1ZmZlcmVkIHJvd3MsIHNoYXJp bmcgYSBzaW5nbGUKQ29tbWFuZENvdW50ZXJJbmNyZW1lbnQsIHNuYXBzaG90LCBwZXJtaXNzaW9u IGNoZWNrLCBhbmQgc2VjdXJpdHkKY29udGV4dCBzd2l0Y2ggYWNyb3NzIHRoZSBiYXRjaCwgcmF0 aGVyIHRoYW4gcmVwZWF0aW5nIGVhY2ggcGVyIHJvdwphcyB0aGUgU1BJIHBhdGggZG9lcy4gIFBl ci1mbHVzaCBDQ0kgaXMgc2FmZSBiZWNhdXNlIGFsbCBBRlRFUgp0cmlnZ2VycyBmb3IgdGhlIGJ1 ZmZlcmVkIHJvd3MgaGF2ZSBhbHJlYWR5IGZpcmVkIGJ5IGZsdXNoIHRpbWUuCgpGb3Igc2luZ2xl LWNvbHVtbiBmb3JlaWduIGtleXMsIHRoZSBuZXcgcmlfRmFzdFBhdGhGbHVzaEFycmF5KCkKYnVp bGRzIGFuIEFycmF5VHlwZSBmcm9tIHRoZSBidWZmZXJlZCBGSyB2YWx1ZXMgKGNhc3RpbmcgdG8g dGhlClBLLXNpZGUgdHlwZSBpZiBuZWVkZWQpIGFuZCBjb25zdHJ1Y3RzIGEgc2NhbiBrZXkgd2l0 aCB0aGUKU0tfU0VBUkNIQVJSQVkgZmxhZy4gIFRoZSBpbmRleCBBTSBzb3J0cyBhbmQgZGVkdXBs aWNhdGVzIHRoZSBhcnJheQppbnRlcm5hbGx5LCB0aGVuIHdhbGtzIG1hdGNoaW5nIGxlYWYgcGFn ZXMgaW4gb25lIG9yZGVyZWQgdHJhdmVyc2FsCmluc3RlYWQgb2YgZGVzY2VuZGluZyBmcm9tIHRo ZSByb290IG9uY2UgcGVyIHJvdy4gIEEgbWF0Y2hlZFtdIGJpdG1hcAp0cmFja3Mgd2hpY2ggYmF0 Y2ggaXRlbXMgd2VyZSBzYXRpc2ZpZWQ7IHRoZSBmaXJzdCB1bm1hdGNoZWQgaXRlbSBpcwpyZXBv cnRlZCBhcyBhIHZpb2xhdGlvbi4gIE11bHRpLWNvbHVtbiBmb3JlaWduIGtleXMgZmFsbCBiYWNr IHRvCnBlci1yb3cgcHJvYmluZyB2aWEgdGhlIG5ldyByaV9GYXN0UGF0aEZsdXNoTG9vcCgpLgoK VGhlIGZhc3QgcGF0aCBpbnRyb2R1Y2VkIGluIHRoZSBwcmV2aW91cyBjb21taXQgKDJkYTg2YzFl ZjkpIHlpZWxkcwp+MS44eCBzcGVlZHVwLiAgVGhpcyBjb21taXQgYWRkcyB+MS42eCBvbiB0b3Ag b2YgdGhhdCwgZm9yIGEgY29tYmluZWQKfjIuOXggc3BlZWR1cCBvdmVyIHRoZSB1bnBhdGNoZWQg Y29kZSAoaW50IFBLIC8gaW50IEZLLCAxTSByb3dzLCBQSwp0YWJsZSBhbmQgaW5kZXggY2FjaGVk IGluIG1lbW9yeSkuCgpGSyB0dXBsZXMgYXJlIG1hdGVyaWFsaXplZCB2aWEgRXhlY0NvcHlTbG90 SGVhcFR1cGxlKCkgaW50byBhIG5ldwpwdXJwb3NlLXNwZWNpZmljIG1lbW9yeSBjb250ZXh0IChm bHVzaF9jeHQpLCBjaGlsZCBvZgpUb3BUcmFuc2FjdGlvbkNvbnRleHQsIHdoaWNoIGlzIGFsc28g dXNlZCBmb3IgcGVyLWZsdXNoIHRyYW5zaWVudAp3b3JrOiBjYXN0IHJlc3VsdHMsIHRoZSBzZWFy Y2ggYXJyYXksIGFuZCBpbmRleCBzY2FuIGFsbG9jYXRpb25zLgpJdCBpcyByZXNldCBhZnRlciBl YWNoIGZsdXNoIGFuZCBkZWxldGVkIGluIHRlYXJkb3duLgoKVGhlIFBLIHJlbGF0aW9uLCBpbmRl eCwgdHVwbGUgc2xvdHMsIGFuZCBmYXN0LXBhdGggbWV0YWRhdGEgYXJlCmNhY2hlZCBpbiBSSV9G YXN0UGF0aEVudHJ5IGFjcm9zcyB0cmlnZ2VyIGludm9jYXRpb25zIHdpdGhpbiBhCnRyaWdnZXIt ZmlyaW5nIGJhdGNoLCBhdm9pZGluZyByZXBlYXRlZCBvcGVuL2Nsb3NlIG92ZXJoZWFkLiAgVGhl CnNuYXBzaG90IGFuZCBJbmRleFNjYW5EZXNjIGFyZSB0YWtlbiBmcmVzaCBwZXIgZmx1c2guICBU aGUgZW50cnkgaXMKbm90IHN1YmplY3QgdG8gY2FjaGUgaW52YWxpZGF0aW9uOiBjYWNoZWQgcmVs YXRpb25zIGFyZSBoZWxkIHdpdGgKbG9ja3MgZm9yIHRoZSB0cmFuc2FjdGlvbiBkdXJhdGlvbiwg YW5kIHRoZSBlbnRyeSdzIGxpZmV0aW1lIGlzCmJvdW5kZWQgYnkgdGhlIHRyaWdnZXItZmlyaW5n IGN5Y2xlLgoKTGlmZWN5Y2xlIG1hbmFnZW1lbnQgZm9yIFJJX0Zhc3RQYXRoRW50cnkgcmVsaWVz IG9uIHRocmVlIG5ldwptZWNoYW5pc21zOgoKICAtIEFmdGVyVHJpZ2dlckJhdGNoQ2FsbGJhY2s6 IEEgbmV3IGdlbmVyYWwtcHVycG9zZSBjYWxsYmFjawogICAgbWVjaGFuaXNtIGluIHRyaWdnZXIu Yy4gIENhbGxiYWNrcyByZWdpc3RlcmVkIHZpYQogICAgUmVnaXN0ZXJBZnRlclRyaWdnZXJCYXRj aENhbGxiYWNrKCkgZmlyZSBhdCB0aGUgZW5kIG9mIGVhY2gKICAgIHRyaWdnZXItZmlyaW5nIGJh dGNoIChBZnRlclRyaWdnZXJFbmRRdWVyeSBmb3IgaW1tZWRpYXRlCiAgICBjb25zdHJhaW50cywg QWZ0ZXJUcmlnZ2VyRmlyZURlZmVycmVkIGF0IENPTU1JVCwgYW5kCiAgICBBZnRlclRyaWdnZXJT ZXRTdGF0ZSBmb3IgU0VUIENPTlNUUkFJTlRTIElNTUVESUFURSkuICBUaGUgUkkKICAgIGNvZGUg cmVnaXN0ZXJzIHJpX0Zhc3RQYXRoRW5kQmF0Y2ggYXMgYSBiYXRjaCBjYWxsYmFjay4KCiAgLSBC YXRjaCBjYWxsYmFja3Mgb25seSBmaXJlIGF0IHRoZSBvdXRlcm1vc3QgcXVlcnkgbGV2ZWwKICAg IChjaGVja2VkIGluc2lkZSBGaXJlQWZ0ZXJUcmlnZ2VyQmF0Y2hDYWxsYmFja3MpLCBzbyBuZXN0 ZWQKICAgIHF1ZXJpZXMgZnJvbSBTUEkgaW5zaWRlIG90aGVyIEFGVEVSIHRyaWdnZXJzIGRvIG5v dCB0ZWFyIGRvd24KICAgIHRoZSBjYWNoZSBtaWQtYmF0Y2guCgogIC0gWGFjdENhbGxiYWNrOiBy aV9GYXN0UGF0aFhhY3RDYWxsYmFjayBOVUxMcyB0aGUgc3RhdGljIGNhY2hlCiAgICBwb2ludGVy IGF0IHRyYW5zYWN0aW9uIGVuZCwgaGFuZGxpbmcgdGhlIGFib3J0IHBhdGggd2hlcmUgdGhlCiAg ICBiYXRjaCBjYWxsYmFjayBuZXZlciBmaXJlZC4KCiAgLSBTdWJYYWN0Q2FsbGJhY2s6IHJpX0Zh c3RQYXRoU3ViWGFjdENhbGxiYWNrIE5VTExzIHRoZSBzdGF0aWMKICAgIGNhY2hlIHBvaW50ZXIg b24gc3VidHJhbnNhY3Rpb24gYWJvcnQsIHByZXZlbnRpbmcgdGhlIGJhdGNoCiAgICBjYWxsYmFj ayBmcm9tIGFjY2Vzc2luZyBhbHJlYWR5LXJlbGVhc2VkIHJlc291cmNlcy4KCiAgLSBBZnRlclRy aWdnZXJCYXRjaElzQWN0aXZlKCk6IEEgbmV3IGV4cG9ydGVkIGFjY2Vzc29yIHRoYXQKICAgIHJl dHVybnMgdHJ1ZSB3aGVuIGFmdGVyVHJpZ2dlcnMucXVlcnlfZGVwdGggPj0gMC4gIER1cmluZwog ICAgQUxURVIgVEFCTEUgLi4uIEFERCBGT1JFSUdOIEtFWSB2YWxpZGF0aW9uLCBSSSB0cmlnZ2Vy cyBhcmUKICAgIGNhbGxlZCBkaXJlY3RseSBvdXRzaWRlIHRoZSBhZnRlci10cmlnZ2VyIGZyYW1l d29yaywgc28gYmF0Y2gKICAgIGNhbGxiYWNrcyB3b3VsZCBuZXZlciBmaXJlLiAgVGhlIGZhc3Qt cGF0aCBjb2RlIHVzZXMgdGhpcyB0bwogICAgZmFsbCBiYWNrIHRvIHRoZSBub24tY2FjaGVkIHBl ci1pbnZvY2F0aW9uIHBhdGggaW4gdGhhdAogICAgY29udGV4dC4KCnJpX0Zhc3RQYXRoRW5kQmF0 Y2goKSBmbHVzaGVzIGFueSBwYXJ0aWFsIGJhdGNoIGJlZm9yZSB0ZWFyaW5nCmRvd24gY2FjaGVk IHJlc291cmNlcy4gIFNpbmNlIHRoZSBGSyByZWxhdGlvbiBtYXkgYWxyZWFkeSBiZQpjbG9zZWQg YnkgZmx1c2ggdGltZSAoZS5nLiBmb3IgZGVmZXJyZWQgY29uc3RyYWludHMgYXQgQ09NTUlUKSwK aXQgcmVvcGVucyB0aGUgcmVsYXRpb24gdXNpbmcgZW50cnktPmZrX3JlbGlkIGlmIG5lZWRlZC4K ClRoZSBleGlzdGluZyBBTFRFUiBUQUJMRSB2YWxpZGF0aW9uIHBhdGggYnlwYXNzZXMgYmF0Y2hp bmcgYW5kCmNvbnRpbnVlcyB0byBjYWxsIHJpX0Zhc3RQYXRoQ2hlY2soKSBkaXJlY3RseSBwZXIg cm93LCBiZWNhdXNlClJJIHRyaWdnZXJzIGFyZSBjYWxsZWQgb3V0c2lkZSB0aGUgYWZ0ZXItdHJp Z2dlciBmcmFtZXdvcmsgdGhlcmUKYW5kIGJhdGNoIGNhbGxiYWNrcyB3b3VsZCBuZXZlciBmaXJl IHRvIGZsdXNoIHRoZSBidWZmZXIuCgpTdWdnZXN0ZWQtYnk6IERhdmlkIFJvd2xleSA8ZGdyb3ds ZXltbEBnbWFpbC5jb20+CkF1dGhvcjogQW1pdCBMYW5nb3RlIDxhbWl0bGFuZ290ZTA5QGdtYWls LmNvbT4KQ28tYXV0aG9yZWQtYnk6IEp1bndhbmcgWmhhbyA8emhqd3BrdUBnbWFpbC5jb20+ClJl dmlld2VkLWJ5OiBIYWlibyBZYW4gPHRyaXN0YW4ueWltQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6 IENoYW8gTGkgPGxpLmV2YW4uY2hhb0BnbWFpbC5jb20+ClRlc3RlZC1ieTogVG9tYXMgVm9uZHJh IDx0b21hc0B2b25kcmEubWU+CkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vQ0ErSGl3 cUY0QzB3czNjTyt6NWNMa1B1dnduQXdrU3A3c2Z2Z0dqM3lRPUxpNktOTXFBQG1haWwuZ21haWwu Y29tCgpCcmFuY2gKLS0tLS0tCm1hc3RlcgoKRGV0YWlscwotLS0tLS0tCmh0dHBzOi8vZ2l0LnBv c3RncmVzcWwub3JnL3BnL2NvbW1pdGRpZmYvYjdiMjdlYjQxYTVjYzBiNDVhMWE5Y2U1YzFjZGU1 ODgzZDdiYzM1OAoKTW9kaWZpZWQgRmlsZXMKLS0tLS0tLS0tLS0tLS0Kc3JjL2JhY2tlbmQvY29t bWFuZHMvdHJpZ2dlci5jICAgICAgICAgICAgfCAxMDUgKysrKysrCnNyYy9iYWNrZW5kL3V0aWxz L2FkdC9yaV90cmlnZ2Vycy5jICAgICAgIHwgNjA3ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrLQpzcmMvaW5jbHVkZS9jb21tYW5kcy90cmlnZ2VyLmggICAgICAgICAgICB8ICAyMSArKwpz cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2ZvcmVpZ25fa2V5Lm91dCB8IDEyNiArKysrKysrCnNy Yy90ZXN0L3JlZ3Jlc3Mvc3FsL2ZvcmVpZ25fa2V5LnNxbCAgICAgIHwgMTE4ICsrKysrKwpzcmMv dG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCAgICAgICAgICB8ICAgMyArCjYgZmlsZXMgY2hh bmdlZCwgOTc2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgo= --===============4075546630712509050==--