home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!usc!sdd.hp.com!zaphod.mps.ohio-state.edu!cs.utexas.edu!bcm!mparsons
- From: mparsons@fleming.csc.bcm.tmc.edu (Mark Parsons)
- Newsgroups: comp.databases.sybase
- Subject: Re: Omnis7 with SQL and Sybase/Oracle
- Date: 16 Nov 1992 15:23:47 GMT
- Organization: Baylor College of Medicine, Houston, Tx
- Lines: 43
- Distribution: world
- Message-ID: <1e8ee4INN17v@gazette.bcm.tmc.edu>
- References: <1992Nov13.122853.17508@alf.uib.no>
- Reply-To: mparsons@fleming.csc.bcm.tmc.edu (Mark Parsons)
- NNTP-Posting-Host: fleming.csc.bcm.tmc.edu
- Originator: mparsons@fleming.csc.bcm.tmc.edu
-
-
- In article <1992Nov13.122853.17508@alf.uib.no>, Ronny G. Nordvik <nordvik@edb.uib.no> writes:
- |> OMNIS 7 WITH SQL DATABASE - SYBASE OR ORACLE
- |>
- |>
- |> I want information about Record Locking on rows and tables for
- |> updating.... in a multiuser Omnis apllication, because we don't want
- |> problems with many persons updating the same record(row). In Omnis i want
- |> to lock the record(row) begfore I go into enter data mode, and release
- |> the record lock when leaving enter data mode.
- |>
-
- Ummmmmm, don't have the foggiest idea what OMNIS 7 is but . . .
-
- I posted this earlier . . hope it helps. . . .
-
- We needed a way to lock records(one at a time) while a user had
- it open(could be open for 1 minute, 1 hour, 1 day, etc). Sybase's
- method of locking would not cover this situation(I didn't want
- to lock an entire table, or even several pages PLUS the user really
- isn't doing an update . . . he's reading the data into a front end
- screen, modifying, and then re-writing to the database).
-
- Anyway, I added a column to my main tables which would be set
- to NULL if no one was using that particular record, and set to the
- ID of the user who *did* have it open. In order to insure(?)
- uniqueness in the locking scheme, I duplicated the logic from the
- white paper on sequential key generation(same idea as updating the
- master key table).
-
- This will only work as long as everyone accessing the database
- goes through the front-end. The front-end takes care of all the
- logic involved in locking, unlocking, and checking for locks. Also,
- a procedure was implemented which fires at specific times during the
- day to unlock those documents which may have been left locked when
- a user decided to ABORT(^C) out of the front-end, i.e., killed the
- front-end process.
-
- Questions? Comments? Make sense?
-
- Mark
-
-
-