Thread: Is it safe to use fundamental type OIDs defined in server/catalog/pg_type.h from client?
Is it safe to use fundamental type OIDs defined in server/catalog/pg_type.h from client?
From
"Hoon H."
Date:
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 textfrom 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 requiredsystem - 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 officialpolicy 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 someofficial 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.
Re: Is it safe to use fundamental type OIDs defined in server/catalog/pg_type.h from client?
From
Tom Lane
Date:
"Hoon H." <drawtree@gmail.com> writes: > 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 officialpolicy on these values. We never have changed the OIDs of those basic types, and I doubt we would. We're well aware that some client code knows their numbers. regards, tom lane