Thread: [MASSMAIL]three small improvements for "Composite Types" page

[MASSMAIL]three small improvements for "Composite Types" page

From
Anton Voloshin
Date:
Hello,

While reading "Composite Types" manual page I've noticed that it is
somewhat hard to follow by trying out given examples. I suggest three
small changes which would make this page a little easier to follow for
me:

1. Clarify "different kind" by adding a link to a section of "create
type" page

 > Note that the AS keyword is essential; without it, the system will 
think a different kind of CREATE TYPE command is meant, and you will get 
odd syntax errors.

Here there is no link to CREATE TYPE, so it's not so easy to go there to
see what is that "different kind" of CREATE TYPE. I suggest to add an
anchor for the "Base Types" section there and link the words "different
kind" there.

2. make first mention of CREATE TABLE a link

 > The syntax is comparable to CREATE TABLE, except ...

It would be useful if this CREATE TABLE (first on this page) would
become a link.

3. Simplify CREATE TABLE example to make it self-sufficient

One of the examples on the same "Composite Types" page is an example of
CREATE TABLE:

CREATE TABLE inventory_item (
     name            text,
     supplier_id     integer REFERENCES suppliers,
     price           numeric CHECK (price > 0)
);

This example is not self-sufficient: it requires one to have "suppliers"
table with specific column to work as given. This table is actively used
in examples below, like
SELECT * FROM inventory_item c ORDER BY c;
and many others, so I think it's important to make this example easy to
reproduce. It seems to me that loosing "REFERENCES suppliers", while
loses something a bit interesting, adds something more important:
simplicity for the newcomers. So I suggest removing this part.

Please see attached patches as an example of these three changes.

Any comments? Do you think this is an improvement?

-- 
Anton Voloshin
Postgres Professional, The Russian Postgres Company
https://postgrespro.ru
Attachment

Re: three small improvements for "Composite Types" page

From
"David G. Johnston"
Date:
On Fri, Apr 12, 2024 at 1:20 PM Anton Voloshin <a.voloshin@postgrespro.ru> wrote:
Hello,

While reading "Composite Types" manual page I've noticed that it is
somewhat hard to follow by trying out given examples. I suggest three
small changes which would make this page a little easier to follow for
me:

1. Clarify "different kind" by adding a link to a section of "create
type" page

 > Note that the AS keyword is essential; without it, the system will
think a different kind of CREATE TYPE command is meant, and you will get
odd syntax errors.

 
Here there is no link to CREATE TYPE, so it's not so easy to go there to
see what is that "different kind" of CREATE TYPE. I suggest to add an
anchor for the "Base Types" section there and link the words "different
kind" there.

I'd much prefer to leave "different kind" alone and turn the immediately following, first-on-the-page, instance of CREATE TYPE into a link.

 2. make first mention of CREATE TABLE a link

 > The syntax is comparable to CREATE TABLE, except ...

It would be useful if this CREATE TABLE (first on this page) would
become a link.

I'm not all that convinced of that particular usefulness but also don't see it hurting either.

 
3. Simplify CREATE TABLE example to make it self-sufficient

One of the examples on the same "Composite Types" page is an example of
CREATE TABLE:

CREATE TABLE inventory_item (
     name            text,
     supplier_id     integer REFERENCES suppliers,
     price           numeric CHECK (price > 0)
);

This example is not self-sufficient: it requires one to have "suppliers"
table with specific column to work as given.

Agreed.

David J.

Re: three small improvements for "Composite Types" page

From
Anton Voloshin
Date:
On 12/04/2024 23:44, David G. Johnston wrote:
> I'd much prefer to leave "different kind" alone and turn the immediately 
> following, first-on-the-page, instance of CREATE TYPE into a link.

Good, I'm fine with that too.

>   2. make first mention of CREATE TABLE a link
> [...] > I'm not all that convinced of that particular usefulness but also don't
> see it hurting either.

Thanks. I do think it's useful when one reads this page separately (not 
as a part of sequential read-through).

>     3. Simplify CREATE TABLE example to make it self-sufficient
> [...]
> Agreed.

Thanks. I've updated the patches correspondingly.

-- 
Anton Voloshin
Postgres Professional, The Russian Postgres Company
https://postgrespro.ru
Attachment