Re: Relational Database Comparison

From: Jonathan Leffler <jleffler_at_earthlink.net>
Date: Tue, 13 Jan 2004 08:51:52 GMT
Message-ID: <IkOMb.7559$zj7.4461_at_newsread1.news.pas.earthlink.net>


wisefool wrote:
> Serge Rielau wrote:
>

>>DB2 is written in C/C++ and compiled on whatever compiler is available
>>on a given platform.

>
> Are you sure? You're pulling your own leg I think.

Serge is basically correct, and as Bob said, he does work for the DB2 team in Toronto.

In general, if you write your code carefully, you can make it easy to move between platforms, and between different compilers on the same platform. DB2 has been carefully coded, with maybe 95% of it written in platform independent code and the rest tailored to the specific platform (and occasionally a specific compiler). Fixing up the residual 5% so it works on a new platform is the porting job; it's a lot simpler than rewriting the whole DBMS.

> C/C++ compilers differ more in practice than in theory.

That may depend on the platform you're thinking of. On Unix-based platforms, it is not particularly hard to keep to code that will work on all of them - though neither is it trivial.

> => Problems with vendor-specific extensions (where used).
> => Even problems with differences in standard features.

Of course, but you write the code to factor those parts into machine specific library code, and write the rest of the code to use the uniform pseudo-machine you create from the libraries. Occasionally, you find that your previous abstraction layer is no longer sufficiently capable. Then you rework the relevant portion of it.

-- 
Jonathan Leffler                   #include <disclaimer.h>
Email: jleffler_at_earthlink.net, jleffler_at_us.ibm.com
Guardian of DBD::Informix v2003.04 -- http://dbi.perl.org/
Received on Tue Jan 13 2004 - 09:51:52 CET

Original text of this message