diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/commands/extension.c | 70 | ||||
-rw-r--r-- | src/backend/parser/gram.y | 7 | ||||
-rw-r--r-- | src/pl/plperl/GNUmakefile | 4 | ||||
-rw-r--r-- | src/pl/plperl/plperl--unpackaged--1.0.sql | 7 | ||||
-rw-r--r-- | src/pl/plperl/plperlu--unpackaged--1.0.sql | 7 | ||||
-rw-r--r-- | src/pl/plpgsql/src/Makefile | 2 | ||||
-rw-r--r-- | src/pl/plpgsql/src/plpgsql--unpackaged--1.0.sql | 7 | ||||
-rw-r--r-- | src/pl/plpython/Makefile | 4 | ||||
-rw-r--r-- | src/pl/plpython/plpython2u--unpackaged--1.0.sql | 7 | ||||
-rw-r--r-- | src/pl/plpython/plpython3u--unpackaged--1.0.sql | 7 | ||||
-rw-r--r-- | src/pl/plpython/plpythonu--unpackaged--1.0.sql | 7 | ||||
-rw-r--r-- | src/pl/tcl/Makefile | 4 | ||||
-rw-r--r-- | src/pl/tcl/pltcl--unpackaged--1.0.sql | 5 | ||||
-rw-r--r-- | src/pl/tcl/pltclu--unpackaged--1.0.sql | 5 | ||||
-rw-r--r-- | src/test/modules/test_parser/Makefile | 2 | ||||
-rw-r--r-- | src/test/modules/test_parser/test_parser--unpackaged--1.0.sql | 10 |
16 files changed, 16 insertions, 139 deletions
diff --git a/src/backend/commands/extension.c b/src/backend/commands/extension.c index ddd46f4e2f5..a0db7db411b 100644 --- a/src/backend/commands/extension.c +++ b/src/backend/commands/extension.c @@ -1357,7 +1357,6 @@ static ObjectAddress CreateExtensionInternal(char *extensionName, char *schemaName, const char *versionName, - const char *oldVersionName, bool cascade, List *parents, bool is_create) @@ -1367,6 +1366,8 @@ CreateExtensionInternal(char *extensionName, Oid extowner = GetUserId(); ExtensionControlFile *pcontrol; ExtensionControlFile *control; + char *filename; + struct stat fst; List *updateVersions; List *requiredExtensions; List *requiredSchemas; @@ -1401,56 +1402,6 @@ CreateExtensionInternal(char *extensionName, * does what is needed, we try to find a sequence of update scripts that * will get us there. */ - if (oldVersionName) - { - /* - * "FROM old_version" was specified, indicating that we're trying to - * update from some unpackaged version of the extension. Locate a - * series of update scripts that will do it. - */ - check_valid_version_name(oldVersionName); - - if (strcmp(oldVersionName, versionName) == 0) - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("FROM version must be different from installation target version \"%s\"", - versionName))); - - updateVersions = identify_update_path(pcontrol, - oldVersionName, - versionName); - - if (list_length(updateVersions) == 1) - { - /* - * Simple case where there's just one update script to run. We - * will not need any follow-on update steps. - */ - Assert(strcmp((char *) linitial(updateVersions), versionName) == 0); - updateVersions = NIL; - } - else - { - /* - * Multi-step sequence. We treat this as installing the version - * that is the target of the first script, followed by successive - * updates to the later versions. - */ - versionName = (char *) linitial(updateVersions); - updateVersions = list_delete_first(updateVersions); - } - } - else - { - /* - * No FROM, so we're installing from scratch. If there is an install - * script for the desired version, we only need to run that one. - */ - char *filename; - struct stat fst; - - oldVersionName = NULL; - filename = get_extension_script_filename(pcontrol, NULL, versionName); if (stat(filename, &fst) == 0) { @@ -1484,7 +1435,6 @@ CreateExtensionInternal(char *extensionName, /* Otherwise, install best starting point and then upgrade */ versionName = evi_start->name; } - } /* * Fetch control parameters for installation target version @@ -1624,7 +1574,7 @@ CreateExtensionInternal(char *extensionName, * Execute the installation script file */ execute_extension_script(extensionOid, control, - oldVersionName, versionName, + NULL, versionName, requiredSchemas, schemaName, schemaOid); @@ -1691,7 +1641,6 @@ get_required_extension(char *reqExtensionName, addr = CreateExtensionInternal(reqExtensionName, origSchemaName, NULL, - NULL, cascade, cascade_parents, is_create); @@ -1719,11 +1668,9 @@ CreateExtension(ParseState *pstate, CreateExtensionStmt *stmt) { DefElem *d_schema = NULL; DefElem *d_new_version = NULL; - DefElem *d_old_version = NULL; DefElem *d_cascade = NULL; char *schemaName = NULL; char *versionName = NULL; - char *oldVersionName = NULL; bool cascade = false; ListCell *lc; @@ -1787,16 +1734,6 @@ CreateExtension(ParseState *pstate, CreateExtensionStmt *stmt) d_new_version = defel; versionName = defGetString(d_new_version); } - else if (strcmp(defel->defname, "old_version") == 0) - { - if (d_old_version) - ereport(ERROR, - (errcode(ERRCODE_SYNTAX_ERROR), - errmsg("conflicting or redundant options"), - parser_errposition(pstate, defel->location))); - d_old_version = defel; - oldVersionName = defGetString(d_old_version); - } else if (strcmp(defel->defname, "cascade") == 0) { if (d_cascade) @@ -1815,7 +1752,6 @@ CreateExtension(ParseState *pstate, CreateExtensionStmt *stmt) return CreateExtensionInternal(stmt->extname, schemaName, versionName, - oldVersionName, cascade, NIL, true); diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 1b0edf5d3d1..96e7fdbcfe2 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -4460,7 +4460,7 @@ DropTableSpaceStmt: DROP TABLESPACE name * * QUERY: * CREATE EXTENSION extension - * [ WITH ] [ SCHEMA schema ] [ VERSION version ] [ FROM oldversion ] + * [ WITH ] [ SCHEMA schema ] [ VERSION version ] * *****************************************************************************/ @@ -4500,7 +4500,10 @@ create_extension_opt_item: } | FROM NonReservedWord_or_Sconst { - $$ = makeDefElem("old_version", (Node *)makeString($2), @1); + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("CREATE EXTENSION ... FROM is no longer supported"), + parser_errposition(@1))); } | CASCADE { diff --git a/src/pl/plperl/GNUmakefile b/src/pl/plperl/GNUmakefile index e4d0a0bf32e..919d46453f6 100644 --- a/src/pl/plperl/GNUmakefile +++ b/src/pl/plperl/GNUmakefile @@ -27,8 +27,8 @@ NAME = plperl OBJS = plperl.o SPI.o Util.o $(WIN32RES) -DATA = plperl.control plperl--1.0.sql plperl--unpackaged--1.0.sql \ - plperlu.control plperlu--1.0.sql plperlu--unpackaged--1.0.sql +DATA = plperl.control plperl--1.0.sql \ + plperlu.control plperlu--1.0.sql PERLCHUNKS = plc_perlboot.pl plc_trusted.pl diff --git a/src/pl/plperl/plperl--unpackaged--1.0.sql b/src/pl/plperl/plperl--unpackaged--1.0.sql deleted file mode 100644 index 5e097c443db..00000000000 --- a/src/pl/plperl/plperl--unpackaged--1.0.sql +++ /dev/null @@ -1,7 +0,0 @@ -/* src/pl/plperl/plperl--unpackaged--1.0.sql */ - -ALTER EXTENSION plperl ADD LANGUAGE plperl; --- ALTER ADD LANGUAGE doesn't pick up the support functions, so we have to. -ALTER EXTENSION plperl ADD FUNCTION plperl_call_handler(); -ALTER EXTENSION plperl ADD FUNCTION plperl_inline_handler(internal); -ALTER EXTENSION plperl ADD FUNCTION plperl_validator(oid); diff --git a/src/pl/plperl/plperlu--unpackaged--1.0.sql b/src/pl/plperl/plperlu--unpackaged--1.0.sql deleted file mode 100644 index 36de1ddf49e..00000000000 --- a/src/pl/plperl/plperlu--unpackaged--1.0.sql +++ /dev/null @@ -1,7 +0,0 @@ -/* src/pl/plperl/plperlu--unpackaged--1.0.sql */ - -ALTER EXTENSION plperlu ADD LANGUAGE plperlu; --- ALTER ADD LANGUAGE doesn't pick up the support functions, so we have to. -ALTER EXTENSION plperlu ADD FUNCTION plperlu_call_handler(); -ALTER EXTENSION plperlu ADD FUNCTION plperlu_inline_handler(internal); -ALTER EXTENSION plperlu ADD FUNCTION plperlu_validator(oid); diff --git a/src/pl/plpgsql/src/Makefile b/src/pl/plpgsql/src/Makefile index 0efa1caae23..70a9c34367f 100644 --- a/src/pl/plpgsql/src/Makefile +++ b/src/pl/plpgsql/src/Makefile @@ -28,7 +28,7 @@ OBJS = \ pl_handler.o \ pl_scanner.o -DATA = plpgsql.control plpgsql--1.0.sql plpgsql--unpackaged--1.0.sql +DATA = plpgsql.control plpgsql--1.0.sql REGRESS_OPTS = --dbname=$(PL_TESTDB) diff --git a/src/pl/plpgsql/src/plpgsql--unpackaged--1.0.sql b/src/pl/plpgsql/src/plpgsql--unpackaged--1.0.sql deleted file mode 100644 index 15a74f091d6..00000000000 --- a/src/pl/plpgsql/src/plpgsql--unpackaged--1.0.sql +++ /dev/null @@ -1,7 +0,0 @@ -/* src/pl/plpgsql/src/plpgsql--unpackaged--1.0.sql */ - -ALTER EXTENSION plpgsql ADD LANGUAGE plpgsql; --- ALTER ADD LANGUAGE doesn't pick up the support functions, so we have to. -ALTER EXTENSION plpgsql ADD FUNCTION plpgsql_call_handler(); -ALTER EXTENSION plpgsql ADD FUNCTION plpgsql_inline_handler(internal); -ALTER EXTENSION plpgsql ADD FUNCTION plpgsql_validator(oid); diff --git a/src/pl/plpython/Makefile b/src/pl/plpython/Makefile index 0d53d3d7707..9e95285af89 100644 --- a/src/pl/plpython/Makefile +++ b/src/pl/plpython/Makefile @@ -34,9 +34,9 @@ OBJS = \ plpy_typeio.o \ plpy_util.o -DATA = $(NAME)u.control $(NAME)u--1.0.sql $(NAME)u--unpackaged--1.0.sql +DATA = $(NAME)u.control $(NAME)u--1.0.sql ifeq ($(python_majorversion),2) -DATA += plpythonu.control plpythonu--1.0.sql plpythonu--unpackaged--1.0.sql +DATA += plpythonu.control plpythonu--1.0.sql endif # header files to install - it's not clear which of these might be needed diff --git a/src/pl/plpython/plpython2u--unpackaged--1.0.sql b/src/pl/plpython/plpython2u--unpackaged--1.0.sql deleted file mode 100644 index 6efa2dbad93..00000000000 --- a/src/pl/plpython/plpython2u--unpackaged--1.0.sql +++ /dev/null @@ -1,7 +0,0 @@ -/* src/pl/plpython/plpython2u--unpackaged--1.0.sql */ - -ALTER EXTENSION plpython2u ADD LANGUAGE plpython2u; --- ALTER ADD LANGUAGE doesn't pick up the support functions, so we have to. -ALTER EXTENSION plpython2u ADD FUNCTION plpython2_call_handler(); -ALTER EXTENSION plpython2u ADD FUNCTION plpython2_inline_handler(internal); -ALTER EXTENSION plpython2u ADD FUNCTION plpython2_validator(oid); diff --git a/src/pl/plpython/plpython3u--unpackaged--1.0.sql b/src/pl/plpython/plpython3u--unpackaged--1.0.sql deleted file mode 100644 index fb8d3d6a652..00000000000 --- a/src/pl/plpython/plpython3u--unpackaged--1.0.sql +++ /dev/null @@ -1,7 +0,0 @@ -/* src/pl/plpython/plpython3u--unpackaged--1.0.sql */ - -ALTER EXTENSION plpython3u ADD LANGUAGE plpython3u; --- ALTER ADD LANGUAGE doesn't pick up the support functions, so we have to. -ALTER EXTENSION plpython3u ADD FUNCTION plpython3_call_handler(); -ALTER EXTENSION plpython3u ADD FUNCTION plpython3_inline_handler(internal); -ALTER EXTENSION plpython3u ADD FUNCTION plpython3_validator(oid); diff --git a/src/pl/plpython/plpythonu--unpackaged--1.0.sql b/src/pl/plpython/plpythonu--unpackaged--1.0.sql deleted file mode 100644 index 16b828f2fed..00000000000 --- a/src/pl/plpython/plpythonu--unpackaged--1.0.sql +++ /dev/null @@ -1,7 +0,0 @@ -/* src/pl/plpython/plpythonu--unpackaged--1.0.sql */ - -ALTER EXTENSION plpythonu ADD LANGUAGE plpythonu; --- ALTER ADD LANGUAGE doesn't pick up the support functions, so we have to. -ALTER EXTENSION plpythonu ADD FUNCTION plpython_call_handler(); -ALTER EXTENSION plpythonu ADD FUNCTION plpython_inline_handler(internal); -ALTER EXTENSION plpythonu ADD FUNCTION plpython_validator(oid); diff --git a/src/pl/tcl/Makefile b/src/pl/tcl/Makefile index 9e315dee6a7..1e7740da3fb 100644 --- a/src/pl/tcl/Makefile +++ b/src/pl/tcl/Makefile @@ -26,8 +26,8 @@ OBJS = \ $(WIN32RES) \ pltcl.o -DATA = pltcl.control pltcl--1.0.sql pltcl--unpackaged--1.0.sql \ - pltclu.control pltclu--1.0.sql pltclu--unpackaged--1.0.sql +DATA = pltcl.control pltcl--1.0.sql \ + pltclu.control pltclu--1.0.sql REGRESS_OPTS = --dbname=$(PL_TESTDB) --load-extension=pltcl REGRESS = pltcl_setup pltcl_queries pltcl_trigger pltcl_call pltcl_start_proc pltcl_subxact pltcl_unicode pltcl_transaction diff --git a/src/pl/tcl/pltcl--unpackaged--1.0.sql b/src/pl/tcl/pltcl--unpackaged--1.0.sql deleted file mode 100644 index 294125892af..00000000000 --- a/src/pl/tcl/pltcl--unpackaged--1.0.sql +++ /dev/null @@ -1,5 +0,0 @@ -/* src/pl/tcl/pltcl--unpackaged--1.0.sql */ - -ALTER EXTENSION pltcl ADD LANGUAGE pltcl; --- ALTER ADD LANGUAGE doesn't pick up the support functions, so we have to. -ALTER EXTENSION pltcl ADD FUNCTION pltcl_call_handler(); diff --git a/src/pl/tcl/pltclu--unpackaged--1.0.sql b/src/pl/tcl/pltclu--unpackaged--1.0.sql deleted file mode 100644 index dac18f8d87b..00000000000 --- a/src/pl/tcl/pltclu--unpackaged--1.0.sql +++ /dev/null @@ -1,5 +0,0 @@ -/* src/pl/tcl/pltclu--unpackaged--1.0.sql */ - -ALTER EXTENSION pltclu ADD LANGUAGE pltclu; --- ALTER ADD LANGUAGE doesn't pick up the support functions, so we have to. -ALTER EXTENSION pltclu ADD FUNCTION pltclu_call_handler(); diff --git a/src/test/modules/test_parser/Makefile b/src/test/modules/test_parser/Makefile index 71eb38de6db..5327080376e 100644 --- a/src/test/modules/test_parser/Makefile +++ b/src/test/modules/test_parser/Makefile @@ -7,7 +7,7 @@ OBJS = \ PGFILEDESC = "test_parser - example of a custom parser for full-text search" EXTENSION = test_parser -DATA = test_parser--1.0.sql test_parser--unpackaged--1.0.sql +DATA = test_parser--1.0.sql REGRESS = test_parser diff --git a/src/test/modules/test_parser/test_parser--unpackaged--1.0.sql b/src/test/modules/test_parser/test_parser--unpackaged--1.0.sql deleted file mode 100644 index 9ebc4b3fbee..00000000000 --- a/src/test/modules/test_parser/test_parser--unpackaged--1.0.sql +++ /dev/null @@ -1,10 +0,0 @@ -/* src/test/modules/test_parser/test_parser--unpackaged--1.0.sql */ - --- complain if script is sourced in psql, rather than via CREATE EXTENSION -\echo Use "CREATE EXTENSION test_parser FROM unpackaged" to load this file. \quit - -ALTER EXTENSION test_parser ADD function testprs_start(internal,integer); -ALTER EXTENSION test_parser ADD function testprs_getlexeme(internal,internal,internal); -ALTER EXTENSION test_parser ADD function testprs_end(internal); -ALTER EXTENSION test_parser ADD function testprs_lextype(internal); -ALTER EXTENSION test_parser ADD text search parser testparser; |