Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cZ2xH-0003wK-4g for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Feb 2017 22:00:43 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1cZ2xG-0005Ng-Ha for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Feb 2017 22:00:42 +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 1cZ2xF-0005Mp-Bt; Wed, 01 Feb 2017 22:00:41 +0000 Received: from mail-dm3nam03on0050.outbound.protection.outlook.com ([104.47.41.50] helo=NAM03-DM3-obe.outbound.protection.outlook.com) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1cZ2xB-0003bi-Vd; Wed, 01 Feb 2017 22:00:39 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=BlueTreble.onmicrosoft.com; s=selector1-bluetreble-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=sXxgsWFpAv7AcjQRRNm5gmDMnfdbWxK5c4w0sFyJk0s=; b=BGoBn+DQ8hR2EN5RYG31NqzyXy2+YNzNAAO+SUmyo7zAApRaXwbZe+ok5ZSomijXGGtXgqGB9CkUEA1dv1NMnGP3171sJYRv1E+irpyBxBtsk6yZ3U8HaZg2jm75TMthdG8LElx8Rw/BgF3YqoTg04GfWV2gbcix5m2j96SjNv8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jim.Nasby@bluetreble.com; Received: from decina.local (206.169.134.11) by DM5PR11MB1642.namprd11.prod.outlook.com (10.172.38.13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.16; Wed, 1 Feb 2017 22:00:35 +0000 Subject: Re: \if, \elseif, \else, \endif (was Re: PSQL commands: \quit_if, \quit_unless) To: Fabien COELHO , Corey Huinker References: <1084.1485886511@sss.pgh.pa.us> CC: Erik Rijkers , Tom Lane , Daniel Verite , PostgreSQL , From: Jim Nasby Message-ID: Date: Wed, 1 Feb 2017 13:58:36 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [206.169.134.11] X-ClientProxiedBy: CY4PR1201CA0018.namprd12.prod.outlook.com (10.172.75.28) To DM5PR11MB1642.namprd11.prod.outlook.com (10.172.38.13) X-MS-Office365-Filtering-Correlation-Id: 0d935a2c-313d-4e70-1305-08d44aedc017 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:DM5PR11MB1642; X-Microsoft-Exchange-Diagnostics: 1;DM5PR11MB1642;3:YJNPEAAc7yVy3SvLhpCxR2Qol96pqTSkmsIXzbCT+onKwpOHfylI/K0XjgJtJ/56b6RPTOxImbC9HcXiFaebZEqrrBekYXtlvKhcPwkf8Y0KYLdPn1maSxuA37lkM9wJ8EnOSEw49hlfXN6A7a/V4f1zB5xxw/G3OO7lSLsiUrRJ+a93eHA2nm7aNnQ0yBsE8ITXAGIiSUo8+d9LyBcV+TNG0/srVPqT0K3NFTPLlhWwQfjnIHYqHyJIIQBW/9rULde9HcNYonTQLDovV+mqUg==;25:is9Pmo2rQHZ7NHYy6amejFb4GEOLigaBJR9cIxbeQxsGznELd/1oBxUwWNwWRMuwPNBfxgRJuNqzbvsNFyGPc6Qibg5QRTnaWH/xmeCN+4kvzzIt0ZysjldpO0H7L5GpW8seJkgGAYxz0MlZvAteph9kRM6AHELs2NCAwSajpDvFOCt6QqLznhpALwSRy4k76Cfc2KR02WqvAJL9uzZmsNGTJzJ35T+q+0tDdTFGvgQz5SsHCnq9+kXOsLwgSHfoJ7NVumz0gWQQQU8eeP8UOfCi8o5pAr+8GlIIRYvPj2GSFXiiWOZvt/EDrOvX0HP0O6ABBq/0HOSzgwG+dLRGBo4ZTfbHGe+N2GgVVmOuSfkHBbK8HtLDNqUz1Aj5H7SmFE0THcCgGq3TOsmumtcwMQ==;31:mlbSnagwr2FgRJJ/vvN3EG3W0AtAUAClqmOOw3nr4IT9QMG0L2L+sAvIJNYSG/mW3yGPBr00wWzzQ9v18jPxmGolZRMfgc1GoThv+tm5+XvHx/dYpsjMfiCdwriTkokDMHbP7s8p5H1RMRPaMW0657D9WBpgO7MwW5kcGHsgvWRB9EAAGP6fK4NO7RJ6jjpm+t9J/PKww78Rzhr38cH/2kBGaSqO0kvMzkGq3BzHeBI= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6041248)(20161123560025)(20161123564025)(20161123562025)(2016111802025)(20161123558025)(20161123555025)(6072148)(6043046);SRVR:DM5PR11MB1642;BCL:0;PCL:0;RULEID:;SRVR:DM5PR11MB1642; X-Microsoft-Exchange-Diagnostics: 1;DM5PR11MB1642;4:/ydBaimRa4ycWygJHWLr5x6mA2paJ8ADD4QX0Q3EkCGo4dy7BC7aCIQaDT9qoZjo7y1NjfmQCken/Ut/TqWRd+RGJ1gwVBiIk8JRp9MxKZtN7mOBp2t88ExPg876bnXuZCUi0L3kkvPmLl07s2aMNJirN5DaZGD6c3XXI2B+WYNbk4jj2cSMaCiCx63SXo1z7i37XgKsBa1vUCtyOqms1WLDdv+P4Y9BD/4HMon15h5UByh8iL7FyKh3T4MrW1afbV9BzT7vgsOoJfet1fFd1LqE7ihZKyGW6EY4l7h2DPsggzrDakbUn4M1Rv0c1z+8TP6zMbuXLpU96jTcoak/6Z/8SWYjtF/oTTEHCpCG6DRD6RW2N4CoPI6xKlgzGUVd+EUnuMKmAIuuuTYx6nl1q1JJm9Uk0B0OGUkeamqa7qxiqwEGRuLfuCV4wJvWy/AC1wF9VNemBxPW1pnpltHkBikHIogvN7T24b4FeGlKAGh+6U9iVu4l/0i6ZNDn6cxYCrCXbUD1dtqKA1D+Lh/exU4enQFknqTPkU9Nzve0+hW80un2sFP/MGQgoJLVa+osFte8u3s7pjIoCped6dI7kS/F3M+SLcAgB6d8KiUx4WrnIBincHBgThCPd8ZTJKUzm9BdjP8MC/vNAkwiQQxWD2mgGZHFUcZMDWUrmsbvbtw= X-Forefront-PRVS: 0205EDCD76 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(39410400002)(39830400002)(39450400003)(24454002)(199003)(189002)(377454003)(36756003)(54356999)(86362001)(31696002)(101416001)(50986999)(76176999)(92566002)(66066001)(65806001)(65956001)(81166006)(81156014)(16601075003)(47776003)(8676002)(42186005)(305945005)(31686004)(7736002)(105586002)(106356001)(93886004)(33646002)(4326007)(2906002)(83506001)(4001350100001)(966004)(53936002)(189998001)(25786008)(6116002)(97736004)(5001770100001)(39060400001)(6306002)(6506006)(54906002)(50466002)(6486002)(64126003)(38730400001)(6512007)(3846002)(230700001)(68736007)(65826007)(229853002)(2950100002)(5660300001)(23676002)(85282002);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR11MB1642;H:decina.local;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Received-SPF: None (protection.outlook.com: bluetreble.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjExTUIxNjQyOzIzOjg3bUZYUkdpSFlSSXBvMzBBOUZjUVNiQ2lT?= =?utf-8?B?ckF1ODdBcjZ5MjdWME1LWVlrbC9LZGpHcDlOZTdLcjZkYTkyakxSMUFDalZU?= =?utf-8?B?V3FyeGtNQnd6MmpMTXREazZvcFMwT0FWYlBrYUdOQkd4ODl1LzJIek1RdE5k?= =?utf-8?B?TzNMdzdISE9RMkNQVDEvNFBQVzMrbWhzN1dDNTlheWFLeThVRzExMlloTDF4?= =?utf-8?B?U1hOaXdSMUZLOXNkTVArQ29lQ0FSZkM2dWhCSmExRjZ0QjFDbkxEY21URlRQ?= =?utf-8?B?V2x1VDgwTzJpRi9jbzcyRHBTbEdoeUJya1piRWN1WkgwM0RuKzhHZS94RzlU?= =?utf-8?B?QnY4TU5vVEg1L1AxQ01aZHhuNWFxNlRLQkMvWjhGU0Npb29NVTJIcVJndUlU?= =?utf-8?B?SmtZRXhGQWlNemhSS29QamRhQTZOeEtCNmdkYTdWWEs4YmFBRERxN1FaeC9H?= =?utf-8?B?aGtuUVBuUUZ3RDZnbitmN1JvRmh2MHgvcVFxdkJzVFNkb05FVENyK09CUTh3?= =?utf-8?B?MkhCUHFvSm5mVm5wUFJMR0swa3cyeHJKOG1ySTVEd2VPSHJkbEdvMFFHQVQ3?= =?utf-8?B?ZmVtWE9hOWNxSmt5TVVNMk02bmliT0Q1cmNSZlVJQmR3bWJsN3FlNkpoUGRp?= =?utf-8?B?ZmVPYU9ZRkpaVmR0Zkt2ejZ0L1pXbWZxNHUzR1I0c3lPd2M1bG9vVWtIbXJQ?= =?utf-8?B?WXEyZVc4aVpZSEtFOE8yWWx3Q0N4SlNtR2xQaWtITG5OVXU3WG9kRC9Mb0Jz?= =?utf-8?B?V2o2WXc4dmhrNlg5N0gzQUhJSXNJTlgrL1kzV3FaMFJCbkhXRW1mVE80SlNK?= =?utf-8?B?M3JuZE9peFU3c3AxRFdRQVY3N1lLTDJhL0tQNS9rYjZNQ1VRZDZpR2pSMUFW?= =?utf-8?B?UlpBeW5nb2lpSXRlRGlzR1ZIUVNCMUZERnorMVVsMmhkc0k2NUh5K2U2U0ti?= =?utf-8?B?cWpyL0xuczNTRUpGcmxRQVRRdm13TWR6VXAzdm9NOHpUbzk2bC9aeUN0b1R0?= =?utf-8?B?Q2VBYWtLN29aUER0UllieGNJUmxVeXFGa3MrVDJDdXM3ZXliQUZsRjYzQjE3?= =?utf-8?B?RjNDSUVuUXhlZ2NvNGFmMnQ2SnRjOUJTRWVYTXBWU3gyNEl2Q3AvUXA3aHox?= =?utf-8?B?dzl2RmN6Si9CMU1Wdi9Bb3lTYzh3UWp1L2ppSUZNcDFHUjgvOTFRY3pBdkI2?= =?utf-8?B?bjUvY2Q1VGhyc0V6bmV0dlZZTWx0RnhBVDNlL3VTaGUzWjF4TU5DTHNrbkYy?= =?utf-8?B?Z0VibTVIVy9qZ2FvY25JajdNa1l4L09kYmNqOHJqVzZ6RVEyM05YMjBjZXhj?= =?utf-8?B?WUhFK3QxTmNLVTlCTThNUzdYK1BySlRiWWpnSUE4Z1FrdWlSNnQ1NVNJVlVK?= =?utf-8?B?OW9EYlRtWFYrUTQvVGcrdzZSUTdkNGpBbFZwV1BGMCtsTmI3bUdpSGgrK2Z1?= =?utf-8?B?QWEzbm5PZG9WMHREaW9Pc0VCbTBlQ2s3enQ1QTUwZ2M3eEROVFNhOFc0Yndk?= =?utf-8?B?UFJaaWJyL3N0SzMxV2dXUVdOR0xRcGdHa3lpUTUyS1JETWxsRzVUVmJUZndH?= =?utf-8?B?S2tmekR5cHpDU1hESnRiOXk3Q0dRWCtyZGRweGRwZmNHYlBoaE1ibHhaQVA5?= =?utf-8?B?aWoxbGVYQmc0bTE4MGNQbkFMN05VcVdGREhxZkJjY1JtWTUxcGkyL1dZaDVm?= =?utf-8?B?cjI2alZIMWpVTG9xYlFrU3VEZXVuWGFCcG80TnBkS3ZTbkNrYUh3dm1XWnAz?= =?utf-8?B?Q1dUZEdhek9obTNPbVZyUmttSjAvM2F1WnZ1Mm5JeU0vWlpEei9lellhRitE?= =?utf-8?B?VE1Nd3BWeklDNStNenJCdWppUXZlanpYUzhEM3AraXFLamJjMFpjcHVzOGtE?= =?utf-8?B?aHg4VEtBY0xyTzdWb0FMZ0lMYUJhSUpEZVdUYWNLUDFucm4xeVVyZWJNVWkz?= =?utf-8?B?dWNrRFJlT1VuUEVJUlZVVHkrM0hQSVdMTzBzVGhZZ0FqYjIvL045citmblpj?= =?utf-8?B?dEplNjgydzVjaEg4UHhqQUZ0QmJ3b045SkJjWmt1dW1wRmJKdzNVZ2ZROGY5?= =?utf-8?Q?T1ukl4IS3rKF6dwQdzlUR+yGr?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR11MB1642;6:RwYEqyxMuekWzzCy+UPrZKnYeVnkFBHsnVe1dKLKhfaWAZFappSbmeC1nLhvVLoVtZNEfaXa9pGCR5114qdPm0evvOfWjXi+Hdw1lavxsw5yZDhh6qcbsPZ/27Jq8+oMX5b+86GEnv/z9ZTT5Tnv2XgrAvACE3tlbKu0FFNnZPOVHEDsnsh22iRhP6+EKZcCWjHeRtk+AmsmeigChKjidRjp0T9vTyj5ap+UOBeAxT/gV3RaU6iWHPMYkutz3usHLYiteDKrew92lWocgdWyVtg3Lz3AmV5Lg4IepySmY9UZtohDQ/UEOuLzUf9UnP81+AcAQG+zl9tI4T2IVN6Tb03uyvA2yMBOI6mbdCsyxzFEVhzm3FGdw3Sv4E7DMB1HX8ShsZ+O3B9i7Cgx+MB5YA==;5:nCgchnc2ZNMRY+woS/tezfkl6bUTdGcxx5v5EOodg1pW68fICIWOsRpqIOiV/g9Jeq3fmTsjWSlxo2FkaK4CBcfGXNHxjTevZHy6q/M5cmALpKoT4QGopK+vu1P1Wsnzjv63cKLfNhxeesAqbEYRQA==;24:6PQIgQMPEO1WLSQo1h6I6xL8kArTOv6ya7xEKY+xGwD3yG1GPgqxFUoHwWa1So+HS/2YlhpjWSlSo3ciUtiRk9BEHpsdzLPRzEnVyPkdLQ8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR11MB1642;7:pKGKW36B+inKD86YDuEhuix0moUIaj+YHxE4OZydNr7PcwuU1KrIyE1uHJhgpUikcUvmUTio70R4HxV4IdaKnLk0kyyH8aQjPA5KcLvAKgxAKRw6gmdZ2FgD3V7rINZYpcsnU3cTyBcyd+5sH6C5Fyvs7pqC8ZYOJDgN+Ej/wGg7KiXF7XRsSZXby2ENjJJXumjReeeOPzz6NWSLm74D3oEUXONjibUpDovn/DT5sVRhvmjaRPjAVds1ZTyRytVvgq+gopRGk+uPcWa22A/kdC6qLGJDVTtlBvTXW4hQaNMiUb17thgEILvBd9/dwFOeG4GeXSx7DCIfo8HInn3ejmwQJuvkA8oJcvHf2k0pAQLiw1GOwoapbzFz3+u1gdml25HoIIOLeSJIkAof8c0yixP1lV0qwLt8XcIjGYbyhbK9m66Z/MI/wL4bYdj7Ku7Mqahh9jGV+UK5B90q9ETTthsfTmzk3tEU2APFcyw+1tQEBFlqg/vHRTTGIfHnovVVDuuFtZTyi/bRgQ2RkAtUGw== X-OriginatorOrg: bluetreble.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Feb 2017 22:00:35.1880 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB1642 X-Pg-Spam-Score: -3.0 (---) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org On 2/1/17 12:03 PM, Fabien COELHO wrote: > I'm unsure whether it is a good idea, I like terse interfaces, but this > is just an opinion. I think the issue here is that the original case for this is a user accidentally getting into an \if and then having no clue what's going on. That's similar to what happens when you miss a quote or a semicolon. We handle those cases with %R, and I think %R needs to support if as well. Perhaps there's value to providing more info (active branch, etc), but ISTM trying to do that will just confuse the original (%R) case. -- Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX Experts in Analytics, Data Architecture and PostgreSQL Data in Trouble? Get it in Treble! http://BlueTreble.com 855-TREBLE2 (855-873-2532) -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers