Re: PostgreSQL Bug with simple function unexpectedly treating varchar parameter as an array

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Rumpi Gravenstein <rgravens(at)gmail(dot)com>
Cc: PostgreSQL <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: PostgreSQL Bug with simple function unexpectedly treating varchar parameter as an array
Date: 2025-07-25 18:10:40
Message-ID: 1943137.1753467040@sss.pgh.pa.us
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-general

I wrote:
> Well, there's got to be *something* different about that database.

After looking at the code I remembered that the parser might be taking
this as a type coercion request. With that idea, I can duplicate the
observed behavior like so:

regression=# select _sa_setup_role('af_repo_app');
INFO: af_repo_app
_sa_setup_role
----------------
Done
(1 row)

regression=# create domain _sa_setup_role as varchar[];
CREATE DOMAIN
regression=# select _sa_setup_role('af_repo_app');
ERROR: malformed array literal: "af_repo_app"
LINE 1: select _sa_setup_role('af_repo_app');
^
DETAIL: Array value must start with "{" or dimension information.

So ... any chance you have a data type named _sa_setup_role?

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Laurenz Albe 2025-07-25 20:44:35 Re: PostgreSQL Bug with simple function unexpectedly treating varchar parameter as an array
Previous Message Tom Lane 2025-07-25 17:50:19 Re: PostgreSQL Bug with simple function unexpectedly treating varchar parameter as an array