Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!ucla-cs!bath.cs.ucla.edu!rowley From: rowley@bath.cs.ucla.edu (Michael T Rowley) Newsgroups: comp.object Subject: Availability of class extension (was: value semantic versus...) Keywords: distribution, values, object identity, immutability Message-ID: <1991May28.232832.28284@cs.ucla.edu> Date: 28 May 91 23:28:32 GMT References: <1991May14.093053.3017@jyu.fi> <3683@sequent.cs.qmw.ac.uk> <4851@osc.COM> <1991May22.053938.20827@jyu.fi> <4863@osc.COM> Sender: usenet@cs.ucla.edu (Mr. News Himself) Reply-To: rowley@cs.ucla.edu Organization: UCLA Computer Science Lines: 40 Nntp-Posting-Host: bath.cs.ucla.edu On the topic of whether the extension of a class (a collection of all its instances) should be available: |> In article <4863@osc.COM>, jgk@osc.COM (Joe Keane) writes: |> |> But how about `find all instances of a given class'? What does it mean? Find |> all instances in memory? In general only some of the objects you're working |> with are actually in main memory at a given time, and the whole point of an |> ODBMS is to hide whether objects are `in' or `out'. Find all instances in all |> databases you're connected to? Again, which databases you're connected to |> should not be such an important part of your state. Find all instances in all |> databases in existence? This makes sense, but it has some obvious practical |> problems. This last approach is the approach taken by relational databases, assuming you map 'relation' in relational databases to 'class' in OODBs. Relational database systems also manage to provide decent concurrency control mechanisms in addition to this facility. Is there anything about OODBs which makes the problem of reaching all instances of a class more difficult for them than it is for relational databases? In general, a database which is only used for application programming can get away without support for listing the extension of a class. However, if there is to be a associative querry language, it must be possible for the user to say "give me all objects which meet these conditions". One of the conditions would be the object's class, since this determines what other aspects of the objects may be specified in the conditions (in relation db's this means specifying the relation). When relational databases took over from network databases, one of their main selling points was their support for an associative query language. If OODBs do not also support this capability, many people will write them off, incorrectly, as souped-up network databases. It should be possible for OODBs to provide an associative query language, as long as there is a facility for retrieving all instances of a class. Michael Rowley