Hi, 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. -- Thom
fix_domain_logic.patch
Description: Binary data
-- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers