Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.80) (envelope-from ) id 1a4BrU-0004x3-Bs for pgsql-hackers@arkaria.postgresql.org; Wed, 02 Dec 2015 18:10:40 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84) (envelope-from ) id 1a4BrT-0007gr-Ut for pgsql-hackers@arkaria.postgresql.org; Wed, 02 Dec 2015 18:10:39 +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_SHA384:256) (Exim 4.84) (envelope-from ) id 1a4BrT-0007gl-Ih for pgsql-hackers@postgresql.org; Wed, 02 Dec 2015 18:10:39 +0000 Received: from mail-bn1on0060.outbound.protection.outlook.com ([157.56.110.60] helo=na01-bn1-obe.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84) (envelope-from ) id 1a4BrP-0001A2-CF for pgsql-hackers@postgresql.org; Wed, 02 Dec 2015 18:10:39 +0000 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jim.Nasby@bluetreble.com; Received: from decina.attlocal.net (2602:306:ce8b:3460:e92c:df60:9374:14ff) by CY1PR11MB0684.namprd11.prod.outlook.com (10.163.236.22) with Microsoft SMTP Server (TLS) id 15.1.337.19; Wed, 2 Dec 2015 18:10:29 +0000 Subject: Re: psql: add \pset true/false To: Peter Eisentraut , Tom Lane 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> <5648E8F3.7070202@BlueTreble.com> <5649334C.50902@gmx.net> CC: Marko Tiikkaja , Daniel Verite , PostgreSQL hackers From: Jim Nasby Message-ID: <565F340A.8010705@BlueTreble.com> Date: Wed, 2 Dec 2015 12:10:18 -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: <5649334C.50902@gmx.net> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [2602:306:ce8b:3460:e92c:df60:9374:14ff] X-ClientProxiedBy: CO2PR11CA0012.namprd11.prod.outlook.com (10.141.242.150) To CY1PR11MB0684.namprd11.prod.outlook.com (25.163.236.22) X-Microsoft-Exchange-Diagnostics: 1; CY1PR11MB0684; 2:bQfIOA0Csv49g6CeFS3EY2PKzFplFve4OsMdtkbb7GAFvTuTDSFpT/wcyq3PM4nbqoRtvt/rLmLy7Hp/TSEyOl/xCOFrZVrw53py52JJmFQu044PwF8clRsi5cpnfGSVHadMYafuDIxCKoZYoiaAag==; 3:Bzmq9WDA0Nh5/u6Y+O+lodQxVBbSV2use+OMaJ8wT+lHWAu8IAYLUK6HO0CPinWOcyc/zcAaaF3sT5g5OVlFm+xb+fchyKBEqocFtfpN/Yz+yqo0dsLd3x6SNvZUDfPS; 25:NDGrfVub/KZbEUhaw3+nw0EwXLns4TaXi1C7sWHuRKETHc+Ullsw8YpO/avwA8tyuN9/E04NgOoQFl6Pukg2tPIAi2WI12PvGbEaqNC+0sVblSlLRROM+n5KBujJaBkd1I3VcLjpd58lZk2By7YOqrrtUrYeYnjO8VtYT0kWGPXEP+JrOmYoXF29bM90iSLx4knoKdLUVPM1i8H39hJb/HcU+r8TgUYQ4PN+a98CiCglozWagyrMSOMnmGzh11u0FRmVrV3JRR9NjuU0fzLaMQ==; 20:DtpkdvBYHUjiOwzpg/MNsrOAlrkO1G80g4drpuYzspTJ3BZ7l2l/zW/1rBuQIP/Cxg32uy8/T9NGH+oFZeF6qQXN/uMRyVBKpklfvbOc82MJTA8RGEmEUCo/LxNr7pUIoBRpZTNDxGUXQQtw+HlxYLnYyY6pBVMIBSbgEQqysAI= 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)(520078)(5005006)(3002001)(10201501046); SRVR:CY1PR11MB0684; BCL:0; PCL:0; RULEID:; SRVR:CY1PR11MB0684; X-Microsoft-Exchange-Diagnostics: 1; CY1PR11MB0684; 4:t/1wo97anSqRrHnt21Sd4Qp31v1kbahM75EVU3yYhGZzMjEjxImebMEI56eL1Gp3H3LLpMqz5edq0yP31e+cmrkoeoE27H6u1pz7jacc6bt56hRwpqimBWByBxZccWGYCg6FKtl/FjgoM0L/mPtQ+GdPEGZ96NOHfAATpz3du6pF6bAP2kggLOwfeNp/0JQMYMuki9Hk6V2rj7g/gwGC7zxJxc6ASFSU/tPV3kMqr7+muyE88GGjgGy5VamrdW2YfsQMifeC5MTsVPt/YNWjt9Zd0Bze2NvU2MhMKMM8Z8BISaPUVBegorVTqz0GI1Pa5RhVnfxpZR118D+zyWZN/DHo6L43Yy2Vlp1N2gRXcX35Sxju8zCmSp2MsGe6S5cJ X-Forefront-PRVS: 077884B8B5 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(24454002)(199003)(189002)(479174004)(377454003)(105586002)(47776003)(65806001)(65956001)(83506001)(36756003)(86362001)(106356001)(189998001)(5001960100002)(92566002)(33656002)(23746002)(5001770100001)(42186005)(53416004)(64126003)(87976001)(101416001)(2950100001)(93886004)(230700001)(5008740100001)(81156007)(40100003)(4001350100001)(97736004)(5004730100002)(50986999)(15975445007)(6116002)(65816999)(80316001)(76176999)(50466002)(19580395003)(122386002)(87266999)(54356999)(59896002)(586003)(69596002)(1096002)(77096005)(3076002)(3826002)(85282002)(336755003)(18886065003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR11MB0684; H:decina.attlocal.net; 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:lErGVniXYdOMQUTpZ4jIzDae2sgiuUx7siQSu?= =?Windows-1252?Q?WLXd2OLokYP+yumfB+Pw1sn4VnLlnP1jKNXw4rdpDagKpCQ/fy6umfBT?= =?Windows-1252?Q?Oza3DR4/FIFNXwYd3EUNAe/1xswjZFBGQS2MvcMZWQLrtSmfRTHA5Q8I?= =?Windows-1252?Q?/SONJnxQWhGhfUywXfMPpks7IqLw5ykOWG/Fhb2LYHeZZLM+khx0hrlF?= =?Windows-1252?Q?l6T5xsDtra6QtcDH2j2IenClJBv4Qa+td0n/Dz8R1AKHLkrEN6+diZSS?= =?Windows-1252?Q?An6uKEp/Rj7fusHXTS4r3R9JUYchK38BhlLCWJW1vlqque3FfrZVjFVW?= =?Windows-1252?Q?fFC+OE6CzpAN2PkrgYNGIIsikvPp3L18VNMb3SZMWSODHeD+HQWuLA1l?= =?Windows-1252?Q?eiRcJ7i/p9+FghkdseKiQTbhRMWiXGO+uMUX+gmKMNdyxP2KrR+crdYv?= =?Windows-1252?Q?lsWrefJZwTxNX7qdYNFF+ts4BuX6DS6DNvjzIsMpz4YBkm9Z6fXNi5rq?= =?Windows-1252?Q?aZ6LdAJjCbqRHSy2UVcHdy/72jYFGYa8dZET8negW8IfoHjew/ajt8Sg?= =?Windows-1252?Q?4qJd+VFoC0hPUoc23+O/ZNUBQ8f3IC15SaR/PKexU+gDlJ1JI+x72QiC?= =?Windows-1252?Q?KHykItdowaY6ne0D37PgOdBETjzYK8gO+IRh4coityIAVoX0I1Ft6rlW?= =?Windows-1252?Q?t+S5RHOzx54NrPEEdrOTU6Q53NPFQ+BQj1yfOvQVDrmla5PPwGpeWX8/?= =?Windows-1252?Q?1+bVD1QH+0nCvuP8v1ndoQVsUbFO0teLVXDgwLeytmeWyUYnO9/Nit5j?= =?Windows-1252?Q?mTmJru8Xfko/ys8DQhKCDm0G6sD8Z06dB9XiAeOjtdA0FLdnc3J3/wsq?= =?Windows-1252?Q?AzJh49XY0PTieFSdDAFcGAzg2q1ws7/7SrrI4zSXlPqQSpeLklqF00hc?= =?Windows-1252?Q?HVezFEYfB/NRjmgDGp/F4gZomQwoH5xGZJ7g0EwexGlx4JXxwWvd4xPl?= =?Windows-1252?Q?mMQ7M7KTmCtvFNGZNx15BIUkX9U3H9am6inlLTiT9CRQRm/nPYT6wEjT?= =?Windows-1252?Q?oLcp6nUedfg4zxN1pE1o5qhhKEQlFECaU/aFO0ODcXaDISSVchWd6hph?= =?Windows-1252?Q?0uVkYc5JbZ2YdqlXYXqa8X1lK+DKG4CosETpz5PTYXl1L3dpipkiDMFR?= =?Windows-1252?Q?mMJTOYp5mdN+qvG4or2iU6Ukingt1n17q0wAA+ehcUqH2KhOiFECVuuX?= =?Windows-1252?Q?shRSrpY6gumFaUt0vBnATZb6r6SjQoV41R4NuY0qFJ/UOUofX59G4V3i?= =?Windows-1252?Q?tDWgcXhq5pac/4bgK1zRjgovcR1PJiMtd7sOr8d0j527h8Futf3nc6TX?= =?Windows-1252?Q?zT37JT16Utbl7Q1kiczh8jNYhgg++fkksc2up8R6+COJpOQzfaGh3KHY?= =?Windows-1252?Q?c+LbUngL8YYqRXHo7kuR8YV0uCRoxVTyq30+plIrGLLQug9DtszHTMal?= =?Windows-1252?Q?LBqx6t+g0wJTe/gz1qBYQZIoxbsaEXXoh7PxL9j0R8xuWaOqg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR11MB0684; 5:X8nyp9pWJKpTkxZoK6ZnqVD3z2FuXPzCGYF6dmv6kfxziVaFJkxN8ud2FtKhsM63pZkb4Akge8z2lRsaiYHks3r2ICp1rl9NHf+w8xoK88mupqH/8r5CWerH2FGpqkhVfXGzCHSctKa/WcvYrhh/WQ==; 24:Ut1xtndVxXCJ8gdl8VC9HLmoHgjkIt3Nm8ZlhorAmB0v3Bq73s7UJHJBLUSUeEKrCEpKPGxTLGb4nt/ZAMh24Z9FLQiB1jDkKlkEA10wx0c= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: bluetreble.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2015 18:10:29.1910 (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/15/15 7:37 PM, Peter Eisentraut wrote: > On 11/15/15 3:20 PM, Jim Nasby wrote: >> 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. > > Well, why not? The question there is only how many marginal features > you want to stuff into psql, not whether it's the right place to stuff them. I was more thinking it would be nice to be able to temporarily over-ride/wrap what an output function is doing. AFAIK that would allow this to work everywhere (row(), copy, etc). I don't know of any remotely practical way to do that, though. -- 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