mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-01 15:41:18 +02:00
Make a no-op ALTER EXTENSION UPDATE give just a NOTICE, not ERROR.
This seems a bit more user-friendly.
This commit is contained in:
parent
b4a7e5980b
commit
65076269ea
@ -1035,11 +1035,6 @@ identify_update_path(ExtensionControlFile *control,
|
|||||||
ExtensionVersionInfo *evi_start;
|
ExtensionVersionInfo *evi_start;
|
||||||
ExtensionVersionInfo *evi_target;
|
ExtensionVersionInfo *evi_target;
|
||||||
|
|
||||||
if (strcmp(oldVersion, newVersion) == 0)
|
|
||||||
ereport(ERROR,
|
|
||||||
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
|
|
||||||
errmsg("version to install or update to must be different from old version")));
|
|
||||||
|
|
||||||
/* Extract the version update graph from the script directory */
|
/* Extract the version update graph from the script directory */
|
||||||
evi_list = get_ext_ver_list(control);
|
evi_list = get_ext_ver_list(control);
|
||||||
|
|
||||||
@ -1262,6 +1257,12 @@ CreateExtension(CreateExtensionStmt *stmt)
|
|||||||
oldVersionName = strVal(d_old_version->arg);
|
oldVersionName = strVal(d_old_version->arg);
|
||||||
check_valid_version_name(oldVersionName);
|
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,
|
updateVersions = identify_update_path(pcontrol,
|
||||||
oldVersionName,
|
oldVersionName,
|
||||||
versionName);
|
versionName);
|
||||||
@ -2464,6 +2465,17 @@ ExecAlterExtensionStmt(AlterExtensionStmt *stmt)
|
|||||||
}
|
}
|
||||||
check_valid_version_name(versionName);
|
check_valid_version_name(versionName);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If we're already at that version, just say so
|
||||||
|
*/
|
||||||
|
if (strcmp(oldVersionName, versionName) == 0)
|
||||||
|
{
|
||||||
|
ereport(NOTICE,
|
||||||
|
(errmsg("version \"%s\" of extension \"%s\" is already installed",
|
||||||
|
versionName, stmt->extname)));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Identify the series of update script files we need to execute
|
* Identify the series of update script files we need to execute
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user