I noticed that if I create a domain based on an array data type, it
doesn't get listed in the Domains node if the server is 9.1. This is
because the query that gets the domains says that if the number of
dimensions used is greater than 0 (which it will be if it's an array),
then it must match against the OID shown in typelem. As of 9.1 that's
no longer the case as typelem isn't used for domains anymore, although
I don't see why this was ever used by PgAdmin to get a list of domains
as it copes fine without this logic since typbasetype always provides
the necessary info. Is the constituent base type of the array type
relevant anywhere in the domains section of PgAdmin? I can't find any
place it actually uses it.
The attached patch removes the join logic completely to make it a
straightforward join. From what I can tell (testing it against 8.4),
everything continues to work as usual, and now allows array-based
domains to be visible for 9.1 instances.
Could someone take a look, and see if there are cases this might
break? In any case, a fix is needed.
pgadmin-hackers by date
|Next:||From: Dave Page||Date: 2012-04-23 08:12:37|
|Subject: Re: Remaining work for 1.16|
|Previous:||From: Guillaume Lelarge||Date: 2012-04-21 18:08:00|
|Subject: Remaining work for 1.16|