Thread: How to get OID return value(pls help me)

How to get OID return value(pls help me)

From
"sandhya"
Date:
Hi......
 
 
My table consists of oid and varchar datatypes.
I want to get the oid type from the table and i need to pass it to a function which accepts only the oid data type.
But my problem is the return value of the datatype i am getting from the query result is char*.
Is there any function in postgresql which gives the return value of the executed query as OID type.
 
Please explain me what to do inorder to get the Oid type
When i used PQoidValue(res).It is giving 0.
Also in document they mention something related to INSERT query only.
But i want it for select query.
Thank you,
Regards,
Sandhya

Re: How to get OID return value(pls help me)

From
Michael Fuhr
Date:
On Thu, Dec 22, 2005 at 11:05:22AM +0530, sandhya wrote:
> My table consists of oid and varchar datatypes.
> I want to get the oid type from the table and i need to pass it to
> a function which accepts only the oid data type.

What function is that?  What does it do with the oid?

> But my problem is the return value of the datatype i am getting from
> the query result is char*.

You don't mention what language and interface you're using but it
sounds like C and libpq.

> Is there any function in postgresql which gives the return value of
> the executed query as OID type.

You could rely on the knowledge that Oid is

typedef unsigned int Oid;

and use strtoul() to convert the char * to an unsigned int.  Another
way, if you're using 7.4 or later, would be to issue the query with
PQexecParams() and request binary results.  I think you'll have to
deal with byte order issues in that case.

This is off-topic for pgsql-admin; pgsql-interfaces or pgsql-general
would be more appropriate.

--
Michael Fuhr