On Saturday 30 December 2006 07:55, Carl Karsten wrote: > Ed Leafe wrote: > > On Dec 29, 2006, at 8:15 PM, Carl Karsten wrote: > >> VFP's conflict detection dosen't happen until after the SQL UPDATE > >> command is > >> processed by the server. so I don't see how that is "ahead of time." > > > > All it does is pad the WHERE clause with additional filters: > > > > ...WHERE pk = (pkVal) > > AND updateField1 = oldval(updateField1) > > AND updateField2 = oldval(updateField2) > > AND updateField3 = oldval(updateField3) > > AND updateField4 = oldval(updateField4) > > ... > > > > If any of the fields have changed, nothing gets updated, since the > > WHERE won't match. This is very different than issuing an update and > > having the server actively reject it due to a modified state and/or > > transactional lock. > > > >> What backend would prevent an UPDATE command from updating that > >> would update on some other server? we are talking standard SQL > >> UPDATE command, right ? > > > > There are transactional features and locking features that vary from > > backend to backend. It isn't the UPDATE statement that's the issue. > > "If a user is about to update the database and someone has changed > the backend data. What happens?" > > I think the answer should be: "It depends on which WhereType you are using: > either the first update gets overridden, or your update doesn't update." > > I am guessing dabo does "WHERE pkFIled = pkValue" and so currently the > answer is "the first update gets overridden." - right? > > Carl > > _______________________________________________ > Post Messages to: [email protected] > Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Just to be sure everyone understands. My question "What happens" wasn't a request to change anything. I just wanted to know what Dabo was doing currently. I recall a thread where the issue of how to use the special features of database engines were discussed. Of course it was determined that Dabo would not support each database engine completely only the standard "create, insert,update, etc" commands. This does not prevent the developer from adding code to support any feature. In fact (if memory serves) at one time I had code in dbPostgres to auto commit and few other features. It's not that special or different features can't be supported. In fact Dabo makes special considerations for the way each database limits the number of records. i.e. MsSQL uses the word "TOP" just after the "Select" and Postgres uses "Limit" at the end. Take a look at getLimitWord and formSQL of dbMsSQL.py -- John Fabiani _______________________________________________ Post Messages to: [email protected] Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
