Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1ey9wj-0006Bb-DT for pgsql-hackers@arkaria.postgresql.org; Tue, 20 Mar 2018 05:36:29 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1ey9wh-0001V3-Ms for pgsql-hackers@arkaria.postgresql.org; Tue, 20 Mar 2018 05:36:27 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1ey9wh-0001Ut-CK for pgsql-hackers@lists.postgresql.org; Tue, 20 Mar 2018 05:36:27 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1ey9we-0004cn-Lx for pgsql-hackers@postgresql.org; Tue, 20 Mar 2018 05:36:26 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.4/8.14.4) with ESMTP id w2K5aIvE019507; Tue, 20 Mar 2018 01:36:18 -0400 From: Tom Lane To: Andrew Dunstan cc: Alexander Korotkov , Nikita Glukhov , Robert Haas , Oleg Bartunov , Pavel Stehule , PostgreSQL-development Subject: Re: jsonpath In-reply-to: References: <9f845926-0d7d-7c4d-75e3-b1e921a1677a@2ndQuadrant.com> <48f13b75-0be7-c356-ff26-1db743add56e@postgrespro.ru> <7b4b8973-43f5-71c5-bf86-51cb5798dd88@2ndQuadrant.com> <5290ddd1-f23e-a53a-cae0-830dbde0a5fe@2ndQuadrant.com> <604ffe9c-b42e-7c42-e16b-aa44c3a12c3c@postgrespro.ru> <927f72f0-6832-a4ca-5676-b0ab5a2895d4@postgrespro.ru> <9a1ac993-7608-797c-2095-c735605da82f@postgrespro.ru> <94ace92c-714c-903c-fab2-31fb838204ad@postgrespro.ru> Comments: In-reply-to Andrew Dunstan message dated "Tue, 20 Mar 2018 15:36:39 +1030" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <19505.1521524178.1@sss.pgh.pa.us> Date: Tue, 20 Mar 2018 01:36:18 -0400 Message-ID: <19506.1521524178@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Andrew Dunstan writes: >> That seems like a quite limited list of functions. What about >> reworking them providing a way of calling them without risk of >> exception? > I haven't seen a response to this email. Do we need one before > proceeding any further with jsonpath? I've not been following this thread in detail, but IMO any code anywhere that thinks that no error can be thrown out of non-straight-line code is broken beyond redemption. What, for example, happens if we get ENOMEM within one of the elog.c functions? I did look through 0007-jsonpath-arithmetic-error-handling-v12.patch, and I can't believe that's seriously proposed for commit. It's making some pretty fragile changes in error handling, and so far as I can find there is not even one line of commentary as to what the new design rules are supposed to be. Even if it's completely bug-free today (which I would bet against), how could we keep it so? regards, tom lane