[comp.databases] Quesiton on Gemstone

dlee@giza.cis.ohio-state.edu (Dik Lee) (06/12/91)

I have been teaching OODB in my seminar courses in the past few years.
The emphasis was on OODB concepts. This year, I decide to get my hands
dirty by emphasizing more on commercial OODBMSs. With some help on this
newsgroup, I received the Gemstone programming manuals yesterday.
Reading through them, I have a few questions.
My questions are mostly "Why is it done this way" type of questions about
the Gemstone architecture.

1) On P. 1-2 of the GC++I manual, third last paragraph, it says " A C++
application, on the other hand, may not be able to retrieve objects
stored in the GemStone database by another interface whose data
structures are incompatible with those of C++." Why? I guess it won't
happen in relational databases. This restriction will lower the
sharability and interoperability of Gemstone. Is it true?

2) On P. 2-24 of the same manual, it mentioned about the registrar
generating two files eg2r.hxx and eg2c.hxx. What is the purpose of these
two files? And what does the CLASS_SampleClass macro do? I guess my general
question is: I need to understand and be able to explain the architecture
of the Gemstone system. Is there any manual, tutorial, or technical
papers explaining Gemstone down to that level of details (I have most
of the papers by Maier, but they are pretty old and don't talk about
such low level details).

3) If I have an existing class X (with instances inserted into it),
and I define a class X in C++ (in *.hxx). Would the registrar recognizes
that the class X already exists, so that the C++ program will accessing
to this existing class, rather than create a new class with the same
name?


Dik Lee
--
Dept. Computer and Information Science	dlee@cis.ohio-state.edu
The Ohio State University		..!osu-cis!cis.ohio-state.edu!dlee
Columbus, OHIO 43210-1277		614-292-2568