<br><br><div><span class="gmail_quote">On 11/3/05, <b class="gmail_sendername">Pavel Krivanek</b> <<a href="mailto:squeak1@continentalbrno.cz" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">squeak1@continentalbrno.cz
</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi, I've got several questions related to OmniBase usage:<br><br>1) File locking on Windows<br><br>When I open a database session and process a transaction and then I try<br>to connect new user, OODBStreamLockedNotification is raised. OmniBase
<br>then wants a confirmation of "File can not be read because it is locked.<br>Do you want to try again ?". What is the best default answer? True<br>causes long delay before the connection of new user. If false is chosen,
<br>fileIOError should be raised but nothing happens and new connection<br>works well.</blockquote><div><br>
IIRC, the netstyle guys were running into this issue.. what did you guys end up doing with it?<br>
</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">2) Object sharing between transactions<br><br>If I'm not wrong, in case I want to modify a database object, I have to
<br>use transaction with explicit access to database object from the root.<br>So If I want use the same object in two or more independent<br>transactions, I cannot identify the object by its direct reference but I<br>have to use something like primary key or oid, right? How to make it
<br>more comfortable? Is a way how to identify and use database object<br>without access from root and searching in collections?</blockquote><div><br>
We definitely need to get that OmniSupport code out there.. aside from
the connection pool, we also have "persistent references", which are
proxies to persistent objects that work across transactions. I've
added an OmniSupport package to SqueakSource, but haven't added any
code to it -- the newest version I can see is in the netstyle repo; I
expect it's OK for public consumption, but I'd rather they published it
themselves. Lukas, I've added you as a developer so feel free to
do so if everything's in order..</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">3) Index updating<br><br>For example I have a collection of events an index by date of event.
<br>Then I modify an event that was not found by this index (I have no<br>direct iterator). Do I have to find this event in date index manually,<br>remove it and then add it again? Is there another way how access to<br>index record directly?
</blockquote><div><br>
If you are using any of the basic indices in OmniBase you will need to
be sure to maintain them somehow (just as you would with, say, a
Dictionary). Of course, you can have some sort of framework for
automatically updating indices on data changes, though OmniBase itself
doesn't include this.<br>
</div><br>Andrew<br>
</div>