Re: Fixing contrib/isn for float8-pass-by-value

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Fixing contrib/isn for float8-pass-by-value
Date: 2008-11-28 20:02:52
Message-ID: 29870.1227902572@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I wrote:
> The problem reported by Rushabh Lathia boils down to the fact that
> contrib/isn intends to define a datatype that is represented "just like
> int8", but it supposes that int8 must be pass by reference. There is
> not anything wrong with the C code; the problem is the CREATE TYPE
> command in isn.sql. To fix this we need some way of passing the state
> of FLOAT8PASSBYVAL into that SQL script.
> ...
> This is kinda ugly but I don't really see anything better.

I had a better but more invasive idea: invent a new attribute for
CREATE TYPE

LIKE = typename

which means "copy any unspecified representational details from the
given pre-existing type". This would allow the .sql file to know
less instead of more about what's happening, so it seems more
future-proof. It's a bit more work than the makefile hack I was
thinking about, but seems like a good investment. (I wouldn't
propose this if I thought contrib/isn was the only user --- I expect
there are other third-party modules with similar needs.)

Comments?

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Greg Sabino Mullane 2008-11-28 21:34:09 Statement-level triggers and inheritance
Previous Message Tom Lane 2008-11-28 19:29:48 Re: "could not devise a query plan for the given query"