NOT ACCEPTABLE: timestamp/last-saved-by/hashing-the-record ( + comparisons)
- 100+ tables in schema, all needing the additional fields to the 150+ sites
- still doesn't prevent editing (ie: only notification after the event)


PROPOSED: mimic row locking by code using a "row lock" table to record what table + row, when ( 5min expiry typical ) and (more importantly) who. In addition to the standard "get data", there's a "get data for editing" that re-queries (for latest data) and enters an entry for the row lock table (NOTE: the tables are not "locked" as such, just controlled for access)
�- only one additional table req'd (no changes to other tables)
�- drop-dead simple notification of lock status (when, who) with additional management by admin to proritise/ break deadlocks. For our users, this is similar to how the existing client/server system works.


I think you misunderstood my comments about comparing incoming data to the data it originally read. No retrofit of new fields to 150+ tables are needed, just one additional table like your proposal.

In fact, since your proposal (it seems) does not have a means to rectify data submitted after its lock has expired and someone else has edited it, I would suggest a hybrid of the two. To keep your query code untouched, you might be able to do a lot of this by assigning triggers to the tables themselves, although that's not my forte so I may be suggesting a bad thing.

1) add a trigger to a table so that when a read is made, the row lock data and hash are recorded in the "row lock" table; if the lock would be a duplicate, fail.

2) add another trigger to the table for updates, and it checks the lock and fails if it has expired and another lock is in its place, or if no lock exists but the most recent (expired/cleared) lock has a new hash value (i.e., the row was updated in the interim); on success, clear the lock and update the hash value

Again, I may be completely misunderstanding triggers here (having never actually written any), but I hope this can help.

--

        Ben Curtis
        WebSciences International
        http://www.websciences.org/
        v: (310) 478-6648
        f: (310) 235-2067




---------------------------------------------------------- You are subscribed to cfcdev. To unsubscribe, send an email to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev' in the message of the email.

CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).

An archive of the CFCDev list is available at www.mail-archive.com/[EMAIL PROTECTED]

Reply via email to