Dear Christian and Rene I apologize for answering so late but I was at a meeting for the whole week. Thank you for this interesting discussion to which I would like to comment: First, I am afraid Christian is expecting too much from my trials to implement something analogous to a very primitive OODB. Furthermore, currently, I am working on a single-user version only to see if this is possible. A limited multiuser version would then be the next step. As I mentioned, my class TTransaction is a primitive trial to implement this function in a way which is sufficient for my purposes. Currently, I am only at the begining, however, at a later stage I can show you my implementation, it would be great to get some advice. Coming back to one of my problems mentioned, namely finding/querying data, interestingly only TTrees are discussed. For TTrees root has already powerful methods such as TChain, TCut, TEventList, but not all objects can be stored in trees or converted to trees. In general, an OODB should be able to handle all kinds of different objects. Suppose, I have many different objects stored in hierarchical form such as in TDirectory, TFolder or TDataSet. Furthermore, most of the variables of these objects are TString (e.g. TPerson has fFirstName, fLastName, fCity,..). How do you effectively query these objects? With respect to multiple users accessing the same TFile. As far as I understand TNetFile can be opened by multiple users in read mode but only by one user in update mode. It would be helpful if this behavior could be moved from TFile to TDirectory. This would allow multiple users to write to the same TFile but in different TDirectories only. Maybe a personal comment to Christian: If you (or someone else) intend to implement a query language for root, I would not implement SQL, but rather would try to implement the Object Query Language standard. Best regards Christian Christian Holm Christensen wrote: > Hi Rene, > > On Mon, 14 Jan 2002 21:45:12 +0100 (MET) > Rene Brun <brun@pcbrun.cern.ch> wrote > concerning "Re: [ROOT] TFolder or TDirectory?": > > OK, you simply want a translation mechanism from SQL format to TTree::Draw > > format. You can do this by extending TTreeFormula to support an SQL query. > > If you provide the function and test it on multiplatforms, I will > > include it in the source. > > It's quite a big endevour, 'cause you have to allow for things like > > SELECT <member> FROM <branch> WHERE <expression> > SELECT <branch1>.<member> FROM <branch1>,<branch2> > WHERE <some expression envovling members of branch1 and branch2> > > not to mention > > INSERT INTO <branch> (<member list) VALUES (<value list>) > UPDATE TABLE <branch> SET <member>=<value> > > Ofcourse one can start with simle SELECTs, and just give errors in > other cases. Anyway, I'm afraid it requires a lot of work, which I > can't do right now - sorry. I did start something, but never got very > far, 'cause I realised just how much work it would take. Perhaps at > some later point. > > Yours, > > Christian Holm Christensen ------------------------------------------- > Address: Sankt Hansgade 23, 1. th. Phone: (+45) 35 35 96 91 > DK-2200 Copenhagen N Cell: (+45) 28 82 16 23 > Denmark Office: (+45) 353 25 305 > Email: cholm@nbi.dk Web: www.nbi.dk/~cholm
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:38 MET