Search Postgresql Archives

Re: Function definition regression in 15beta1 when specific parameter name (string) is used

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/29/22 09:46, Alastair McKinley wrote:
Hi all,

I was testing an existing codebase with 15beta1 and ran into this issue.

I reduced the test case to an example with works in 14.3, and fails in 15beta1.

The following function definition fails in 15beta1 (ok in 14.3):

     create or replace function regexp_match_test(string text,pattern text) returns text[] as
     $$
         select regexp_match(string,pattern);
     $$ language sql;

The error message is:

     ERROR:  syntax error at or near ","
     LINE 3:     select regexp_match(string,pattern);
                                                               ^
Changing the first parameter name from string to anything else (e.g. strin or string1) resolves the issue.

The issue also occurs with the "string" parameter name if this is used in a plpgsql function like this:

     create or replace function regexp_match_test(string text,pattern text) returns text[] as
     $$
     begin
             return (select regexp_match(string,pattern));
     end;
     $$ language plpgsql;

Best regards,

Postgres 15:

https://www.postgresql.org/docs/15/sql-keywords-appendix.html

STRING 	reserved (can be function or type) 	non-reserved 	  	

Postgres 14:

https://www.postgresql.org/docs/14/sql-keywords-appendix.html

STRING 	  	non-reserved 	  	

I don't have a 15 instance available, but I would double quoting "string" would work.


Alastair



--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux