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