Re: Add protransform for numeric, varbit, and temporal types

Noah Misch <noah@leadboat.com>

From: Noah Misch <noah@leadboat.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2012-02-09T12:18:29Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add notion of a "transform function" that can simplify function calls.

Attachments

On Wed, Feb 08, 2012 at 09:37:01AM -0500, Robert Haas wrote:
> On Tue, Feb 7, 2012 at 12:43 PM, Robert Haas <robertmhaas@gmail.com> wrote:
> > I've committed the numeric and varbit patches and will look at the
> > temporal one next.
> 
> Committed, after changing the OIDs so they don't conflict.
> 
> Here's one more case for you to ponder:
> 
> rhaas=# create table noah (i interval day);
> CREATE TABLE
> rhaas=# alter table noah alter column i set data type interval second(3);
> DEBUG:  rewriting table "noah"
> ALTER TABLE
> 
> Do we really need a rewrite in that case?  The code acts like the
> interval range and precision are separate beasts, but is that really
> true?

The code has a thinko; a given interval typmod ultimately implies a single
point from which we truncate rightward.  The precision only matters if the
range covers SECOND.  Thanks; the attached patch improves this.