Re: Finer Extension dependencies
От | Dimitri Fontaine |
---|---|
Тема | Re: Finer Extension dependencies |
Дата | |
Msg-id | 87d383pg3y.fsf@hi-media-techno.com обсуждение исходный текст |
Ответ на | Re: Finer Extension dependencies (Dimitri Fontaine <dimitri@2ndQuadrant.fr>) |
Ответы |
Re: Finer Extension dependencies
|
Список | pgsql-hackers |
Dimitri Fontaine <dimitri@2ndQuadrant.fr> writes: > Alvaro Herrera <alvherre@commandprompt.com> writes: >> Hmm .. feature names should be globally unique, right? If so I think >> you're missing an UNIQUE index on the new catalog, covering just the >> feature name. You have a two column index (extoid, featurename), so you >> could have two different extensions providing the same feature. Please find v5 of the patch attached, where =# \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. Regards, -- Dimitri Fontaine http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support
Вложения
В списке pgsql-hackers по дате отправления: