Re: "format" function documentation fix

From: Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com>
To: rudolf <stu3(dot)1(at)eq(dot)cz>
Cc: pgsql-docs(at)postgresql(dot)org
Subject: Re: "format" function documentation fix
Date: 2013-09-17 10:41:15
Message-ID: CAEZATCWKDeMCs-=n65ZyHS2jTLc_b=0gn7HPKEAkoOGn+O5T_w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

On 17 September 2013 10:00, rudolf <stu3(dot)1(at)eq(dot)cz> wrote:
> (Please CC me the reply, since I'm not subscribed to the list.)
>
> Dean Rasheed wrote:
>>
>> On 14 September 2013 09:29, rudolf <stu3(dot)1(at)eq(dot)cz> wrote:
>>>
>>> The last example from
>>>
>>> http://www.postgresql.org/docs/9.3/static/functions-string.html#FUNCTIONS-STRING-FORMAT
>>> - "examples using width fields and the - flag" seems to be incorrect, see
>>> the attached patch.
>>
>>
>> No, the example is correct. Referring to the documentation above that:
>>
>> If the width argument is negative, the result is left aligned (as
>> if the - flag had been specified) ...
>>
>> This applies even if the "-" flag is also specified. So the last
>> example is meant to illustrate that 2 minuses don't make a plus here.
>
>
> That's very unusual, IMO. This behavior follows some SQL standard or is it
> an invention of PostgreSQL?
>

It's not part of the SQL standard, but it is based on C printf() and
friends from the Single UNIX Specification, see for example
http://pubs.opengroup.org/onlinepubs/7908799/xsh/fprintf.html

My reading of that is that "-" is to be treated as a flag, not as a
minus sign, so specifying it multiple times has the same effect as
specifying it once. On my linux box, the following both produce
left-justified output:

printf("'%-10s'\n", "foo");
printf("'%--10s'\n", "foo");

Regards,
Dean

In response to

Browse pgsql-docs by date

  From Date Subject
Next Message Pavel Stehule 2013-09-18 19:46:48 Re: "format" function documentation fix
Previous Message rudolf 2013-09-17 09:00:48 Re: "format" function documentation fix