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-30T11:51:15Z
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. The two changes in timestamp.c are fine, Now I can see that the same mistake was introduced in date.c. The WARNINGs were issued and the compilation went through the same way as the default, but they passed down an incorrect precision, so I have fixed all that. Coverage has been added for all four, while the patch proposed covered only two. -- Michael
Commits
-
Fix precision handling for some COERCE_SQL_SYNTAX functions
- 7aa81c61ec8f 16.0 landed
-
Replace SQLValueFunction by COERCE_SQL_SYNTAX
- f193883fc9ce 16.0 landed
-
Switch SQLValueFunction on "name" to use COERCE_SQL_SYNTAX
- fb32748e32e2 16.0 landed
-
Improve coverage of ruleutils.c for SQLValueFunctions
- 2e0d80c5bb72 16.0 landed