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 1wN6Lz-000Zxe-0z for pgsql-hackers@arkaria.postgresql.org; Wed, 13 May 2026 09:58:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wN6Lw-008J1v-0J for pgsql-hackers@arkaria.postgresql.org; Wed, 13 May 2026 09:58:08 +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 1wN6Lv-008J1m-2S for pgsql-hackers@lists.postgresql.org; Wed, 13 May 2026 09:58:07 +0000 Received: from mail-dy1-x1330.google.com ([2607:f8b0:4864:20::1330]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wN6Lr-00000000Ngj-38Z0 for pgsql-hackers@lists.postgresql.org; Wed, 13 May 2026 09:58:07 +0000 Received: by mail-dy1-x1330.google.com with SMTP id 5a478bee46e88-2ee1054627bso5401898eec.1 for ; Wed, 13 May 2026 02:58:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1778666281; cv=none; d=google.com; s=arc-20240605; b=Vv0slgF+W/cLIKxhXudSalIjcguJi+5iM7dWY3McBM707ssviOyOVIvs//j7Y8YYYR wF9WmDGOZzgOh8XbKyucd/ADgayYEi25DcXxaHoc/dPH6gSJjW8QFCylBovNtLSIUe/R hyvxvH2dlacNE10mUe/WljP+ZuYNZniz5yF95LIf7MoBuYhdcm87tY4MoPZC7CG7cOAb kFN3cLI2ECt/WnSzUYYEsCmbOKouqq5pttqTuxatghT8mL67fi7i7WqR9AIbz7IXHqVu vTdoWsYMdsgjTfEzSWNk+lR2Lkd0MfaavEndNFBBjTs+mz7YVt1E97V+2cM64szqUUsa NY6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=Iir6fa/jWVKb8MlWy5f3h24LRXChftdrSe6bHnSyo1Y=; fh=JbKf3CNcImdNCq253mluTNbPApOMrEg21YJSrj+VSEU=; b=Ts0o/rJWqHIEr4uc3eWm2VFt/O7/18p1AedElzsDy5/D8tf0bv7mvZX+yckQ1J7PoU UyddEvwEWhm6uG17747Q5Hubzjj2+DhiyfnbbtJlnDl5ZJl82H2miGPf31zke/+N55qm 7QOJSWsdlDpkmGd4/tgM02sSKsxkhXMGuA90yB+BfICrfnho9haQv/xG1VkOgTqagDbY LY04aWPZRYvs6K8JCN/mKFOhARWFcgjjDQrARXIdvuJk9Sgjg5Ne61YcQvE6+J+MRbBF bsDA/fqY7xALOykYlE4pTlnFuV2a/qhASDpbtFivKNGjPld2gfY/jESCYjhtKmLw1t04 LOAA==; 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=gmail.com; s=20251104; t=1778666281; x=1779271081; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Iir6fa/jWVKb8MlWy5f3h24LRXChftdrSe6bHnSyo1Y=; b=liEbKu2w3h0vNP3KvrOfxmTF7F7dtmvbwmjFxzEQnOGRUBlB8vDpQo7o/m2AWjs4hV Y9VUiCkhFmxS7WU7p5J1V3JwLuzOOaPdvGsSnWrVCJnKonDRMz6gcw1+DiBMScnokzNP 5pfoQbzbr4/pDBgAA3Wp3h97gAb0H5Z6TEwlrlVwLrRC0NfqlnZPkArs4U947xnoGe84 m6knC4LZb5JzdkEdxZLrv+ic9RzJICdBoEHzjvU9rvQ8QWLNXl4EkKzho75AxU1rDYD3 2IgAv6mZ+Y+uDfykF0R6p9TkHvVDFzYXNJwe+gO1ciVXvT8xoxXOx+DQOrzXVaTLaD+G nMEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778666281; x=1779271081; h=content-transfer-encoding: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=Iir6fa/jWVKb8MlWy5f3h24LRXChftdrSe6bHnSyo1Y=; b=NDoYArBz4qD1rkR9nuekxdFhU02kswZuK6/PtZlT/ZJGuGAI+lvuKZkAWgPC/99pI6 1c36p3khRaxD4t/3Q1dB3Y6+87/Tc3XhfzrbirjByvlMZwNV3lIr5RIxSX3zxpqFSpVI DW6XppAmKq1oqG1STE8xrjrpjVxKQ+XHc5sAXiB42qwMOom+wAw7tlGbizo1Oz//bWIq zzy/vTJS32oLJH+D7ddJCBDGXSrWGwxz+0jLkiYOOOM0TeQH4kZrhf8/asj1PalirBSM Tpz57P7xwHExNWMjooGFCOlJbaiVAvGIkweAtDYO41XC2cGzcma5xbf0YxQ5Ui78kyo4 Yuww== X-Gm-Message-State: AOJu0YyVeoPovdW9rih47YRWP43elVMRLZm3YWutwwggazsOglo0dAnF yriCbo4hoP4eKV3ckaKloMOqxxljPdXFiKNtBSGa0yK+ifJ0L9qcReZIkshsVZPfSmneZkSIyWl 2FMoktkB3kJI5QeFy3lxOL1t0RGWHsfs= X-Gm-Gg: Acq92OFonZoyuYAM0pqfeOvCvSjOB21+Lq6AfE+Z5jeeEDl2v/y5jDT1czdTPl77X09 2B+NUdv234vload14BSrhwXLcqE2wRljKfLCjB71McWGSCQQ+HepwUjHFBb9ce4o93Iy1Ht2AB2 k30uww6dvzKHr2q2lGxMdRDfIMDU1idpgTGz+ah2sFRv22001uclbFlqMnS7BdGMSLKsv+L5S60 YBeoG1tQJfyP86D/IkyYguSTkSluRCVXL0oFF3cLooY4bWMaMpbmzz4zUdBP+cm6yhz2wt3l1aJ GFrf/SGcDw== X-Received: by 2002:a05:7301:1698:b0:2f0:c593:986a with SMTP id 5a478bee46e88-2ff906d92fbmr3817662eec.0.1778666281491; Wed, 13 May 2026 02:58:01 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Nazir Bilal Yavuz Date: Wed, 13 May 2026 12:57:50 +0300 X-Gm-Features: AVHnY4KlNSadRCsW2HtYCn5R7r7j-3T2uqFow1XyhZ0XK90ky7HP_s5yarBmsQ8 Message-ID: Subject: Re: Fix jsonpath .split_part() to honor silent mode To: Chao Li Cc: PostgreSQL Hackers , Florents Tselai , Andrew Dunstan Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, Thank you for working on this! On Tue, 12 May 2026 at 05:11, Chao Li wrote: > > While testing the new json_path method split_part(), I noticed that it do= esn=E2=80=99t honor silent mode. I think this is a v19-new bug. > > After looking into the code, I think the root cause is that .decimal() us= es numeric_int4_safe() to parse integer arguments, while the .split_part() = path in executeStringInternalMethod() uses numeric_int4() directly, which r= aises an error immediately for invalid values. > > The attached patch fixes this by switching the .split_part() path to use = numeric_int4_safe() and report the argument errors through the jsonpath err= or handling mechanism. > > Please see the attached patch for details. I think you are right and I confirm that your patch fixes the problem. -- Regards, Nazir Bilal Yavuz Microsoft