Re: [ANNOUNCE:] CB++ Database Access Library for C/C++

From: John Free <free_at_algorithmics.com>
Date: Tue, 12 Oct 1993 14:36:08 GMT
Message-ID: <CEsGKD.8EB_at_algorithmics.com>


Dave, Can you retrieve this for me ?

bernhard_at_ani.univie.ac.at (Bernhard Strassl) writes:
>Here is a very first release of the CB++ library. It is available
>on ftp.x.org in the /contrib directory (I know, it is not UI-related
>stuff but as a UI fellow I'm used to uploading there, it is only 50K...)
 

>Below you find a copy of the README file.
 

>-bernhard
 

>-------------------------------------------------------------------
 

>CB++ (CommonBase Database Access Library for C/C++)
>====
 

>This library was written in 1989 as a basis for storing C++ objects in
>a relational database. The development of such a system was stopped in
>1990 because of problems with the MS-DOS environment used in this time.
>My involvement in various user interface projects here in the institute
>and otherwhere made it sleep until last week.
>When reading comp.databases news I saw some interrest in a library
>for database access and after posting a followup to a related article
>I got a lot of responses.
 

>Okay, here is it. It is only the database access layer of the projected
>object storage system but it has some useful features which are provided
>by commercial tools out there:
 

>* Builds on the C language interface of a database, there is no need
> for a precompiler (like embedded SQL - which is totally unusable in
> combination with C++, at least it was three years ago...)
>* Very simple to use. Unlike the native C interfaces of the databases
> it is as simple as embedded SQL or some 4th generation languages.
>* Makes applications portable among different SQL databases. The library
> itself is relatively easy to port as the database vendor specific code
> is separated into a single C++ class which makes up only a limited part
> of the library.
 

>The current release was extracted from our old DOS archives. I remember
>that it worked stable with the Gupta SQL Server for DOS/MS-Windows and
>Oracle. The OS/2 SQL server (someone told me that it is another sybase
>server??) version also worked but had problems with opening files when
>connected to the database.
 

>The 'plain C' interface worked only with the old MS-DOS cfront/linker which
>had no different linkage styles for C and C++. It could be fooled with
>declaring C externals matching to the cfront generated C++ member functions of
>the SqlMgr class. (file cbinter.h) If someone is interrested it would
>be easy to provide real C wrapper functions and the init/terminate
>code which got lost somewhere.
 

>I did some face-lifting to the code to compile with today's C++ (2.1, but
>it should also be accepted by 3.x) and tested it on a SUN SPARC
>running SunOS 4.1.3 and Oracle 6.
 

>Bugs:
>-The SQL parser should be improved. It currently has the restriction
> that bind variables are only recognized if followed by a comma and/or
> a white space character, i.e.
> "insert into items (name, price) values (:string, :int)"
> won't work while
> "insert into items (name, price) values ( :string, :int )"
> does.
>-Since I have done a lot of minor changes the other servers will not
> compile out of the box - have a look at the oracle version.
>-Incomplete error handling. CB++ has it's own error codes (needed for
> portability) but the tables aren't initialized in either server code.
 

>Besides this there are currently no more known bugs in CB++ (an I hope you
>will not report too much of them :-). There are problems with the Oracle
>library or documentation on the SPARC when binding program variables of type
>float but they are not specific to CB++ (even the Oracle demo application
>dumps core when compiled with C++) - any hints are welcome.
 

>Because of the very limited time I can spend on this subject there exists
>no documentation for CB++ at the moment. Please have a look at the
>sqlmgr.h file and the sample sources, then you should know everything needed
>to use it in your application.
 

>I'm planning to write a few pages about usage in programs and about writing
>server interfaces, if there is something new it will be announced it in
>comp.databases and comp.lang.c++. Maybe that I'll use the stuff for a
>commercial project next year. (this would mean to continue work on the
>object storage system and it would also speed up the improvement of CB++
>a lot...)
 

>Please mail me about your expierience with CB++, feel free to ask about
>everything and please don't flame about the implementation - it was one of
>our first attempts to write such tools in C++ (provide better solutions
>instead :-)

>---------------------------------------------------------------
>Bernhard Strassl University of Vienna
>bernhard_at_ani.univie.ac.at Dpt. for Applied Computer Science
> and Information Systems
>---------------------------------------------------------------

-- 

free_at_algorithmics.com (John Free)

Algorithmics Inc., 822 Richmond Street West. Toronto, Ontario M6J 1C9
Received on Tue Oct 12 1993 - 15:36:08 CET

Original text of this message