Patch of 2004-03-30 corrected date_part(timestamp) for extracting
authorTom Lane
Sat, 20 Nov 2004 22:12:44 +0000 (22:12 +0000)
committerTom Lane
Sat, 20 Nov 2004 22:12:44 +0000 (22:12 +0000)
the year from a BC date, but failed to make the same fix in
date_part(timestamptz).

src/backend/utils/adt/timestamp.c

index 0b7190c345582ec7f4a4d3ad46872257676212cc..e8bc4630021fca1a94ae2f01daaab9cd0e967bb4 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/utils/adt/timestamp.c,v 1.114 2004/11/01 22:00:30 tgl Exp $
+ *   $PostgreSQL: pgsql/src/backend/utils/adt/timestamp.c,v 1.115 2004/11/20 22:12:44 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -3534,7 +3534,11 @@ timestamptz_part(PG_FUNCTION_ARGS)
                break;
 
            case DTK_YEAR:
-               result = tm->tm_year;
+               if (tm->tm_year > 0)
+                   result = tm->tm_year;
+               else
+                   /* there is no year 0, just 1 BC and 1 AD */
+                   result = tm->tm_year - 1;
                break;
 
            case DTK_DECADE: