[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Possible changes to the Query Object interface



Dear Challenged,

Question 1:
I ran a test with the 'grid' sample that comes with Orbix:

int main(int argc, char **argv) {
  grid_var gridVarA,gridVarB;   // pointer the grid object that will be used.
  gridVarA = grid::_bind(":GridSrv", argv[1]);
  gridVarB = grid::_bind(":GridSrv", argv[1]);
  gridVarA->set(2, 4, 123);
  gridVarB->set(2, 4, 999);
  cout << "grid[2,4] is " << gridVarA->get(2, 4) << endl;
  return 0;
}

the output is "grid[2,4] is 999"

I guess this is old news to you CORBA-experts, but I didn't know if the
server kept one instance per object or one per object in the client. The
example shows that the server has only one object instance.

Did I miss something here? Otherwise it seems that we need to change the
interface for the query object to let every function take a query id. How
else can we tell the calls apart?

If we do not supply a qid, what happens with code like:
Query a,b;
a->estimate(...);
b->estimate(...);
a->get_number_of_files();
?

Question 2:
What is the socObjectI for?
(The smqQueryI derives from it.)

Question 3:
What does smq in smqQueryI stand for? Storage Manager Query Query? :)

Question 4:
Why do we need smqInquisitorI?

Talk to you on Thursday (at 10:30 PST, I guess).
 - Henrik
___________________________________________________________
Henrik Nordberg <HNordberg@lbl.gov> http://nordberg.lbl.gov
Scientific Data Management Research & Development Group
Lawrence Berkeley Laboratory