Re: Ascii Elephant for text based protocols - Final function proposal
От | Charles Clavadetscher |
---|---|
Тема | Re: Ascii Elephant for text based protocols - Final function proposal |
Дата | |
Msg-id | 009301d1b03a$9643ea00$c2cbbe00$@swisspug.org обсуждение исходный текст |
Ответы |
Re: Ascii Elephant for text based protocols - Final function proposal
("Charles Clavadetscher" <clavadetscher@swisspug.org>)
|
Список | pgsql-general |
Hello all > -----Original Message----- > From: pgsql-general-owner@postgresql.org [mailto:pgsql-general-owner@postgresql.org] On Behalf Of Karsten Hilbert > Sent: Dienstag, 17. Mai 2016 09:23 > To: pgsql-general@postgresql.org > Subject: Re: [GENERAL] Ascii Elephant for text based protocols - Final > > On Tue, May 17, 2016 at 06:58:14AM +0200, Charles Clavadetscher wrote: > > > A question to the naming. I find pg_logo() also a good name, but is > > the prefix pg_* not reserved for system functions? Of course I could > > use the name I want, but was wondering if there is a policy or a best > > practice in this area. > > pg_logo would only be suitable if it got blessing from "higher up". Well. This question will be addressed when the body of the function is complete. Now I have a proposal which is in the attachment. The function accepts a set of arguments, all having default values: p_frame BOOLEAN DEFAULT false: values true or false. p_text TEXT[] DEFAULT NULL: Free text as array of text. Each element of the array is a line of text. Maximum of 8 lines.What is above is ignored. p_position TEXT DEFAULT 'bottom': position of the text in relation to the pic. bottom or right. p_align TEXT DEFAULT 'center': Alignment of pic AND text, when p_position is bottom, only of the text otherwise. Values:left, center, right. p_valign TEXT DEFAULT 'center': Vertical alignement of the text. Only applies if p_position is right. Values: top, center,bottom. Below I add a set of sample outputs. Feel free to test it and all feedbacks are as usual very much appreciated. Regards, Charles Sample outputs: No arguments (all defaults): select pg_logo(); pg_logo ----------------------- ____ ______ ___ / )/ \/ \ ( / __ _\ ) \ (/ o) ( o) ) \_ (_ ) \ ) _/ \ /\_/ \)/ \/ <//| |\\> _| | \|_/ (9 rows) Add frame: select pg_logo(true); pg_logo --------------------------- +-----------------------+ | ____ ______ ___ | | / )/ \/ \ | | ( / __ _\ ) | | \ (/ o) ( o) ) | | \_ (_ ) \ ) _/ | | \ /\_/ \)/ | | \/ <//| |\\> | | _| | | | \|_/ | | | +-----------------------+ (12 rows) Add text using default positioning and alignments: select pg_logo(true,ARRAY['Swiss PGDay 2016','24.06.2016 - HSR Rapperswil','Switzerland','http://www.pgday.ch']); pg_logo --------------------------------- +-----------------------------+ | ____ ______ ___ | | / )/ \/ \ | | ( / __ _\ ) | | \ (/ o) ( o) ) | | \_ (_ ) \ ) _/ | | \ /\_/ \)/ | | \/ <//| |\\> | | _| | | | \|_/ | | | | Swiss PGDay 2016 | | 24.06.2016 - HSR Rapperswil | | Switzerland | | http://www.pgday.ch | | | +-----------------------------+ (17 rows) Position text on the right hand side of the pic: select pg_logo(true,ARRAY['Swiss PGDay 2016','24.06.2016 - HSR Rapperswil','Switzerland','http://www.pgday.ch'],'right'); pg_logo ------------------------------------------------------- +---------------------------------------------------+ | ____ ______ ___ | | / )/ \/ \ | | ( / __ _\ ) Swiss PGDay 2016 | | \ (/ o) ( o) ) 24.06.2016 - HSR Rapperswil | | \_ (_ ) \ ) _/ Switzerland | | \ /\_/ \)/ http://www.pgday.ch | | \/ <//| |\\> | | _| | | | \|_/ | | | +---------------------------------------------------+ (12 rows) Change text alignment to left: select pg_logo(true,ARRAY['Swiss PGDay 2016','24.06.2016 - HSR Rapperswil','Switzerland','http://www.pgday.ch'],'right','left'); pg_logo ------------------------------------------------------- +---------------------------------------------------+ | ____ ______ ___ | | / )/ \/ \ | | ( / __ _\ ) Swiss PGDay 2016 | | \ (/ o) ( o) ) 24.06.2016 - HSR Rapperswil | | \_ (_ ) \ ) _/ Switzerland | | \ /\_/ \)/ http://www.pgday.ch | | \/ <//| |\\> | | _| | | | \|_/ | | | +---------------------------------------------------+ (12 rows) Change vertical alignment of text to bottom: select pg_logo(true,ARRAY['Swiss PGDay 2016','24.06.2016 - HSR Rapperswil','Switzerland','http://www.pgday.ch'],'right','left','bottom'); pg_logo ------------------------------------------------------- +---------------------------------------------------+ | ____ ______ ___ | | / )/ \/ \ | | ( / __ _\ ) | | \ (/ o) ( o) ) | | \_ (_ ) \ ) _/ | | \ /\_/ \)/ Swiss PGDay 2016 | | \/ <//| |\\> 24.06.2016 - HSR Rapperswil | | _| | Switzerland | | \|_/ http://www.pgday.ch | | | +---------------------------------------------------+ (12 rows) And all other combinations, e.g. Put text below the pic and left aligned without frame: select pg_logo(false,ARRAY['Swiss PGDay 2016','24.06.2016 - HSR Rapperswil','Switzerland','http://www.pgday.ch'],'bottom','left'); pg_logo ----------------------------- ____ ______ ___ / )/ \/ \ ( / __ _\ ) \ (/ o) ( o) ) \_ (_ ) \ ) _/ \ /\_/ \)/ \/ <//| |\\> _| | \|_/ Swiss PGDay 2016 24.06.2016 - HSR Rapperswil Switzerland http://www.pgday.ch (14 rows) > > Karsten > -- > GPG key ID E4071346 @ eu.pool.sks-keyservers.net > E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346 > > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general
Вложения
В списке pgsql-general по дате отправления:
Следующее
От: "David G. Johnston"Дата:
Сообщение: Re: FIRST_VALUE argument must appear in group by?