Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gnNIX-0000qq-LL for pgsql-hackers@arkaria.postgresql.org; Sat, 26 Jan 2019 12:42:57 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1gnNIW-0006ES-Fc for pgsql-hackers@arkaria.postgresql.org; Sat, 26 Jan 2019 12:42:56 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gnNIW-0006DZ-8d for pgsql-hackers@lists.postgresql.org; Sat, 26 Jan 2019 12:42:56 +0000 Received: from mout.kundenserver.de ([212.227.126.135]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gnNIT-0004fs-Sn for pgsql-hackers@lists.postgresql.org; Sat, 26 Jan 2019 12:42:55 +0000 Received: from feivel.credativ.lan ([91.7.161.233]) by mrelayeu.kundenserver.de (mreue011 [212.227.15.167]) with ESMTPSA (Nemesis) id 1M9FSx-1grTkw2WVb-006Pmw; Sat, 26 Jan 2019 13:42:37 +0100 Received: from localhost (localhost [127.0.0.1]) by feivel.credativ.lan (Postfix) with ESMTP id 508E0E0081; Sat, 26 Jan 2019 05:25:03 +0100 (CET) Message-ID: <7f0bef53cefcf803b479d143ef29817cd7b721c4.camel@postgresql.org> Subject: Re: Thread-unsafe coding in ecpg From: Michael Meskes To: Tom Lane , Andrew Dunstan Cc: "Joshua D. Drake" , Andres Freund , "Tsunakawa, Takayuki" , "pgsql-hackers@lists.postgresql.org" Date: Sat, 26 Jan 2019 05:25:03 +0100 In-Reply-To: <18693.1548302004@sss.pgh.pa.us> References: <24002.1547944649@sss.pgh.pa.us> <29905.1548005448@sss.pgh.pa.us> <29984.1548014676@sss.pgh.pa.us> <0A3221C70F24FB45833433255569204D1FB6C47E@G01JPEXMBYT05> <21439.1548037255@sss.pgh.pa.us> <0A3221C70F24FB45833433255569204D1FB6C4FA@G01JPEXMBYT05> <32316.1548040561@sss.pgh.pa.us> <0A3221C70F24FB45833433255569204D1FB6C6C0@G01JPEXMBYT05> <13850.1548090570@sss.pgh.pa.us> <20190121193512.tdmcnic2yjxlufaw@alap3.anarazel.de> <20352.1548101123@sss.pgh.pa.us> <0f02fb0d-0a80-0dad-a01e-e6879d24e48f@commandprompt.com> <27185.1548102332@sss.pgh.pa.us> <38244c62-e1cc-40f5-d567-777540815c16@2ndQuadrant.com> <25026.1548284495@sss.pgh.pa.us> <62a84a11-5d3e-1238-afd5-ec11ba91bb09@2ndQuadrant.com> <9460.1548299404@sss.pgh.pa.us> <18693.1548302004@sss.pgh.pa.us> Organization: PostgreSQL Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.30.4-1 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K1:kx6btiFSap0LzfRpy0+zDr0RDAdvebDVCmLH6cVvBIRx3koQsbD pkHOuBXTzpYvL+bqIjpp/Lp1/IQsqPLFFscSvaxlv+mpHifVkAtBSB1IQLmMf9tgZbSUkcW OSUV1P1HNi1mqo3QHc0C5XD0/MU9eHscvDO2DEHULXDuifObOlpBWilaunCT4/25JJLZXUp V29eFuB1VO3n1millBKhQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:vGjEu9h246A=:EbQixw4pKWnlOmP0gILePZ Ow4fQcd9veziq56NWOGWicaPEUrLOudtCmWoDhgiAND5UOAQkapQvPzbG5hNXzyhED0+jzh1Q 3jpfBCJPvf+9nd4hvPHbNixr3kLm+5fB4mPzUj9fnIEtP6QV5bDumupk43wismRgLT/u5bRk2 ABQMgaz8AUZac2UCyXKznFkVU7Ifogw2P1BThBwWrW6smpJWxpYXKz2LesS/StHX0516WxFVy Q5H6dCP+QT7XaTAmZho3yAmpZSUpd5FCUPdcx43W15wVGuxPc/+IpYaVZqTFpgwChL/F9mlLS 0xtEKpmonB6Ma1EpAxVRK2TqZg6yBRWVqZGQSyou3tH0myIXECelRHtCnG687SdtXCwoaCUro a1RkCOoc+FNjK9ach52pyOZ2Vy0dpyTZKQveC1MPxOlIlWNHNc3vvhr4sXE+nu2bQxnYmGA6l zhJkPZ+rfEANLMZfOrbtF1rTe70eLQUU4uXMO0olC0P8KE/q4GUlfQ5XS69TiDiPibXTokMaz 3sZtvX6zbfm081cfpAN6BWuGOctNQu3Of6YVsY8vMlwwN+h+Nsdhe0XmaBjxM1f/canttmP0h 1cpNvHH199u9MtqdMbd1AoLk7Lm55cIPAAP7s0aQA9eMi63lIuuaUtCH6EFhNRPjsYevc/bwR aL2Fg23S7/kmtbNrHhYE5KIZ2RKBCFh1EiEx+sZag4hjzbYjkjKJW36dLhVqUFCzJzrEvCY0b JDCu0jYl9YRRwTw3fa5Hm/aI14+x/mHpLLb7vXWWdbC7GuCWF52XPB7Z74Q= List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk > It looks to me like the reason that the ecpg tests went into an > infinite > loop is that compat_informix/test_informix.pgc has not considered the > possibility of repeated statement failures: > ... Correct, this was missing a safeguard. > I know zip about ecpg coding practices, but wouldn't it be a better > idea > to break out of the loop on seeing an error? I wonder if it would be better to make the test cases use the proper whenever command instead. That would give us a slightly better functionality testing I'd say. Michael -- Michael Meskes Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org) Meskes at (Debian|Postgresql) dot Org Jabber: michael at xmpp dot meskes dot org VfL Borussia! Força Barça! SF 49ers! Use Debian GNU/Linux, PostgreSQL