Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKqNS-0000qV-GY for pgsql-hackers@arkaria.postgresql.org; Fri, 01 Dec 2017 18:49:34 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKqNR-00059Y-AE for pgsql-hackers@arkaria.postgresql.org; Fri, 01 Dec 2017 18:49:33 +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.84_2) (envelope-from ) id 1eKqNR-00059O-0n for pgsql-hackers@lists.postgresql.org; Fri, 01 Dec 2017 18:49:33 +0000 Received: from smtprelay0195.b.hostedemail.com ([64.98.42.195] helo=smtprelay.b.hostedemail.com) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1eKqNK-0005Fb-6H for pgsql-hackers@lists.postgresql.org; Fri, 01 Dec 2017 18:49:31 +0000 Received: from filter.hostedemail.com (10.5.19.248.rfc1918.com [10.5.19.248]) by smtprelay02.b.hostedemail.com (Postfix) with ESMTP id 73301D39E3; Fri, 1 Dec 2017 18:49:24 +0000 (UTC) X-Session-Marker: 616C76686572726540616C76682E6E6F2D69702E6F7267 X-Spam-Summary: 50,0,0,,d41d8cd98f00b204,alvherre@alvh.no-ip.org,:::,RULES_HIT:41:355:379:599:967:973:988:989:1260:1277:1311:1312:1313:1314:1345:1359:1437:1515:1516:1518:1519:1534:1541:1593:1594:1595:1596:1711:1730:1747:1777:1792:2393:2525:2560:2563:2682:2685:2828:2859:2933:2937:2939:2942:2945:2947:2951:2954:3022:3138:3139:3140:3141:3142:3352:3865:3867:3870:3872:3873:3874:3934:3936:3938:3941:3944:3947:3950:3953:3956:3959:4605:5007:6261:8957:9025:9121:10004:10400:10848:11658:11914:13069:13311:13357:13439:13548:13894:13895:14721:14764:14915:21063:21080:21433:21451:21627:30054,0,RBL:none,CacheIP:none,Bayesian:0.5,0.5,0.5,Netcheck:none,DomainCache:0,MSF:not bulk,SPF:,MSBL:0,DNSBL:none,Custom_rules:0:0:0,LFtime:3,LUA_SUMMARY:none X-HE-Tag: price34_17d53ed75663a X-Filterd-Recvd-Size: 1849 Received: from alvin.alvh.no-ip.org (unknown [190.162.169.188]) (Authenticated sender: alvherre@alvh.no-ip.org) by omf12.b.hostedemail.com (Postfix) with ESMTPA; Fri, 1 Dec 2017 18:49:23 +0000 (UTC) Received: by alvin.alvh.no-ip.org (Postfix, from userid 1000) id 7769511B5; Fri, 1 Dec 2017 15:49:21 -0300 (-03) Date: Fri, 1 Dec 2017 15:49:21 -0300 From: Alvaro Herrera To: Anthony Bykov Cc: pgsql-hackers@lists.postgresql.org Subject: Re: Transform for pl/perl Message-ID: <20171201184921.27he6vbp62yegpvm@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20171127132439.23dc26ef@anthony-24-g082ur> User-Agent: NeoMutt/20170306-137-4415bd-dirty (1.8.0) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk A few very minor comments while quickly paging through: 1. non-ASCII tests are going to cause problems in one platform or another. Please don't include that one. 2. error messages a) please use ereport() not elog() b) conform to style guidelines: errmsg() start with lowercase, others are complete phrases (start with uppercase, end with period) c) replace "The type you was trying to transform can't be represented in JSONB" maybe with errmsg("could not transform to type \"%s\"", "jsonb"), errdetail("The type you are trying to transform can't be represented in JSON") d) same errmsg() for the other error; figure out suitable errdetail. 3. whitespace: don't add newlines to while, DirectFunctionCallN, pnstrdup. 4. the "relocatability" test seems pointless to me. 5. "#undef _" looks bogus. Don't do it. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services