Re: Informix vs. Sybase vs. Oracle vs. (gasp) MS SQL Server

From: Pablo Sanchez <pablo_at_sgi.com>
Date: 1997/12/01
Message-ID: <yut90u49yun.fsf_at_mew.corp.sgi.com>#1/1


>>>>> "Gary" == Gary L Burnore <gburnore> writes:

Gary> 
Gary> On 01 Dec 1997 08:12:02 -0700, Pablo Sanchez <pablo_at_sgi.com> wrote:
Gary> :>>>>> "Michael" == Michael Segel <Mikey_at_NOSPAM.King.of.MyDomain.NOSPAM.Segel.com> writes:
Gary> :Michael> 
Gary> :Michael> But to defend Sybase by saying that row level
Gary> :Michael> locking isn't important, is pretty damn
Gary> :Michael> silly. 
Gary> :
Gary> :I have yet to see you refute any of my points regarding row
Gary> :level vs page level locking.  For a well written
Gary> :application, and isn't that what you strive for?, it simply
Gary> :doesn't matter.
Gary> :
Gary> :To simply lob the above and not back it up with any
Gary> :technical merit is pretty damn silly.
Gary> 
Gary> Tell the airlines that row-level locking isn't important. If the entire
Gary> seating table for a flight was locked for one attendent to assign you a seat,
Gary> it'd be caos.
Gary> 

Because I've been accused of not answering posts in their entirity I'll answer the above (note, I typically throw out the chaff from the wheat)....

I phoned two airline companies: United and US Air. I interviewed the person taking reservations and here are the responses:

US Air:



You can view the list of available seats and present that to the customer. If the customer requests that seat, they go through the reservation process and that seat *may* be swiped by another office. That is, there's no lock that is placed on that seat.

I interpreted this in db terms as follows:

tx #1:

  select list of available seats for flight number

tx #2:

  begin tx
  update seat_table where flight_number is the one we are on   and it's not already taken
  if taken, failure ... rollback tran
  else, print "happy days are here"

I believe that this is SABRE.

United Airlines



You can lock a seat if you have a specific seat in mind without making a reservation yet. You can make the reservation and have that seat. If the system crashes between locking the seat and making the reservation, the seat remains locked. (I found this interesting).

I interpret this in db terms as follows:

tx #1:

   select list of seats....

tx #2:

   update seat_table .... (as before)

tx #3:

   update reservation_table

-- 
Pablo Sanchez              | Ph # (650) 933.3812          Fax # (650) 933.2821
pablo_at_sgi.com              | Pg # (800) 930.5635   -or-   pablo_p_at_pager.sgi.com
-------------------------------------------------------------------------------
I am accountable for my actions.   http://reality.sgi.com/pablo [ /Sybase_FAQ ]
Received on Mon Dec 01 1997 - 00:00:00 CET

Original text of this message