pgsql: Allow CREATE EXTENSION to follow extension update paths.
От | Tom Lane |
---|---|
Тема | pgsql: Allow CREATE EXTENSION to follow extension update paths. |
Дата | |
Msg-id | E1bj9He-00073p-IY@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Allow CREATE EXTENSION to follow extension update paths. Previously, to update an extension you had to produce both a version-update script and a new base installation script. It's become more and more obvious that that's tedious, duplicative, and error-prone. This patch attempts to improve matters by allowing the new base installation script to be omitted. CREATE EXTENSION will install a requested version if it can find a base script and a chain of update scripts that will get there. As in the existing update logic, shorter chains are preferred if there's more than one possibility, with an arbitrary tie-break rule for chains of equal length. Also adjust the pg_available_extension_versions view to show such versions as installable. While at it, refactor the code so that CASCADE processing works for extensions requested during ApplyExtensionUpdates(). Without this, addition of a new requirement in an updated extension would require creating a new base script, even if there was no other reason to do that. (It would be easy at this point to add a CASCADE option to ALTER EXTENSION UPDATE, to allow the same thing to happen during a manually-commanded version update, but I have not done that here.) Tom Lane, reviewed by Andres Freund Discussion: <20160905005919.jz2m2yh3und2dsuy@alap3.anarazel.de> Branch ------ master Details ------- http://git.postgresql.org/pg/commitdiff/40b449ae84dcf71177d7749a7b0c582b64dc15f0 Modified Files -------------- doc/src/sgml/extend.sgml | 41 +++ src/backend/commands/extension.c | 608 +++++++++++++++++++++++++-------------- 2 files changed, 439 insertions(+), 210 deletions(-)
В списке pgsql-committers по дате отправления: