Re: Getting rid of SQLValueFunction

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Ian Lawrence Barwick <barwick@gmail.com>
Cc: Ted Yu <yuzhihong@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Corey Huinker <corey.huinker@gmail.com>, Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-12-30T05:21:22Z
Lists: pgsql-hackers
On Fri, Dec 30, 2022 at 10:57:52AM +0900, Ian Lawrence Barwick wrote:
> I noticed this commit (f193883f) introduces following regressions:
> 
>     postgres=# SELECT current_timestamp(7);
>     WARNING:  TIMESTAMP(7) WITH TIME ZONE precision reduced to maximum
> allowed, 6
>     ERROR:  timestamp(7) precision must be between 0 and 6
> 
>     postgres=# SELECT localtimestamp(7);
>     WARNING:  TIMESTAMP(7) precision reduced to maximum allowed, 6
>     ERROR:  timestamp(7) precision must be between 0 and 6
> 
> Suggested fix attached.

Thanks for the report, Ian.  Will fix.
--
Michael

Commits

  1. Fix precision handling for some COERCE_SQL_SYNTAX functions

  2. Replace SQLValueFunction by COERCE_SQL_SYNTAX

  3. Switch SQLValueFunction on "name" to use COERCE_SQL_SYNTAX

  4. Improve coverage of ruleutils.c for SQLValueFunctions