Re: Add support for AT LOCAL
От | Michael Paquier |
---|---|
Тема | Re: Add support for AT LOCAL |
Дата | |
Msg-id | ZRZ8ePmlhx_1LvVV@paquier.xyz обсуждение исходный текст |
Ответ на | Re: Add support for AT LOCAL (Vik Fearing <vik@postgresfriends.org>) |
Ответы |
Re: Add support for AT LOCAL
Re: Add support for AT LOCAL |
Список | pgsql-hackers |
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? -- Michael
Вложения
В списке pgsql-hackers по дате отправления: