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

Lists: pgsql-admin
From: "sandhya" <sandhyar(at)amiindia(dot)co(dot)in>
To: "postgre" <pgsql-admin(at)postgresql(dot)org>
Cc: "sandhya" <sandhyar(at)amiindia(dot)co(dot)in>
Subject: How to get OID return value(pls help me)
Date: 2005-12-22 05:35:22
Message-ID: 001001c606b9$80b50060$cd00000a@amiindiahjwbgh
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-admin

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


From: Michael Fuhr <mike(at)fuhr(dot)org>
To: sandhya <sandhyar(at)amiindia(dot)co(dot)in>
Cc: postgre <pgsql-admin(at)postgresql(dot)org>
Subject: Re: How to get OID return value(pls help me)
Date: 2005-12-22 06:31:10
Message-ID: 20051222063110.GA63701@winnie.fuhr.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-admin

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