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 1vGnzH-004NGI-Oh for pgsql-performance@arkaria.postgresql.org; Thu, 06 Nov 2025 00:36:27 +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 1vGjyz-00489r-Nh for pgsql-performance@arkaria.postgresql.org; Wed, 05 Nov 2025 20:19:52 +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 1vGjyz-00489i-86 for pgsql-performance@lists.postgresql.org; Wed, 05 Nov 2025 20:19:52 +0000 Received: from mx0b-00160c04.pphosted.com ([205.220.179.180]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vGjyu-006Arc-1O for pgsql-performance@lists.postgresql.org; Wed, 05 Nov 2025 20:19:51 +0000 Received: from pps.filterd (m0276500.ppops.net [127.0.0.1]) by mx0b-00160c04.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5A5H053X005638; Wed, 5 Nov 2025 20:18:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= thomsonreuters.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to; s=dkimtest; bh=Y4RmTN7hhLbQQnB93hiDKGPtl+Ood/IgwF85 EOxUAxQ=; b=gdAzG/KfkJESlj6Hm+vCYq9K2YAbJjY9wDZr8V/DWs+y2SFazKRv cOH8DUmIWSXTA3fBIdG7zoo1zNlbd2cWqTbdWCuV0yU9slV/9fSPUO9Biuu0lnx9 BGdzFSMkTdDNwjvY6PkuSXEJlY11CaecuGyKw0HAdLlhl4fAUQE/HRaBFUYWGyuU vypmvI+szdvK/D7AMzjumTPGWUU1PweBzIOWRgZClMgEemZPzj4lQmMdkEvPxhMT yZ+ISdrlAT68nPYaC6sqFpidJT13OW2/5wXNk4IaZzdBqZLYg0ZMxTW7Nb1DL7ir UrgPMk8fEPHvisyqgnuV7XVowHGUIT8Pbg== Received: from co1pr03cu002.outbound.protection.outlook.com (mail-westus2azon11010029.outbound.protection.outlook.com [52.101.46.29]) by mx0b-00160c04.pphosted.com (PPS) with ESMTPS id 4a88wnkyxa-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 05 Nov 2025 20:18:44 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=q7OvnI3+OnlJ4SQcHKHL/Z18T9hxwdlFz4v0AE99je/Zui/vSPnkxkqc6i3XbLFzAzAOI4tIS4N29C8kuP5UcRGZXHnTbnw3UwDenuHeumOKB0efFlwU2HQ3MdHy2a7enp2+E+NEeErh/JiMz+Vo3GUpMlxZxF2KLyVxnxyyzPMA8WLTtBDEl4JUF0uOh/26EVFSvI7B1IRuYmn1yDtBBvoR1vgTi8BMWFxXnNvWZPu6VDfpIYHiGxwoLTd6ERp4PxTTjF52m65FMjHt81Uap8rL01IqtYOUa2i1vlURKpWAtREQ22Oh5+6XYRizZtVifaNVdReHfDCiH18IucK2vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Y4RmTN7hhLbQQnB93hiDKGPtl+Ood/IgwF85EOxUAxQ=; b=vXSJpBpnl+wxHvg+z8xhlMXJYAexfwzvFnaxnlxPI4dBXatuVtyE3lQMbq3wOLhVw2DF5TePStkwe70EHms3OsPNy80j6g1tFlR8kspugE6k5l77mAUIaSrId5Tyuj+OlbVDmuwms/CO5KqzVOBndwOmJkiKYq81CNeoOZRZuD4hmRgKX57078xJvEmQDqWuwqM1/hbzedM8fPzqEbKg7PAp4h+MtBUw1hsUHH01pgFNYjv/G7bCc44dHp1McppaNeVYaMTxSaHKb1qyOgVCbhz+eCn5N9W+l5mpCVHI2qfYxrfPMAKjHb1K53MBzfamwcO7qbg5Wzgx/2dh1pBkDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=thomsonreuters.com; dmarc=pass action=none header.from=thomsonreuters.com; dkim=pass header.d=thomsonreuters.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thomsonreuters.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Y4RmTN7hhLbQQnB93hiDKGPtl+Ood/IgwF85EOxUAxQ=; b=a779BxFD767TYcolQNziyDvip4MuJRnMphK9AnXatDAYCYiIP/wQqvldG8bE9jlS0vi8BQgidqrv/HPO69PF7De9rfc6uZVkuqVaBRjtqXejWnm8pfy8h1q275CKvjY3omPDuuzw0j4tEYtivCiBlmdiWJrcHrFaGNIcMyfTNUE= Received: from BL1PR03MB6038.namprd03.prod.outlook.com (2603:10b6:208:312::23) by LV9PR03MB8389.namprd03.prod.outlook.com (2603:10b6:408:367::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9298.7; Wed, 5 Nov 2025 20:18:18 +0000 Received: from BL1PR03MB6038.namprd03.prod.outlook.com ([fe80::c21b:3020:8bc6:602]) by BL1PR03MB6038.namprd03.prod.outlook.com ([fe80::c21b:3020:8bc6:602%6]) with mapi id 15.20.9275.016; Wed, 5 Nov 2025 20:18:18 +0000 From: "Dirschel, Steve" To: Tom Lane CC: "pgsql-performance@lists.postgresql.org" Subject: RE: [EXT] Re: Problem getting query to use index inside a function Thread-Topic: [EXT] Re: Problem getting query to use index inside a function Thread-Index: AdxOayMhQeB/QpCCQ1+VoTZN+ZmgxwABLUWAAAEvnQAABRDrAAAB/Dfg Date: Wed, 5 Nov 2025 20:18:18 +0000 Message-ID: References: <836752.1762359519@sss.pgh.pa.us> <873496.1762370260@sss.pgh.pa.us> In-Reply-To: <873496.1762370260@sss.pgh.pa.us> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BL1PR03MB6038:EE_|LV9PR03MB8389:EE_ x-ms-office365-filtering-correlation-id: ac3242fe-ef35-4b4e-fa0d-08de1ca87582 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|38070700021; x-microsoft-antispam-message-info: =?us-ascii?Q?ejclMgDqh6cPNHbzvWMlJuNC/smUd24IRtZfYgUXUaDvki66liCpnviyvEx/?= =?us-ascii?Q?aP0G+JJnN33kzR9wgJpy0oIfN9ynxChQ5hN8jHeFgjOk2CBebV8yHKVHGQrb?= =?us-ascii?Q?oRhA6UMZ1yRwT0uxmsckCm14TGMlsUxpKXspwTTkV2JHqAotWNBTDtQc4Hu7?= =?us-ascii?Q?J8+rjI+eSITD8iFLSG+KBeTcBupOTDryw88aHxoCi0y6an2qcLhsw25W6Ebh?= =?us-ascii?Q?q8FlvWlryAxOqf8+zfwLx2sY4O7BCPGQ0H8Ihf/U1D+pHOIKTzfU1Ug/t+bU?= =?us-ascii?Q?6GA7MpHtGK/QOF09rxR6iEqJ4Wn3X8eRA5zumgZ9TTkUjT6wHYrHiug7q3VB?= =?us-ascii?Q?aNCmAQLzVJ5ebwdgJMHJv27k1uN01sUpECd54Ii0t0YeTZQRTwNTchTQVdtG?= =?us-ascii?Q?ztpO704D5wksox+yXqYyCKabwo4F4Y/v70XsRTfFp5MkOP221CYdQypLz6Gy?= =?us-ascii?Q?mrMc+F4eKt+PWdCCOnl6ibkVoYumb7hheozUMM/RvBuX4z5Z/ANBZcQW1czR?= =?us-ascii?Q?0szv53el6lBrgvo9PwPOv0ahH/V6sq2EaCS02TZzGX/4usrjjUMsLKOjMo8V?= =?us-ascii?Q?LMdMxE+N5oWZI8pBFpBVvPqwuVkQgh/zxukBTDfRKCnZl6ed665MinkwhXTu?= =?us-ascii?Q?oAxxFeHZtv1BYhcQ5FWgLFeMI6iAcWRGBketCEGTFrzjK49hMod9BUXV1u0r?= =?us-ascii?Q?wx0HhNZa/OK2wlX7jy/GFIzEXWqcJ0fqUasd74wNtaEeWm/CD4kW3/7Zrs2B?= =?us-ascii?Q?L0eWeZLp5NJD/8W75iiwkkJGgnJKWSrE8axReuMuNMtf9QbCm8LKbu/4DIfz?= =?us-ascii?Q?O1nFiclPDVHzznRq8TIhG8ufShLDXSQqfZVVGliRZOrnk1otRSjTl0ovV5J6?= =?us-ascii?Q?yW18lpXOSB424e8tzGhm8ArAYeZCNUOXayUp/ICIMZqijuTb/WVNC0uIvEU5?= =?us-ascii?Q?yiQ/kIT6scZ+nTJjuP7WEMHXXlJQDNYn4x69Ds14t6gQZXaKm6qxlOqu3u5W?= =?us-ascii?Q?kKc3p4kO5gPjvlP48nqr6JV9Bf58nd0woiMx+2Gzhqsj4ygMRZ0jREv10Yjl?= =?us-ascii?Q?OEVxWZXvKg5Ky+RoICa4XDHyIlM/vJ91uQIXERt/FiUR0Fel8I+j6Rv4xctf?= =?us-ascii?Q?7aPt5FHW1TlAY9gMm28u0AOy9xdO0N6IVbQCMMeZlDLX7iU8Osxss2dOZlst?= =?us-ascii?Q?13evneiZgl4dDeaWUQYZDUq7VXuTdyg/w6+TyMDEUJedSJ601FvatSVwgzNr?= =?us-ascii?Q?n6ScJvcJ6c9NJGWrYNOKupqLj2cQJwMzuWvwRgXg290gKwXWZPe1vNenUkBL?= =?us-ascii?Q?txjMrxx1Wlc6M/22tll5CkU+xV/O2xXes/s9lb6FZ9qz8jgbwfeG86bx0wkb?= =?us-ascii?Q?L5inzAZrES65/2SbOFC2L7tcrZc6yDI9s22bVlf7rUQiZK/I9AUzYgWy022I?= =?us-ascii?Q?d+XTl0+gngbe9WLfoLx51++CpH06OvFeOD5UVll9beZyRaZDaaF6F1i39KKs?= =?us-ascii?Q?Js3m/Y7BVze+fYklVbiJrWM5ZVBxbbFUS5GR?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR03MB6038.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(38070700021);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?GieMewuB1WLixhWXg25ODPmpW3ajCMJsOWG9jolK8wEp6iLmWpSmwtbYd6hq?= =?us-ascii?Q?qCa3cX6thbEFQMmzd0EluWR/7P8SxwjsSvZXeb1YrwEs3geKSAnJMcu4kgTv?= =?us-ascii?Q?kSLg3Elgxsna6U3odLXGfXHZ5GYZ/phb3AojiIH+22HHMFmIJYJFm4N/AhGp?= =?us-ascii?Q?oL4bxDil6UP1mohUkC6WZu/U72svhID0w8W4/3Nk0kx8awtSNe94HfND/imC?= =?us-ascii?Q?xKyhRUYxrD1xFP/0KvtkXkfW3yYjwrYSzLadzgoQ1934tx0yKs/p0NiLvB7q?= =?us-ascii?Q?ri3AGWELyaQ0g6B/b3KJa01Zw1JljF8rozcUHtYzaYdu1weB9cikq0Wf+DPq?= =?us-ascii?Q?yapLy+BrBOxD+xdUMWyVjRdV2VXmqWQowTGveLDyU7QjxfzSctukiEg+W8uw?= =?us-ascii?Q?GVnYioxh4KPEA+2Grz3zTCnfDm+UVdrBx6nbLqj9VLeMpNpxCFP4EY338RpH?= =?us-ascii?Q?Ak9SM6+iwvqrD1p9G/NKlSrJ8nZcrrmdeQ9p/erbEt4frQrWE8hYjZJ9SQfh?= =?us-ascii?Q?iZmIsaoT2L61wJ477ifgINtHBe3Jhf+AqGziZmTWWrrefPF8avT0/TZdJLS6?= =?us-ascii?Q?M5lpEGVrvgouqCm4qs5+Ij5YCQQZ3DcSPPIVrshQsTjYU/5Nnaames/6ZOvS?= =?us-ascii?Q?8lsAe1Zme41NuzVpsy3uIYRWqRjbKLvoIT0aIm5G2hT3FssEgTiQSRN9V3IJ?= =?us-ascii?Q?RG9ri2GB1fqeYaPJpZv7bc0EXJo8n8egcQWpwE5H18giqDSKl/ldqXOihOsa?= =?us-ascii?Q?odsI7G04pnyFlOMRFlxRyfI/JnqCvSZMWj3KGs8QLm+ZpwQpcHOpqnTcF3hm?= =?us-ascii?Q?s6B7VApvbD+f83cZu5jcvF5+1cyQd6mtnsyLe6boprigNC8+wDiPYg7ewWoD?= =?us-ascii?Q?uAEaTLQMaiEDS2m7gKVnqQwCTgvya26/RJ+gNZVhRgM8O8DElebpuLMcSxxe?= =?us-ascii?Q?KnWwqBwvQmdQQsMs+rmDPyKcPQ4l31bIILciubVVQuVzoNsLltu5gRx7waYJ?= =?us-ascii?Q?qypl024mNKn7RWbbyOHEOP2DbWTtre7z9wWw0OdFlQAZAAlL1BuGXX3AldjL?= =?us-ascii?Q?T305N0XB3p93ruDznmTgrf/k84Mq2jgf/rbZR4Cw2AH5qsLHaB4K+u9JuxHl?= =?us-ascii?Q?fqq5qT/AQN8KK2Wg3h1ZWcWpf3KqdhLhdNpfqr1C0RCmA/wtk9c/X+QZinLO?= =?us-ascii?Q?Bv6fg01XeYYfnq3ZiqujfHDswb8z1oidHdDfUMpbGdBL4e1XSRrxpgNq0aKx?= =?us-ascii?Q?igCF4qNP4V7GL5eYwbytpHysXpqosUay0GhD9yGsacjUfKWxjvlwoMvnGmY/?= =?us-ascii?Q?jtAJlx7iXlr/voY89epeVvPFoyq4DDSOsjQEa/a+ZvI1Gxks79YvxQ8Koif7?= =?us-ascii?Q?40yGt1YmfPNEAeZNSLIsgg2wcXMQ9Q86sByrlUVWTm5NdrPE1e1L6agHifjc?= =?us-ascii?Q?FhN41skwwhPdq1kMI9eiBdNQrOaUgOr4+7JYQmnpp2M3KahIdlpmlSJkgljS?= =?us-ascii?Q?uzGPcXybb7WdrUgTKRs3dSJvyVPi+SwERv6Hs2QGZbZ/k+xICPnNxCoCYINw?= =?us-ascii?Q?nZt0utKkjW6kKlpWmKETM/0AQOz7aRt7268iCWVWG1yFJva0UbQh2xB6SLbv?= =?us-ascii?Q?/A=3D=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: mpfQ5iNfb6qBcyKaqP44sh6XbY+lYu1en4QBybWA9w4ZALXV/cAeib647IDpEVjq2LOobP4rWsActRGj6CMsfxUoxjhwDPr/eKYchgisU7aMOWGic2YqHEzdwqTsGbd8AUbLoK44bQOF436NgKPIM5pjkbVopW04t7V5RrNTXe5mFNj1C1r4uqSk4aFa9fRat+P0FZsdB1dc25OF6IroDGgPuKyHbBMlpH4iI+S/TPfASYQUxx2IKKFs5PZtlQJcrmzIt7OsQo2XU4yD/m09sp7UsMb4ORwA4QnWrqt3PmpeRu1aq3XTtsG0sN72jUB+/9xetSZUDp0pBymMRFQNwSr9eMVNPVmKBimBlod2Zv89lTiImYtSUvJWvykiJ0bQASqkMa2caS/BMzFXHMf++u5S97viKrYheo2dIiPq875Ob7B4oou/6fwOwpzCYtkpOQlfIuPSb16bwH6P8YcCp2KVB7w3GPe5cjkbwcyV0jVSSosQq2o20CiCOPN+IljJk+kmVkHMnrv6AGEdWDq0aN4b0OwX0tD6xbNbRhFTzse6Vx0ReGvi9sbedhtwCDV5lYWAAOyzUT6M0KjzJhRryj01wdzSa/9qKAwfK96/cYMSahNi/WbEzUAgm8/7K/TJB4ENf6QMjnBs6fmfKXiz8+biKDQ5LKO6d0XYqM9cbtY= X-OriginatorOrg: thomsonreuters.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL1PR03MB6038.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ac3242fe-ef35-4b4e-fa0d-08de1ca87582 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Nov 2025 20:18:18.4771 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 62ccb864-6a1a-4b5d-8e1c-397dec1a8258 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: eXuzw5YWzl9WC8uB0r3ULvvNS+r4kmY7h4NP08SZ/Ut6LSV1sUUGhbidjK3ksMwNrQ1zm6FjJ3Xm+HuFb2WuOLAikgwDdxzXys0z/Qo2ua9Uj5gdBR177ZtGqgyL7ur6 X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV9PR03MB8389 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTA1MDExNCBTYWx0ZWRfX2NzHqgiru2Km LieZz0ssNmW8x1DtXPxYuFNXobehL8Zryk183Y+OpNUOafhI2JDNt1nRnOgTxXCp1cZLm+GWw1S Djo77NHWCBAMG+Rx4YKUuKJcVt+6R4Sa5NbYDbnTijgUSf/1LoahYnp07FzpAQvSUCath9Gzl99 j1tdPa9/8tTGvCDB9cmlpVRg9CW50QYqzhNGoVDzFP3Pqa48r0BZGxpAXDocCxN9J+jJ9fKbQkc crn64FMambANZoH0KB+5HioG1+JBBJDi+BnZmqzJoGGqLrlJQRZBHJzikqxOdunD8hzdL9jwNdK ZujdrELpUpcjaR44ndOh5gTJv3YGC/hqCPVCuaYl+fUC6UegqqXqbCSnQbKHLA/HhwLH5Hyj2Rm kW+onV8tjZ27tont2xunUltXDDVQ8Q== X-Proofpoint-ORIG-GUID: dILuEy90uQPv-3RJYjDZmrmfau-t7cCA X-Authority-Analysis: v=2.4 cv=dKGrWeZb c=1 sm=1 tr=0 ts=690bb124 cx=c_pps a=V3ntuBz9Vw3KuD7vyzUphg==:117 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=o7_75jvl1dMYte63:21 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=6UeiqGixMTsA:10 a=pKFMK-pTKUcA:10 a=VkNPw1HP01LnGYTKEx00:22 a=FqEwLnM4QWL-3rhyxcIA:9 a=CjuIK1q_8ugA:10 X-Proofpoint-GUID: dILuEy90uQPv-3RJYjDZmrmfau-t7cCA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-05_07,2025-11-03_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 priorityscore=1501 clxscore=1015 malwarescore=0 suspectscore=0 impostorscore=0 phishscore=0 lowpriorityscore=0 spamscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510240000 definitions=main-2511050114 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk >> Thanks for the reply, but that did not seem to help. > I tried to replicate this as follows: > --- CUT --- > create table request(objectid text, productid int, data jsonb); create in= dex on request(objectid, productid); > CREATE OR REPLACE FUNCTION public.steve1(param_requestid text[], param_pr= oductid integer DEFAULT 1) RETURNS TABLE(objectid text, n text, v text, vt = integer) LANGUAGE sql AS $function$ > SELECT objectid::text > , i->>'n'::text > , i->>'v'::text > , (i->>'vt') :: INT as vt > FROM request r > , jsonb_array_elements(data -> 'i') i WHERE objectid =3D > ANY($1) > AND productid=3D$2 > $function$ > stable ; > explain > SELECT objectid::text, n::text, v::text, vt::int FROM steve1(ARRAY['5ab8e= 0ca-abb5-48c9-a95e-2bb2a375d903','adcbe251-6723-48a8-8385-55133fab704a'], 1= ); > --- CUT --- > and I got: > QUER= Y PLAN = =20 > -------------------------------------------------------------------------= --------------------------------------------------------------------------- > Nested Loop (cost=3D0.15..11.42 rows=3D100 width=3D100) > -> Index Scan using request_objectid_productid_idx on request r (cos= t=3D0.15..8.17 rows=3D1 width=3D64) > Index Cond: ((objectid =3D ANY ('{5ab8e0ca-abb5-48c9-a95e-2bb2a3= 75d903,adcbe251-6723-48a8-8385-55133fab704a}'::text[])) AND (productid =3D = 1)) > -> Function Scan on jsonb_array_elements i (cost=3D0.01..1.00 rows= =3D100 width=3D32) > (4 rows) > which is what I expected from successful inlining of the function. > So there are some moving parts in your situation that you've not told us = about. > regards, tom lane Hi Tom, I ran your code and got similar results so I agree there is more for me to = dig into. I see STABLE has a limit of not allowing DML in the function. I= am testing against a very simple function here but we have many other func= tions with the same problem but those also contain DML so even if I got the= STABLE to work in this one test case it does not appear I could use in all= of my functions with this problem. Are there other options here besides t= he STABLE option that would work for functions that also contain DML? Thanks Steve