Re: Add support for AT LOCAL

From: Vik Fearing <vik(at)postgresfriends(dot)org>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: cary huang <hcary328(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Add support for AT LOCAL
Date: 2023-10-04 14:49:03
Message-ID: c2c6f2c3-49e3-c1fe-65ca-49f275af41c2@postgresfriends.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 9/29/23 09:27, Michael Paquier wrote:
> On Sat, Sep 23, 2023 at 12:54:01AM +0200, Vik Fearing wrote:
>> On 9/22/23 23:46, cary huang wrote:
>>> I think this feature can be a useful addition in dealing with time
>>> zones. I have applied and tried out the patch, The feature works as
>>> described and seems promising. The problem with compilation failure
>>> was probably reported on CirrusCI when compiled on different
>>> platforms. I have run the latest patch on my own Cirrus CI environment
>>> and everything checked out fine.
>>
>> Thank you for reviewing!
>
> + | a_expr AT LOCAL %prec AT
> + {
> + /* Use the value of the session's time zone */
> + FuncCall *tz = makeFuncCall(SystemFuncName("current_setting"),
> + list_make1(makeStringConst("TimeZone", -1)),
> + COERCE_SQL_SYNTAX,
> + -1);
> + $$ = (Node *) makeFuncCall(SystemFuncName("timezone"),
> + list_make2(tz, $1),
> + COERCE_SQL_SYNTAX,
> + @2);
>
> As the deparsing code introduced by this patch is showing, this leads
> to a lot of extra complexity. And, actually, this can be quite
> expensive as well with these two layers of functions. Note also that
> in comparison to SQLValueFunctions, COERCE_SQL_SYNTAX does less
> inlining. So here comes my question: why doesn't this stuff just use
> one underlying function to do this job?

Okay. Here is a v3 using that approach.
--
Vik Fearing

Attachment Content-Type Size
v3-0001-Add-support-for-AT-LOCAL.patch text/x-patch 11.9 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Daniel Gustafsson 2023-10-04 14:49:30 Re: --sync-method isn't documented to take an argument
Previous Message Tom Lane 2023-10-04 14:39:50 Re: --sync-method isn't documented to take an argument