diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2023-03-09 08:09:40 +0100 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2023-03-09 08:09:40 +0100 |
commit | 544b452a5a598dd14d7a38d15a778932e58d18b0 (patch) | |
tree | bc858434d3f6eccca26ff0e1d08e7e55b04718be /src/backend/commands/collationcmds.c | |
parent | b6dfee28f2b44e28b123b77a91fb05c47da63501 (diff) | |
download | postgresql-544b452a5a598dd14d7a38d15a778932e58d18b0.tar.gz postgresql-544b452a5a598dd14d7a38d15a778932e58d18b0.zip |
Disallow specifying ICU rules unless locale provider is ICU
Follow-up for 30a53b7929; this was not checked in all cases.
Reported-by: Jeff Davis <pgsql@j-davis.com>
Diffstat (limited to 'src/backend/commands/collationcmds.c')
-rw-r--r-- | src/backend/commands/collationcmds.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/backend/commands/collationcmds.c b/src/backend/commands/collationcmds.c index c51e3afdb4c..8949684afe1 100644 --- a/src/backend/commands/collationcmds.c +++ b/src/backend/commands/collationcmds.c @@ -271,6 +271,11 @@ DefineCollation(ParseState *pstate, List *names, List *parameters, bool if_not_e (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("nondeterministic collations not supported with this provider"))); + if (collicurules && collprovider != COLLPROVIDER_ICU) + ereport(ERROR, + (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), + errmsg("ICU rules cannot be specified unless locale provider is ICU"))); + if (collprovider == COLLPROVIDER_ICU) { #ifdef USE_ICU |