Re: Since '2001-09-09 01:46:40'::timestamp microseconds are lost when extracting epoch

David Steele <david@pgmasters.net>

From: David Steele <david@pgmasters.net>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, Tom Lane <tgl@sss.pgh.pa.us>
Cc: Pavel Stehule <pavel.stehule@gmail.com>, Thomas Munro <thomas.munro@gmail.com>, Petr Fedorov <petr.fedorov@phystech.edu>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2021-03-15T12:18:29Z
Lists: pgsql-bugs, pgsql-hackers
On 12/15/20 9:03 AM, Peter Eisentraut wrote:
> Here is a new patch for this.  This now follows the implementation that 
> Tom has suggested:  Leave date_part() alone, add a new set of extract() 
> functions, and map the SQL EXTRACT construct to those.  I have basically 
> just copied over the implementations from my previous patch and placed 
> them next to the existing date_part() implementations.  So all the 
> behavior is still the same as in the previous patches.
> 
> One thing I still need to look into is how to not lose all the test 
> coverage for date_part().  But that should be fairly mechanical, so I'm 
> leaving it off in this version.

Tom, what do you think of the updated patch?

Regards,
-- 
-David
david@pgmasters.net



Commits

  1. Fix inconsistent equalfuncs.c behavior for FuncCall.funcformat.

  2. Doc: fix discussion of how to get real Julian Dates.

  3. Doc: document EXTRACT(JULIAN ...), improve Julian Date explanation.

  4. Change return type of EXTRACT to numeric

  5. Improve our ability to regurgitate SQL-syntax function calls.

  6. Add more tests for EXTRACT of date type

  7. Expose internal function for converting int64 to numeric

  8. Change floating-point output format for improved performance.