Hello,
I have written a socket-level interface to PostgreSQL for scsh, an
implementation of the Scheme programming language which provides a
POSIX interface. Unlike Tcl or Perl, Scheme distinguishes between
numbers and strings and booleans and so on (it's a real programming
language :), so I'm looking at how it might be possible to convert
data retrieved from the backend as a character stream into the
appropriate Scheme types.
The fe-be protocol seems to provide sufficient information to do this
type coercion: when the backend sends the attribute data in response
to a SELECT statement, it sends a sequence of tuples (name, type-id,
size). The type-id is an OID from the pg_type table.
Is is reasonable to assume that these oids will be stable across
versions and platforms, or will I have to reconstruct a table from
a `SELECT typname, oid FROM pg_type' each time a connection is
initiated?
(or maybe there's some simpler way to do the type coercions?)
--
Eric Marsden
emarsden @ mail.dotcom.fr
It's elephants all the way down