Re: OO4O dynaset/row aging

From: Keith Majkut <kmajkut_at_netcom.com>
Date: 1995/08/15
Message-ID: <kmajkutDDDBpE.Jwo_at_netcom.com>#1/1


In article <40qcu1$2jm_at_ruby.netrix.net>, Sean Dillon <sean_at_netrix.net> wrote:
>This is going to sound like a dumb question, but....
>
>When developing an application using OO4O, what is the most elegant way
>to handle an OIP-04119 error? That error indicates that the data in the
>row the user tried to edit has already been edited by another user, and
>that the particular row in the dynaset is out of date. Is there a way to
>refresh just one row of a dynaset -OR- refresh the whole dynaset and
>maintain what the user's position in the dynaset was? The dynasets in my
>application may get to be somewhat large (I guess - what's "large"?) at
>up to 500 rows, and I don't want to refresh the whole dynaset and then
>flip through the records trying to find the record the user was on IF I
>don't have to.
Let's see.
1)You can't refresh specific rows.
  Why?-OO4O provides read consistency of the query by executing

       it once and storing the fetched rows locally. 2)You can't refresh and maintain position.   Why?-What does the current position mean? If rows are not unique

       or the query doesn't have unique rows, how could you return? 3)Bookmarks aren't valid across dynasets, so you can't use them.   (see #3 for details).
4)You could do a SELECT...FOR UPDATE. This would prevent others from   updating the rows which may be undesirable to you. 5)You could parameterize the query and use the Dynaset Refresh method   (which is different than the CreateDynaset Method).   Parameterized queries don't have to be reparsed/described/bound/etc   and some time will be saved. Even if the where clause is simply   "where 1 = :foo", OO4O will do slightly less work and cause less round   trips. (in this case, set foo to be equal to 1). This _may help_

Other than that, I can't think of anything. Maybe I've created more questions than answers...<gr>...

>
Received on Tue Aug 15 1995 - 00:00:00 CEST

Original text of this message