aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/collationcmds.c
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2023-03-09 08:09:40 +0100
committerPeter Eisentraut <peter@eisentraut.org>2023-03-09 08:09:40 +0100
commit544b452a5a598dd14d7a38d15a778932e58d18b0 (patch)
treebc858434d3f6eccca26ff0e1d08e7e55b04718be /src/backend/commands/collationcmds.c
parentb6dfee28f2b44e28b123b77a91fb05c47da63501 (diff)
downloadpostgresql-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.c5
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