> In the future, we will want to implement an Interface Repository to map
> the PostgreSQL type tables to CORBA IDL. Since that involves an
> indeterminate
> number of user-defined types, I recommend carving out namespace for that
> purpose at the beginning, e.g.:
>
> typedef short pgtype_int2;
> typedef long pgtype_int4;
Use of _ is discouraged since in the IDL-to-C mapping _ replaces ::. However
we can do:
module PostgreSQL { // Note we already separate our namespace
module Types {
typedef short int2;
typedef short int4;
// etc.
}
// Stuff
}
>
> > struct int8type {
> > long lsw;
> > long msw;
> > };
>
> I would recommend that fixed-length PostgreSQL types be defined as little-
> endian arrays of long or octet type, whichever is appropriate. E.g.:
>
> typedef long pgtype_int8[2];
> typedef long pgtype_int28[4];
> typedef octet pgtype_macaddr[6];
> typedef octet pgtype_filename[256];
>
> Etc. It's more orthogonal that way. But again, if prevailing practice is
> something else, we should look closely at that. Sign extension of multi-
> long integral types is another problem that someone has presumably already
> solved for us.
No, you're quite right... I did most of my study of the CORBA 2.2 spec at
1am... IDL modified.
Taral
P.S. Would it be possible to make a pgsql/src/corba module and let me check
this IDL file into it? That way I don't have to keep reposting it.