Clarify error message and documentation related to typed tables.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 26 Jul 2024 16:39:45 +0000 (12:39 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 26 Jul 2024 16:39:45 +0000 (12:39 -0400)
commit5d1d8b3c82c2a796bf7d89f2a5785ce9424acab1
treed6151a5c5b809bcfd9653d9d6ec658749abbc15c
parentc883453cb29cb40c1e59c3c54d159c5e744da8a9
Clarify error message and documentation related to typed tables.

We restrict typed tables (those declared as "OF composite_type")
to be based on stand-alone composite types, not composite types
that are the implicitly-created rowtypes of other tables.
But if you tried to do that, you got the very confusing error
message "type foo is not a composite type".  Provide a more specific
message for that case.  Also clarify related documentation in the
CREATE TABLE man page.

Erik Wienhold and David G. Johnston, per complaint from Hannu Krosing.

Discussion: http://postgr.es/m/CAMT0RQRysCb_Amy5CTENSc5GfsvXL1a4qX3mv_hx31_v74P==g@mail.gmail.com
doc/src/sgml/ref/create_table.sgml
src/backend/commands/tablecmds.c
src/test/regress/expected/typed_table.out
src/test/regress/sql/typed_table.sql