Re: [DOCS] 4.2.9. Type Casts - documentation improvement - Mailing list pgsql-docs

From David G. Johnston
Subject Re: [DOCS] 4.2.9. Type Casts - documentation improvement
Date
Msg-id CAKFQuwaphoAhM40ywBXhJUnZQhTFvYp8D_rmiJwNkiCyiCL_iw@mail.gmail.com
Whole thread Raw
In response to Re: [DOCS] 4.2.9. Type Casts - documentation improvement  (Steve Atkins <steve@blighty.com>)
List pgsql-docs
On Tue, Sep 12, 2017 at 4:14 PM, Steve Atkins <steve@blighty.com> wrote:

> On Sep 12, 2017, at 3:33 PM, Bruce Momjian <bruce@momjian.us> wrote:
>
> On Tue, Sep  5, 2017 at 02:17:12AM +0000, artejera@gmail.com wrote:
>> The following documentation comment has been logged on the website:
>>
>> Page: https://www.postgresql.org/docs/9.2/static/sql-syntax.html
>> Description:
>>
>> Hi,
>>
>> There seems to be no explicit documentation of the useful construct:
>>
>> Select tt.*::text from tt
>>
>> Also related:  4.2.13. Row Constructors
>>
>> Congrats for your project. Yours AT
>
> Woh, I was not aware that worked, e.g.:
>
>       test=> SELECT pg_language.*::text FROM pg_language;
>                    pg_language
>       -------------------------------------
>        (internal,10,f,f,0,0,2246,)
>        (c,10,f,f,0,0,2247,)
>        (sql,10,f,t,0,0,2248,)
>        (plpgsql,10,t,t,12319,12320,12321,)
>
> Any idea where this should be documented.   It is useful?

It's the output format of a composite type, isn't it?

steve=# select pg_language from pg_language;
             pg_language
-------------------------------------
 (internal,10,f,f,0,0,2246,)
 (c,10,f,f,0,0,2247,)
 (sql,10,f,t,0,0,2248,)
 (plpgsql,10,t,t,12656,12657,12658,)
(4 rows)

https://www.postgresql.org/docs/current/static/rowtypes.html might be the place to expand on it, if so. (And converting to hstore or json or csv are other useful things to discuss too, maybe).

​​Put another way, the .* is unnecessary - an artifact of parsing implementation allows it to be present.

For me, "compositetype::text" casting, while not explicitly elaborated upon in our documentation, makes sense given that one can reasonably assume that (probably) all data types can be round-trip casted to text.  The text representation of a composite type is documented.

I cannot think of anything that the docs need to become more complete in this area; and they don't purport to be a "teacher of useful techniques" in the application of SQL.  While I've complained about the lack of "why" discussion in the docs there is merit in focusing them on "what" and "how" and leaving why to alternative mediums - ones whose release cycles are more flexible and don't require a hacker to commit.

David J.
​​

pgsql-docs by date:

Previous
From: Steve Atkins
Date:
Subject: Re: [DOCS] 4.2.9. Type Casts - documentation improvement
Next
From: Tom Lane
Date:
Subject: Re: [DOCS] 4.2.9. Type Casts - documentation improvement