On Sunday 23 December 2007 08:20:56 pm Adrian Klaver wrote: > On Sunday 23 December 2007 8:03 pm, johnf wrote: > > > > The source is the bizobj; i.e., the 'DataSource'. The update() > > > > method is called frequently; it would not be wise to have it > > > > constantly requerying the database. > > > > > > I sort of understand. Let me see if I can work this out. In my case the > > > bizobj refers to a table (which from the documentation is the 'default' > > > use) so I saw the table as the DataSource, not the bizobj. What you are > > > saying is that the bizobj as the middleware component caches data in > > > its structure and update() works on that structure and requery() works > > > on the underlying table. Am I getting close? > > > > Yes it sounds good to me! > > > > > If my assumptions above are correct I can see how this would be a > > > problem. To play the Devils advocate I prefer that data is > > > automatically saved when moving from record to record. I have greater > > > faith in a database table holding data than an application. My > > > inclination is to make the data hit the database soon and often. From > > > poking around I can see ways to make that happen, I just have to work > > > out the procedure. > > > > Not my cup of tea but as you have discovered Dabo is very flexible and > > should beable to work for you. Don't forget you are working with > > Postgres and you will have to consider changing the way transaction > > processing is handled. > > I am not sure I follow. My experience with Psycopg is that is very fast and > that doing small transactions is not an issue.
I doubt there would be a performance issue. Maybe I mis-understood what you are saying and reading to much into your earlier questions. It sounded like you wanted to override the way Dabo currently updates records. Dabo only updates what has been changed and only when a save() occurs. This works well with the default way Postgres works - no lock until a commit and the isolation level is 'Read Committed'. However, if you are scrolling up and down a grid and writing to the backend for each change of record pointer and you want others to see the changes. You will run into some sort of locking issue. If you use pgAdmin3 try this: Open a Dabo app and make sure you requery() to get data. Now view the table from pgAdmin and make a change from the view on the same record and try to move the record pointer with the down/up arrow. pgAdmin hangs - right! Now close the Dabo app. pgAdmin writes the data. -- John Fabiani _______________________________________________ Post Messages to: [email protected] Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users Searchable Archives: http://leafe.com/archives/search/dabo-users This message: http://leafe.com/archives/byMID/dabo-users/[EMAIL PROTECTED]
