Thread: exposing float8-as-value to PGXS/makefiles

exposing float8-as-value to PGXS/makefiles

From
Alvaro Herrera
Date:
Hi,

I was just messing around with a datatype that's based in int64
representation.  Pretty much everything (seems to) work cleanly, but one
problem I have is that I cannot build the correct CREATE TYPE sentence
in the .sql.in file to actually install the type, because there's no
easy way to figure out whether float64 (and therefore int64) is passed
by value or not.

configure gets the value as a C define but that's a PITA to use.  So
what I'm saying is that I'd like it to be exposed in Makefile.global or
something like that where pgxs-built things can use it to build their
SQL files.

I don't have a patch to show, but does the basic idea sound good?

-- 
Álvaro Herrera <alvherre@alvh.no-ip.org>


Re: exposing float8-as-value to PGXS/makefiles

From
Tom Lane
Date:
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> I was just messing around with a datatype that's based in int64
> representation.  Pretty much everything (seems to) work cleanly, but one
> problem I have is that I cannot build the correct CREATE TYPE sentence
> in the .sql.in file to actually install the type, because there's no
> easy way to figure out whether float64 (and therefore int64) is passed
> by value or not.

We already solved that for contrib/isn --- use the LIKE clause in CREATE
TYPE.
        regards, tom lane


Re: exposing float8-as-value to PGXS/makefiles

From
Alvaro Herrera
Date:
Excerpts from Tom Lane's message of vie may 20 12:43:25 -0400 2011:
> Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> > I was just messing around with a datatype that's based in int64
> > representation.  Pretty much everything (seems to) work cleanly, but one
> > problem I have is that I cannot build the correct CREATE TYPE sentence
> > in the .sql.in file to actually install the type, because there's no
> > easy way to figure out whether float64 (and therefore int64) is passed
> > by value or not.
> 
> We already solved that for contrib/isn --- use the LIKE clause in CREATE
> TYPE.

Ooh, excellent, thanks.

-- 
Álvaro Herrera <alvherre@commandprompt.com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


Re: exposing float8-as-value to PGXS/makefiles

From
Michael Glaesemann
Date:
On May 20, 2011, at 12:51, Alvaro Herrera wrote:

> Excerpts from Tom Lane's message of vie may 20 12:43:25 -0400 2011:
>> Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
>>> I was just messing around with a datatype that's based in int64
>>> representation.  Pretty much everything (seems to) work cleanly, but one
>>> problem I have is that I cannot build the correct CREATE TYPE sentence
>>> in the .sql.in file to actually install the type, because there's no
>>> easy way to figure out whether float64 (and therefore int64) is passed
>>> by value or not.
>> 
>> We already solved that for contrib/isn --- use the LIKE clause in CREATE
>> TYPE.
> 
> Ooh, excellent, thanks.

To confirm, this works for Postgres versions >= 8.4, correct?

Michael Glaesemann
grzm seespotcode net





Re: exposing float8-as-value to PGXS/makefiles

From
Alvaro Herrera
Date:
Excerpts from Michael Glaesemann's message of vie may 20 15:07:27 -0400 2011:
> 
> On May 20, 2011, at 12:51, Alvaro Herrera wrote:
> 
> > Excerpts from Tom Lane's message of vie may 20 12:43:25 -0400 2011:
> >> Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> >>> I was just messing around with a datatype that's based in int64
> >>> representation.  Pretty much everything (seems to) work cleanly, but one
> >>> problem I have is that I cannot build the correct CREATE TYPE sentence
> >>> in the .sql.in file to actually install the type, because there's no
> >>> easy way to figure out whether float64 (and therefore int64) is passed
> >>> by value or not.
> >> 
> >> We already solved that for contrib/isn --- use the LIKE clause in CREATE
> >> TYPE.
> > 
> > Ooh, excellent, thanks.
> 
> To confirm, this works for Postgres versions >= 8.4, correct?

Yes, this is in 8.4 (but not in 8.3).

-- 
Álvaro Herrera <alvherre@commandprompt.com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support