| From: | Kirill Reshke <reshkekirill(at)gmail(dot)com> |
|---|---|
| To: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
| Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Jeff Davis <pgsql(at)j-davis(dot)com> |
| Subject: | Re: ALTER COLLATION misses errcode |
| Date: | 2026-10-31 09:55:47 |
| Message-ID: | CALdSSPh7-HMWDUTPOguZzPQ+rwF2jAu_+vdVfaWu-6W_Sk_xpw@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Sat, 31 Oct 2026 at 14:53, Kirill Reshke <reshkekirill(at)gmail(dot)com> wrote:
>
> On Sat, 31 Oct 2026 at 13:56, Heikki Linnakangas <hlinnaka(at)iki(dot)fi> wrote:
> >
> > On 30/10/2026 20:38, Kirill Reshke wrote:
> > > User running ALTER COLLATION receives an internal error:
> > >
> > > ALTER COLLATION "default" REFRESH VERSION;
> > > ERROR: cannot refresh version of default collation
> > > HINT: Use ALTER DATABASE ... REFRESH COLLATION VERSION instead.
> > >
> > > We do monitor our logs for XX00* error codes to check for data
> > > corruptions etc, so sql-reachable XX000 gives us a red alert.
> > >
> > > This simple one-liner should do:
> > >
> > > diff --git a/src/backend/commands/collationcmds.c
> > > b/src/backend/commands/collationcmds.c
> > > index cfa0e4610d9..1f6156f379b 100644
> > > --- a/src/backend/commands/collationcmds.c
> > > +++ b/src/backend/commands/collationcmds.c
> > > @@ -443,7 +443,8 @@ AlterCollation(AlterCollationStmt *stmt)
> > >
> > > if (collOid == DEFAULT_COLLATION_OID)
> > > ereport(ERROR,
> > > - (errmsg("cannot refresh version of default collation"),
> > > + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
> > > + errmsg("cannot refresh version of default collation"),
> > > /* translator: %s is an SQL command */
> > > errhint("Use %s instead.",
> > > "ALTER DATABASE ... REFRESH COLLATION VERSION")));
> >
> > Is ERRCODE_FEATURE_NOT_SUPPORTED correct here? Is this something that we
> > just don't currently support, but we potentially could, or is it
> > something that just doesn't make sense?
> >
> > - Heikki
>
> I think this is something that simply doesn't make sense. But reading
> errcodes.h using myself (not AI), I don't see any better option. maybe
> ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE ?
>
>
> --
> Best regards,
> Kirill Reshke
Also ERRCODE_WRONG_OBJECT_TYPE could do but is defined in /* Class 42
- Syntax Error or Access Rule Violation */. Not sure if we violating
something here
--
Best regards,
Kirill Reshke
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Heikki Linnakangas | 2026-10-31 10:15:56 | Re: pg_upgrade doesn't copy ICU rules on template0 |
| Previous Message | Kirill Reshke | 2026-10-31 09:53:02 | Re: ALTER COLLATION misses errcode |