Craig Orsinger <orsingerc@epg-gw1.lewis.army.mil> wrote:
>
> On 13-Sep-99 Andreas Theofilu wrote:
> > I can write such a function, of course. But I will not break
> compatibility
> > to Informix, because both databases, PostgreSQL _and_ Informix are
> > supported in only a single source file.
>
> I've tried to do this myself, and in the long run I think
> you'll be better off planning on having two different versions of
> embedded C, or at least, two different sets of functions that do
> certain operations. Informix ESQL/C and ecpg have significantly
> different syntax, especially regarding CURSORs and FETCHs. If you
> keep things simple, and have some way of converting database names
> between the two systems, you can undoubtedly do what you're trying
> to do. Anything else and it gets really difficult. While Informix
> supports EXEC SQL IFDEF, PostgreSQL does not appear to.
>
It is not always easy to do that and the two are different, but not
completely. However. I use a special preprocessor (lwpp [look at freshmeat
for it]) to create an embedded C file for PostgreSQL 'ecpg' or Informix
'esqlc'. I think this is the better way. Having two source trees would mean
to do everything twice and if I forget something I have two incompatible
programs.
> An alternative might be to have a single source file that
> can be modified by a sed or awk script to conform to whatever
> embedded SQL you're using at the moment. I considered this approach,
> but didn't pursue it because I didn't have the time.
>
look above.
> We had a discussion here about this subject in June. The
> subject was "esql/c documentation". If you can't find it in the
> archive, I can e-mail some of the more interesting posts in that
> thread.
>
Thanks for that tip, will search for it.
--
Theofilu Andreas
http://members.eunet.at/theofilu
------------------------------------------------- Enjoy the science of Linux!
Genieße die Wissenschaft von Linux! -------------------------------------------------