Обсуждение: Re: [ADMIN] ugly name clash

Поиск
Список
Период
Сортировка

Re: [ADMIN] ugly name clash

От
Sarah Officer
Дата:
When I examine the Oracle and Postgres sqlca.h files, I notice that
they define the same structure.  Both structures have the same
element names, though Oracle has a few additional names that my
program didn't access.  With one exception, the elements are the
same sizes.  The major difference, which caused my program to fail
to link, is that Oracle instantiates the object and Postgres does
not.

I have solved my problem, but I'm curious about the similarity
between the two files.  Is "sqlca" some standard SQL object that
every SQL compatible relational database uses?  How did Postgres &
Oracle manage to come up with identical member names?  Was it
designed for compatibility between the two systems?

Sarah
officers@aries.tucson.saic.com

I wrote:
>
> I am porting a system from Oracle to Postgres.  At this time, both
> databases are installed.  I will probably arrange the software so
> that I can use an environment variable to specify which database
> should be used.  I have had problems with an include file name clash
> between postgres & oracle: sqlca.h.  Both include files define a
> struct called sqlca, an unusual coincidence.
>
> Is there some way to avoid the name clash without having to put
> postgres in a special installation location that isn't in my path
> when I compile with oracle?  Perhaps include files could all go into
> a pg subdirectory so that the user could include <pg/sqlca.h>
> instead of just <sqlca.h>, and that would differentiate?  Systems
> that use an include subdirectory don't seem to have as many name
> clash problems.
>
> When I want to link to postgres, I can easily turn off the oracle
> copy because it IS installed in a nonstandard directory (I had no
> choice--this is not a benefit).  But I would prefer to put all in
> one area and use <oracle/sqlca.h> or <pg/sqlca.h> to distinguish
> between them.  How about it?
>
> Sarah Officer
> officers@aries.tucson.saic.com
>
> ************