Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1Zy3mq-000572-VS for pgsql-hackers@arkaria.postgresql.org; Sun, 15 Nov 2015 20:20:33 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84) (envelope-from ) id 1Zy3mq-0005nh-EU for pgsql-hackers@arkaria.postgresql.org; Sun, 15 Nov 2015 20:20:32 +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) (envelope-from ) id 1Zy3mn-0005mk-Tb for pgsql-hackers@postgresql.org; Sun, 15 Nov 2015 20:20:30 +0000 Received: from mail-by2on0083.outbound.protection.outlook.com ([207.46.100.83] helo=na01-by2-obe.outbound.protection.outlook.com) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84) (envelope-from ) id 1Zy3mk-0005cI-St for pgsql-hackers@postgresql.org; Sun, 15 Nov 2015 20:20:28 +0000 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jim.Nasby@bluetreble.com; Received: from decina.local (70.113.16.71) by CY1PR11MB0684.namprd11.prod.outlook.com (10.163.236.22) with Microsoft SMTP Server (TLS) id 15.1.325.17; Sun, 15 Nov 2015 20:20:11 +0000 Subject: Re: psql: add \pset true/false To: Tom Lane , Peter Eisentraut References: <0949c317-3ec4-4516-a3aa-33a6cfbf5267@mm> <5631FCAF.9060204@joh.to> <27336.1446126627@sss.pgh.pa.us> <5644FCE0.2030405@gmx.net> <20643.1447362580@sss.pgh.pa.us> CC: Marko Tiikkaja , Daniel Verite , PostgreSQL hackers From: Jim Nasby Message-ID: <5648E8F3.7070202@BlueTreble.com> Date: Sun, 15 Nov 2015 14:20:03 -0600 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 In-Reply-To: <20643.1447362580@sss.pgh.pa.us> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [70.113.16.71] X-ClientProxiedBy: BY1PR15CA0019.namprd15.prod.outlook.com (25.162.17.157) To CY1PR11MB0684.namprd11.prod.outlook.com (25.163.236.22) X-Microsoft-Exchange-Diagnostics: 1; CY1PR11MB0684; 2:l1xUifXSPPG0KFY5OywYytSBkWpE+q6IbwuTLgWm9rcOqAZnCrSGVS9sxh8mk+NVxZsfLErkAoEFsZX256g3Ebk1rKVHPc38YAyceNoEonVxqTQuHSvtJppzuaMlgFdA/HGjVodHXDh4OdzEICVLijsq1CIxYqIJ70c/V4YRNP0=; 3:JrAVf4Is2UPMre88OL7oknsgNv5HTQMIra1tQcTkZNg7GUPPWon0/q+5vcWto/dplyUy7eMyZhG7ZxBQoTVP9ZUey4jQrGWryEJLz2w8B0klUiNM00rpsq/pjrQ61faGG96B5EF4dsKg3Yi69ltJ3A==; 25:ah4NQ1MsFJZsXQ7vKaV5/K69NgNiDiH5j9wGa18+5Mt0GzG75FDs9HqQRpK5Hh4KreUx5JAMDLzwIPLJrfUL+YST79ETQRCbr2VjixY9aRQL29Xp2UgwdsFkCXLUSF/lhtgwZ5STx9MjwLmYuBVCXOxp/mYC4NyzYKd2mzzcvUQDDFaUcd/CFU0/X5Oi098mjwsnymM0LZM3TJgGlkJuI+0+S8qR/hxfepQUf67wUWhUKBoeX0QaDSqVfzig+o+SjNUWMFocoC9NSGSEs6XN7g==; 20:D1w6kKP8gY1my24u3OwVG1QJOoNG1iW4cNWEhWuMwcohyUSrL2CTV+lex3yFigK0jyu48hhNkXOPgMkFiusp0NxSQmavagsq2lQEHkwiFStrLuJqg2YYJzl7x+osgg0Flxq87kKOcfDAIZzEC2XOuSKq0QPU2xKGxpvN7omstLc= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR11MB0684; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(3002001)(10201501046); SRVR:CY1PR11MB0684; BCL:0; PCL:0; RULEID:; SRVR:CY1PR11MB0684; X-Microsoft-Exchange-Diagnostics: 1; CY1PR11MB0684; 4:3/saJ8eAjMiVuzD8zPeRNmTvhFM+vAleWMLDYi5LrnA1tLKzZMhu1EAhzRmtqIfMesDtOn6McwITyrzAxFhldQdRfDzt0lfehb5K6J9YvN8dlqAF+mQt9yHvcb0UA8ZY4g9832gFNsStGnATWCzqskdINYvajilwpPqsTRdPk4naMht8AV9Kk/vjYF6X8DkiSOJJ9WunD9wmzzstGsgYB5b8EfpDjT+qweBdisl+7od8it4dNdi4MbRVGQRQ6wLGBkaI3L1q7tejNKTerWc0/3sFvkW+5DWM7//TbcGeHuNloVigetw+QA0mZRzri70WxBBmqW1HV8fr+/eAWAHd7TVaC1dzXb3qDnPVZcdFFTlwXOr6UaVNcLJXDVA0kTV9 X-Forefront-PRVS: 0761DE1EDD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(199003)(24454002)(479174004)(377454003)(189002)(47776003)(575784001)(19580395003)(87976001)(66066001)(5001770100001)(122386002)(5007970100001)(92566002)(97736004)(40100003)(50986999)(81156007)(5004730100002)(586003)(65956001)(80316001)(77096005)(64126003)(4001350100001)(19580405001)(2950100001)(189998001)(59896002)(54356999)(93886004)(5008740100001)(65816999)(65806001)(86362001)(15975445007)(230700001)(23746002)(105586002)(83506001)(33656002)(106356001)(5001960100002)(101416001)(76176999)(50466002)(42186005)(87266999)(36756003)(85282002)(336755003)(18886065003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR11MB0684; 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: =?Windows-1252?Q?1; CY1PR11MB0684; 23:dCwD3J2J865pvhL4PvwWZ3FaQskfP7AEn7/QY?= =?Windows-1252?Q?CMXm44KNXtU0/pqhqhRTashf4TebrlMVw0Vhss6+6u3NMGFcHz1R4Mbg?= =?Windows-1252?Q?L2oFP5LtjEauJo4z+kmPITaazXWidXckiHi3bABx4n01dZjUZapbrCxN?= =?Windows-1252?Q?YE7XLtrMCaFgvTN0EBV0H8FTg6ZkkMtiLE4+IH43WED30e+MdNHVqGUH?= =?Windows-1252?Q?YhHFbGwRd5l80YlOUVfh5r0W3Tdu+YmIvA/44XpOeUXj7SoPEVaM4IRg?= =?Windows-1252?Q?VHuz5/YM7zXx+CtGPyPGtrzZ6RHsKDLRLqAYyeBY/KfVQZesAbFVcLdZ?= =?Windows-1252?Q?YrI2GJpwYIBQ2B40XnR8Y5XzcHeOfJGu64rzbHw4M3rBsiTuNPbKUU3E?= =?Windows-1252?Q?rQXOVbef/jGRkkQiXJ/LAM3KiIHntNlccKlU3zfCP5neAa8H9z7txhwE?= =?Windows-1252?Q?5xT+y5gwRS0c/hkKC3RfXF6VlemKkcDqoQ7EUgOuU0UNI1+cadcm3uwc?= =?Windows-1252?Q?fYG2B5qYpvbVFFN6Pb0JAjHEZdCnCskGzBuPzx+GV9q9L70N/FYAGs+7?= =?Windows-1252?Q?iPhdej9peJVOI+OliXBpbTV+TguCV5rkg1HkAj4iroA9VNIgj1loXbpC?= =?Windows-1252?Q?TNPHku42y+Cb+dS8F5E0O2C5uKDMq5R/DIgp9YhQPVkI0xz54LiZ9KBj?= =?Windows-1252?Q?GO3ti4cnH07nz7ucv+HW2KFHbMs8CFTCTbSDIqKjg7gNJEc0e7cUjhvV?= =?Windows-1252?Q?XhVHrQusdIkdTgLL7KTLHEdZ0yge2d/eEVKx90JzbIfquU30dAulVT9L?= =?Windows-1252?Q?Lx+G07YTrZIkFSq1Ed9oNQJfmnxNKWOfCKNPBb/CwcFyMTreDXKg2DCO?= =?Windows-1252?Q?VPDPbizXakZaujY+146VHV2CG4DyIXjqIovJiTSYH/1E0dK2VLUtdcNU?= =?Windows-1252?Q?5GObsSJnFESTew32IuOfyIas+KWC3sWZ4FjzwRdFhKwlvKJw5eX805KO?= =?Windows-1252?Q?K39f4GIo6T2qqlg8E15qf0AaQSsQGixihzjrH5jfcih//2RY2NVxbart?= =?Windows-1252?Q?6pUz+KD7Pg+qWXyC1bTDfq8d2b56UhIcGz8Hy+jj3XbkwEzFtDKUuEfj?= =?Windows-1252?Q?WEph/0Wv7Floirq4U/e7h093R2Z9qYYgXe7Vbk9odTEY41yGeTL+MTYC?= =?Windows-1252?Q?Vt52MGXoN3zCaFLDUlw45sFwv02OECClKVdBAQmoniothT6rM36OsLgQ?= =?Windows-1252?Q?uuWN9enNULcA8QQbCVWeU0OQ1rj4Mz1kf9s/AeJiiikPC+dCX+XZp959?= =?Windows-1252?Q?p5dqOgGw4YHFZpa+6MAu19VACZWGLSZsxtxI7LB1zic9PqziBIJQMF33?= =?Windows-1252?Q?j+U5awqquqpCaTBcyDcJXHSZTAevVCH7l/1pKycvr+UNNj13kHZAjOlx?= =?Windows-1252?Q?ONW0EgXlklkq3QQ752vzmcx3oVthE3BmQyHZQY8odDyHzzm+tonyBijd?= =?Windows-1252?Q?vuM1pM5LaUH2JUHe9DvF2Lu/sAu?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR11MB0684; 5:dDQO2Kk3DLEHehKVC+EWghNKo6i0YRdyfTE8p1eIB10bbsUKTp/ZKBrqixqNOR02rlMcyg3QgWAT+z8c3JNxJ1ytVlIKDIjfJ1GiTC5Z032Z9NzcISEQMg9q/CusCMFNYw7hJo7F493mrC83tN6fCA==; 24:Xq8ILY3UEryagkEpvNb+72Cq2Uk+kVIHpB8qjVPDxn/4I6uV2p5psbV1dqBwnPgFHZNiZGapTj2fY+4dZnVPH34yIO35ZBzGOZisvSmZHRI=; 20:lpo8HlRp0gvsRvwoyAhVS4sQ+iGBOvgucS0vtd2dWetARqsOmJg62/e6RdGXZnG3Yxz8abyMLr5AEfDDzEbUtg== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: bluetreble.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2015 20:20:11.5491 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR11MB0684 X-Pg-Spam-Score: -1.9 (-) 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 11/12/15 3:09 PM, Tom Lane wrote: > Peter Eisentraut writes: >> Plus we already have \pset numericlocale as a similar feature in psql. > > But \pset numericlocale is also a crock. It doesn't affect COPY output > for instance, and its ability to identify which data types it should apply > to is really shaky. And it's virtually unused, as demonstrated by the > fact that serious bugs in it went undetected for many years (cf 4778a0bda, > 77130fc14). That's a really poor advertisement for the usefulness of the > proposed feature. My $0.02 is that something that's type-specific belongs with the type, not with clients. As to the argument about displaying a check or an X, why should that capability only exist for boolean types? For example, why not allow psql to convert a numeric value into a bar of varying sizes? I've frequently emulated that with something like SELECT repeat( '*', blah * 30 / max_of_blah ). I'm sure there's other examples people could think of. -- 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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers