Re: BUG #16977: SET LC_TIME TO local_variable don't work - Mailing list pgsql-bugs

From David G. Johnston
Subject Re: BUG #16977: SET LC_TIME TO local_variable don't work
Date
Msg-id CAKFQuwbQL4Kxe+bWCqpYEvLPoJ+icAM+av84z0OdTUJrqpK7dw@mail.gmail.com
Whole thread Raw
In response to BUG #16977: SET LC_TIME TO local_variable don't work  (PG Bug reporting form <noreply@postgresql.org>)
List pgsql-bugs
On Thu, Apr 22, 2021 at 6:26 AM PG Bug reporting form <noreply@postgresql.org> wrote:
The following bug has been logged on the website:

Bug reference:      16977
Logged by:          Dusan Djuric
Email address:      dusan.djuric@istratech.hr
PostgreSQL version: 13.2
Operating system:   Windows 10
Description:       

-- THIS DON'T WORK!

  SET LC_TIME TO l_lc_time;


-- THIS WORKS!

  l_lc_time := p_parameter;
I don't think this next line isn't doing what you think...
 
  SET LC_TIME TO l_lc_time;
  IF l_lc_time = 'hr_HR.UTF8' THEN
    SET LC_TIME TO 'hr_HR.UTF8';
  END IF;
  IF l_lc_time = 'en_EN.UTF8' THEN
      SET LC_TIME TO 'en_EN.UTF8';
  END IF;


This isn't a bug.  The SQL Command "SET" is not something that can take a parameter.  Doing "EXECUTE sql_string;" is probably the simplest solution - build the SET command as a string and execute it.

David J.

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: BUG #16976: server crash when deleting via a trigger on a foreign table
Next
From: Tom Lane
Date:
Subject: Re: BUG #16976: server crash when deleting via a trigger on a foreign table