Communicator 3000 MPE/iX Release 6.0 (Platform Software Release C.60.00) (30216-90269)
Chapter 10 171
Technical Articles
IMAGE/SQL with TurboIMAGE/XL Enhancements
:DBUTIL
HP30391C.07.04 TurboIMAGE/XL: DBUTIL (C) COPYRIGHT HEWLETT-PACKARD COM
PANY 1987
>>show Music locks
For database MUSIC
PIN/ PROGRAM
LOCKED ENTITY / ( - waiting process ) PATH NAME JOBNUM
ALBUMS: MEDIUM = ca...............41/1 ISQL #S18
Now, User B wants to update row(s) in the same data set via an update
statement:
UPDATE Music.Albums set RecordingCo='California Music' where
Medium='cd';
The kind of lock that is applied by User B (JOBNUM #S21) is shown in
the following example:
:dbutil
HP30391C.07.04 TurboIMAGE/XL: DBUTIL (C) COPYRIGHT HEWLETT-PACKARD
COMPANY 1987
>> show Music locks
For database MUSIC
PIN/ PROGRAM
LOCKED ENTITY / ( - waiting process ) PATH NAME JOBNUM
ALBUMS: MEDIUM = cd............. 56/1 ISQL #S21
ALBUMS: MEDIUM = ca............. 41/1 ISQL #S18
In this example, User A updates 2 entries and User B updates 5 entries
simultaneously.
Impact on current IMAGE/SQL applications
With this enhancement, the locking scheme in IMAGE/SQL is exactly
as required by TurboIMAGE/XL (as described in TurboIMAGE/XL
Database Management System Reference Manual, Aug 1997). All
applications conforming to this will not have any problems, and may
actually see improvements in performance, when updating manual
masters.
Support for B-Tree Indices
The B-Tree indices can be created using DBUTIL for existing databases
and DBSCHEMA for new databases. More details about creating B-Trees
indices is given under the heading, “TurboIMAGE/XL Enhancements,”
earlier in this article.
In order to realize the benefit of the B-Tree indices for SQL access, you
must first DETACH the database, if already attached, and ATTACH the
database for the DBEnvironment. IMAGE/SQL enters definitions for
the B-Tree indices in the system catalog of the DBEnvironment. The
index on the key item of the master, except for P and Z types, is entered
as 'unique' index. Other definitions, by default, are non-unique.