Browse Prior Art Database

Present Locklist Tool for Database Manager

IP.com Disclosure Number: IPCOM000104618D
Original Publication Date: 1993-May-01
Included in the Prior Art Database: 2005-Mar-19
Document File: 4 page(s) / 100K

Publishing Venue

IBM

Related People

Jacobs, DC: AUTHOR

Abstract

Disclosed is a tool which provides the facility for an OS/2 Database Manager* (DBM) user to examine and scrutinize the Database Manager's internal lock list.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Present Locklist Tool for Database Manager

      Disclosed is a tool which provides the facility for an OS/2
Database Manager* (DBM) user to examine and scrutinize the Database
Manager's internal lock list.

      In the concurrent database environment, locking is used to
insure that "no program will access data that has been changed by
another program but  not yet committed unless using the Uncommitted
Read isolation level".  Locking protects the integrity of the data in
the database.

      All locks are acquired implicitly by the Database Manager
(except when a user issues an explicit LOCK TABLE SQL statement).  An
application programmer must understand locking theory and how it
relates to their program when considering the performance of their
database management application.  Locking considerations include:

o   Concurrency vs.  Lock Scope
o   Deadlocking
o   Lock compatibility
o   Lock conversion
o   Lock Escalation

      Internally, the Database Manager manages locks using a linked
list.  A lock list chain is maintained for each database in use and a
transaction chain is maintained for each connection to each database;
one for each database process.  As transactions execute,  the data
structures  in  the chain  are  constantly  updated to reflect the
current state of the system relative to locks.

      The performance of the application is very  important  to
customers.  In the distributed database environment concurrent
application execution is a given.  Programmers must design their
programs in such a way as to insure the maximum throughput of the
system, minimizing lock contention, deadlocking, etc.  As application
are executing, internal lock related information is not available to
the programmer.

      Prior to the implementation of this tool there was no existing
way to examine the lock list of the OS/2 Database Manager.  The
Present Lock List tool,  displays the internal Database Manager lock
list realtime to the screen  or  takes a snapshot of the locklist and
writes the data to a user specified file.  The interface is as
follows:

        SQLPLOCK /ffilename

      The /f option is used to identify the file to which to send the
lock related data to.  In  this case, the output will be written to
the file 'filename'.  If the option is not specified, the data will
be displayed realtime on the screen.

      For a given database, the tool generates the following for each
database connection:

WF=W LN:100000000000000452 LH=10   PID=36 LT=R
     LN:100000000000000452 S=L ST=W M=..S D=  1 LT=R
     LN:100000000000000054 S=L ST=G M=.IS D=  1 LT=T
     LN:020000000000001252 S=L ST=G M=..S D=  1 LT=R
     LN:020000000000000054 S=L ST=G M=.IS D=255 LT=T
     LN:070000000000001552 S=L ST=G M=..S D=  1 LT=R
     LN:070000000000000054 S=L ST=G M=.IS D=255 LT=T
     LN:0B0000000000000452 S=L ST=G M=..S D=  1 LT=R
     LN:0B00000...