HPlogo Communicator e3000 MPE/iX Express 1 Based on Release 7.0 > Chapter 6 Technical Articles

QUERY/iX Enhancements Respond to User Requests

MPE documents

Complete PDF
Table of Contents
Index

By James Overman
Enterprise Support Services Organization R&D

The newest release of QUERY/iX HP32216D.03.20 contains enhancements that were requested by customers thru the SIGIMAGE User's Group. These enhancements are
  • Progress Reporting Feature,

  • the VERBOSE and TERSE Commands,

  • the expanded SHOW command,

  • support of the Expanded TurboImage Limits,

  • and the Find-by-Record-Number option.

In addition, QUERY/iX has been changed to allow the runtime PARM=%777 option that invokes Business Basic Floating Decimal datatype on the Native Mode version of QUERY.

Progress Reporting Feature


QUERY/iX has been enhanced to perform Progress Reporting during long database retrievals. In a FIND, SUBSET, or MULTIFIND command that takes longer than a set time interval, if VERBOSE messages have been enabled, a message will be displayed upon each timeout reporting the progress QUERY/iX has made in processing the command. The messages look like:

aaa ENTRIES AFTER bbb RECORDS OUT OF ccc IN STEP ddd OF eee

Example 6-1 Entries

 15 ENTRIES AFTER 12345 RECORDS OUT OF 76000 IN STEP 1 of 3
 295 ENTRIES AFTER 54321 RECORDS OUT OF 76000 IN STEP 1 OF 3
 123 ENTRIES AFTER 234 RECORDS OUT OF 345 IN STEP 2 OF 3
 0 ENTRIES AFTER 12 RECORDS OUT OF 576 IN STEP 3 OF 3

The default time interval for the progress messages is thirty (30) seconds. This may be changed by an MPE command :SETVAR HP_QUERY_PROGRESS_INTERVAL nnnn (even while in QUERY/iX) where nnnn is the integer number of seconds from 1 to 65000. A zero value will revert to the default interval of 30 seconds. Negative values are reserved for testing and will cause VERBOSE mode to be ENABLED and a report message generated every -nth occurrence of checks for a timeout.

For most messages, the maximum records to be accessed (value ccc above) are reported as the dataset capacity. For some retrievals where the capacity is unknown, the maximum of 2147483647 will be reported. This may occur on Third-Party Indexing packages or Btree databases. For MULTIFIND commands, there may be multiple steps and is some cases the maximum records will be reported as the sum of previously found records. The step numbers (ddd above) may not always be contiguous, as some steps revert to a null operation due to various special cases in the MULTIFIND/JOIN logic. Thus a given step may have no progress messages. Also, in some cases the maximum number of steps (eee above) can not be determined at the start of the command; so, in a few cases, the final step value may be increased during the progress reporting as the additional steps are determined.

New VERBOSE and TERSE Commands


Normally, the progress messages will only be displayed for transactions after the new VERBOSE command has been entered. The progress messages may be suppressed with the new TERSE command. The TERSE mode is the default for normal QUERY/iX processing. In the future, the VERBOSE command may also be used to control the output of new informative messages; such as the selection of non-user specified datasets or choices of retrieval paths, etc. User input as to what new messages would be desirable is requested.

The SHOW command has been expanded to report the state of the VERBOSE condition. Examples of the new commands:

  >SHOW
  VERBOSE MESSAGES DISABLED
  >VERBOSE
  VERBOSE MESSAGES ENABLED.  USE TERSE TO DISABLE.
  >SHOW
  VERBOSE MESSAGES ENABLED.  USE TERSE TO DISABLE.
  >TERSE
  VERBOSE MESSAGES DISABLED
  >SHOW
  VERBOSE MESSAGES DISABLED
  

SHOW Command Enhanced with an ALL Option and with a null Option


The SHOW Command previously required an option of DBLIST, JOIN, LANGUAGE, LOCKOPTION, or INDEX. As shown above, the SHOW command now may be entered with no option and the VERBOSE status will be reported. Additionally, a new ALL option will cause all of the options to be reported. For example:

  >SHOW ALL
  LOCKOPTION = NO
  EITHER NO JOIN COMMAND HAS BEEN ISSUED OR THE
    MOST RECENT JOIN COMMAND WAS INVALID
  DBLIST=IOSDB,STOCK
  INDEXING = NONE
  LANGUAGE = NATIVE-3000
  VERBOSE MESSAGES DISABLED.

TurboIMAGE Expanded Limits


The support of the TurboIMAGE Limit Expansion allows for the increased number of datasets from 199 to 240, the increased number of data items from 1023 to 1200, and the increase in paths into a master dataset from 16 to 64. QUERY/iX will utilize the new limits on systems with the TurboIMAGE version HP30391C.09.00 and later. If the new DBUTIL option flag of OLDINFOLIMITS is enabled for a database, QUERY/iX will function normally as it uses the new DBCONTROL Mode 20 to inform TurboIMAGE that QUERY code supports the new expanded limits.

FIND by Record Number


The long requested Find-by-Record-Number enhancement has been implemented. This new format of the FIND command permits the retrieval of a specific record in a dataset. The form of the new feature is:

   FIND [DATA BASE NAME:] DATA SET NAME.#RECORD NUMBER

The record number is preceded by a "#" and is the record offset into the dataset that is to be retrieved. The record number may be a decimal number (the default) or an octal value indicated by a "%" after the "#", or a hexadecimal value indicated by a "$".

For example, to read the fifteenth record in the dataset INVOICES, one could use any of the following commands:

   FIND INVOICES.#15
   FIND INVOICES.#%17
   FIND INVOICES.#$f

After a record is retrieved, all of the usual QUERY commands may be used on the record. If the record number requested does not exist, QUERY will return a "NO ENTRY" or "DIRECTED END OF FILE" followed by "0 ENTRIES QUALIFIED."

Floating Decimal Option with Native Mode QUERY


The PARM=%777 option is now available with the Native Mode version of QUERY. It was previously only available with the Compatibility Mode version of QUERY.

The availability of this feature on Native Mode QUERY will allow the Compatibility Mode version of QUERY to be discontinued in a future release. With this change, Native Mode Query (QUERY.PUB.SYS and QUERYNM.PUB.SYS) now provides a superset of the Compatibility Mode QUERY. All use of QUERYCM should now be transferable to QUERY.PUB.SYS. Thus, QUERYCM.PUB.SYS may no longer be updated and will be replaced on a future release with a SYMLINK to QUERY.PUB.SYS.

Availability of New QUERY/iX


The newest version of Query/iX D.03.20 is part of the MPE/iX 7.0 Express 1 release. Before that release, patches QUELXP5A/B/C for MPE/iX 6.0, 6.5, and 7.0 will be available.

Service Request Fixes


Three Service Requests were fixed in this release of QUERY/iX.

SR 1653-268235 Superdex Indexes were being reported twice on FORM commands.

SR 8606-108307 Find on Z-type items sometimes gave a Scratch File Read Error 0.

SR 8606-186080 Report always displays last digit of reals as "0"




PCS/iX (SCOPE) Enhanced with Expanded Limits


Samba/iX 2.0.7