Is it safe to use fundamental type OIDs defined in server/catalog/pg_type.h from client?

From: "Hoon H(dot)" <drawtree(at)gmail(dot)com>
To: pgsql-interfaces(at)postgresql(dot)org
Cc: "Hoon H(dot)" <drawtree(at)gmail(dot)com>
Subject: Is it safe to use fundamental type OIDs defined in server/catalog/pg_type.h from client?
Date: 2013-12-05 20:43:13
Message-ID: 69AD5777-82E3-4442-8EB6-DC7395C3D4BD@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

Hello folks.

I am writing a C/C++ program which uses `libpq`. I am stuck at getting result from PQresult because I want to parse text from result automatically by its type OID value. But it's unclear how I should handle type informations.
What I need is only fundamental built-in types - boolean, int, float, text, timestamp, binary. Maybe adding some system required system - such as OID type itself. The problem is OID constant values for built-in types are not defined in client-side.

According to some mailing list entries,

http://www.postgresql.org/message-id/20080708000535.GA10491@cuci.nl
http://www.postgresql.org/message-id/AANLkTimiNjQa7ws1tyR_W6RQPec6RlxQtWfACNMnZ_1P@mail.gmail.com

It seems safe to use macros defined in `server/catalog/pg_type.h`, but I still doubt because I couldn't find any official policy on these values.
Though I agree people on the mailing list entries, but still this is completely up to dev-team's decision. Can I ask some official policy on these values - OID values for built-in types?

If there's some publicly existing policy, please drop me some link. It's too hard to find it.

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Tom Lane 2013-12-05 23:27:24 Re: Is it safe to use fundamental type OIDs defined in server/catalog/pg_type.h from client?
Previous Message Tom Lane 2013-11-12 02:03:14 Re: Traversing the catalog using heap_open, systable_beginscan, ...