Re: Finer Extension dependencies
Alvaro Herrera <alvherre@commandprompt.com>
From: Alvaro Herrera <alvherre@commandprompt.com>
To: Dimitri Fontaine <dimitri@2ndquadrant.fr>
Cc: Hitoshi Harada <umi.tanuki@gmail.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2012-03-23T14:30:04Z
Lists: pgsql-hackers
Excerpts from Dimitri Fontaine's message of vie mar 23 11:05:37 -0300 2012: > =# \d pg_extension_feature > Table "pg_catalog.pg_extension_feature" > Column | Type | Modifiers > ------------+------+----------- > extoid | oid | not null > extfeature | name | not null > Indexes: > "pg_extension_feature_name_index" UNIQUE, btree (extfeature) > "pg_extension_feature_oid_index" UNIQUE, btree (oid) > "pg_extension_feature_extoid_name_index" btree (extoid, extfeature) > > We could maybe get rid of the (extoid, extfeature) index which is only > used to get sorted output in list_extension_features() function, but I > don't know how to do an ORDER BY scan without index in C (yet). > > The ordering is then used to maintain pg_depend when the list of > provided features changes at upgrade time. We fetch the ordered list of > “old” feature names then for each newly provided feature name we > bsearch() the old list, which then needs to be properly ordered. Hm, couldn't it be done simply with a qsort()? Presumably there aren't many feature entries to sort ... -- Álvaro Herrera <alvherre@commandprompt.com> The PostgreSQL Company - Command Prompt, Inc. PostgreSQL Replication, Consulting, Custom Development, 24x7 support