Object reference - Mailing list pgsql-hackers

From alex
Subject Object reference
Date
Msg-id 3C8925CD.80009@dpcgroup.com
Whole thread Raw
List pgsql-hackers
Hi I'm new to the list, and I'm new to the PostgreSQL also. But I have 
been using Object Relation Mapping for a period of time. I would like to 
put native binding with PostgreSQL . It is fairly easy to read and write 
Object into the relayed table e.g.

create table base (
myname text,
unique( myname )
);

create table child (
myfather base,
myname text
);

INSERT INTO base ( myname ) Values ( 'alex' ) ;
INSERT 56578 1  <<---- oid
INSERT INTO child ( myfather, myname ) values ( 56578::base, 'alexbaby' );
INSERT 56579 1  <<---- oid

However, there is no way to get the value back in the WHERE clause. 
because the return type is 'base' but the value output ( correct me if 
I'm wrong from digging the source by hand )  is actually oid returns 
int4 from internal seteval() function.
select * from child;
myfather  myname
-------------------
56578      alexbaby

It could be a easy fix in the jdbc, or c  to match the seteval(base.oid) 
with int4.[string, string] compare,  but then I need to loop through the 
full Record Set by hand to get the data. is there a possible way to do 
some function to convert the TYPE 'base' to oid or int4 or string?
so I can do something like this

SELECT * from child where myfather=56578::base;

or how am I getting internal seteval to work right with the return set 
from a custom function.
I really want to see this coming out right... thanks a lot.
Alex




pgsql-hackers by date:

Previous
From: "Luis Alberto Amigo Navarro"
Date:
Subject: Re: bad performance on irix
Next
From: Jan Wieck
Date:
Subject: Re: PL/pgSQL RENAME bug?