HP3000-L Archives

May 2011, Week 1

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
cathlene mcrae <[log in to unmask]>
Reply To:
cathlene mcrae <[log in to unmask]>
Date:
Wed, 4 May 2011 14:49:03 -0400
Content-Type:
text/plain
Parts/Attachments:
text/plain (96 lines)
Solution
The following versions of TurboIMAGE/iX and IMAGE/SQL support the increased limits for datasets, items and paths and are available on MPE/iX version 6.5 Express2 and later.
TurboIMAGE/iX : C.09.02
IMAGE/SQL : B.G4.04

old  Limitations
1. Number of items that the user can currently define in a database - 1023
2. Number of sets per database - 199
3. Number of paths for each master to detail - 16

New Limits
IMAGE and IMAGE/SQL have been enhanced so that the new limits for the above
elements are as follows:.

1. Number of items - 1200

2. Number of sets   -240

Naming the datasets: Each database can contain up to 240 datasets. Each dataset is referenced by a unique dataset name. If the root file name is XXXX, the first dataset defined in schema will be XXXX01, the second dataset will be XXXX02, etc. up to XXXXO0. As earlier, any of these datasets can be a Jumbo dataset and any of these datasets can be expanded by using the capacity expansion in the schema, (if it is not Jumbo).

3. Number of paths for master - 64
The number of paths per master has been extended from 16 to 64. Note that this is only for master data sets.

Compatibility
Any new databases created will have the benefit of these increased limits. However the new limits will not be applicable for databases created prior to this version of TurboIMAGE/iX. Databases created prior to this will continue to function the same, as there is full forward compatibility.

DBSCHEMA changes:
A database with any one of the above new limits will have the 'root version' as C5. DBSchema has been enhanced to support the new limits.

DBUTIL changes:
New flag in DBUTIL, when enabled, will return an error message if the buffer returned in DBINFO exceeds the old limit. This flag is disabled by default, and is introduced mainly for debugging purposes. To enable this flag, use the enable command in DBUTIL


>>ENABLE dbname FOR OLDINFOLIMITS


DBINFO changes:

DBINFO modes 103, 203, 204, 301 have been modified to add the following check. If the flag is enabled and if the limit exceeds the earlier limits, for instance in DBINFO mode 103, if the number of items > 1023 and flag in DBUTIL is enabled, an error message is displayed which says "Data returned by DBINFO may overrun the buffer of the application." So, before calling DBINFO modes 103, 203, 204, 301 be sure that the buffersize allocated is sufficient to hold the data returned in view of the increased limits.
Or else, DBINFO buffer may be overwritten resulting in erroneous information. DBINFO has been modified to return information on various features used by the database. Now DBINFO Mode 406 will return in the buffer element # 17 the various features used in the database. The bit # needs to be interpreted as below:
 
Bit #	Value/Description
09	1: Database uses new limits
                    (# of sets = 240, # of items =1200, # paths permaster = 64) 

                0: Database uses old limits 
                   (# of sets = 199, # ofitems = 1023, #paths per master= 16) 





DBCONTROL changes:

A new mode, 20, has been introduced in DBCONTROL, by which users can indicate to
TurboIMAGE/iX that the application program is aware of increased buffer requirements for certain DBINFO calls on databases with new limits.

SYNTAX: DBCONTROL(base,qualifier,mode,status) where 

 
base	is the name of the array used as the base parameter when opening the database. The first element of the array must contain the base ID returned by DBOPEN. 


qualifier	ignored for mode 20

mode	should be 20 for the above mentioned functionality. Mode 20 tells TurboIMAGE/iX that the user is aware of increased buffer requirements for certain DBINFO modes (like 103,203,204,301) for databases with new limits.This 

mode would cause the above mentioned DBINFO modes to skip the check for database with new limits. This mode would be in effect for the current user only.

status	is the name of the array of 10 halfwords in which TurboIMAGE/iX returns status information.


Note: If oldinfolimits flag is set through DBUTIL and you are sure that the buffer sizes are enough for the new limits, use dbcontrol mode 20 to disable the flag.

Note: C.10.xx
C.10.xx of Image was first shipped on base 7.5. It included enhancements for DSEMII (performance/concurrency) and for Large File DataSets (i.e. a dataset in a single file >4GB), also known as LFDS. 

This original release of LFDS in 7.5 had problems that were severe enough that we advised against its use. 

Problem 
======= 
The root of the problem was a lack of 64 bit awareness in the PSPL compiler and routines used throughout the TurboImage code. This meant that data which should have spanned from one 4GB space to the next would wrap back to the start of the same space. In the case of the first 4GB space this would overwrite the dataset label causing all data to become inaccessible. Not all block sizes would have a problem at all 4GB boundaries, but with one exception all would have a problem once a record spans a space boundary. The only exception to the problem is a LFDS with an Image block size of 256 bytes because then no records ever span a 4GB boundary.

In C.10 the default for DBSchema was changed so that any set between 4GB and 128GB would be created as LFDS. On C.09 and earlier these sets would have been created as Jumbo sets by default.

Solution 
======== 
We have taken the following approach to address the problem: 

1) a detection tool which will check for the existence of LFDS on the system. 
2) a C.10 version of Image which will disable creation of LFDS in DBSchema. 
3) we no longer plan to release a C.11 version with working LFDS 

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2