Arrays for domain types

Started by Peter Eisentrautabout 23 years ago2 messages
#1Peter Eisentraut
peter_e@gmx.net

While playing around with a preliminary version of the information schema
I get a failure in the type_sanity regression test here:

-- Look for basic types that don't have an array type.
-- NOTE: as of 7.3, this check finds SET, smgr, and unknown.

SELECT p1.oid, p1.typname
FROM pg_type as p1
WHERE p1.typtype in ('b','d') AND p1.typname NOT LIKE '\\_%' AND NOT
EXISTS
(SELECT 1 FROM pg_type as p2
WHERE p2.typname = ('_' || p1.typname)::name AND
p2.typelem = p1.oid);

The information schema contains a couple of domains, but apparently no
arrays are generated for those. How is that supposed to be fixed?

--
Peter Eisentraut peter_e@gmx.net

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Peter Eisentraut (#1)
Re: Arrays for domain types

Peter Eisentraut <peter_e@gmx.net> writes:

While playing around with a preliminary version of the information schema
I get a failure in the type_sanity regression test here:

SELECT p1.oid, p1.typname
FROM pg_type as p1
WHERE p1.typtype in ('b','d') AND p1.typname NOT LIKE '\\_%' AND NOT
EXISTS
(SELECT 1 FROM pg_type as p2
WHERE p2.typname = ('_' || p1.typname)::name AND
p2.typelem = p1.oid);

For the moment I'd suggest backing off the regression test from
p1.typtype in ('b','d')
to
p1.typtype in ('b')
Probably eventually CREATE DOMAIN ought to create an associated array
type, but it's not really your problem if it doesn't ...

regards, tom lane