[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference iosg::all-in-1_v30

Title:*OLD* ALL-IN-1 (tm) Support Conference
Notice:Closed - See Note 4331.l to move to IOSG::ALL-IN-1
Moderator:IOSG::PYE
Created:Thu Jan 30 1992
Last Modified:Tue Jan 23 1996
Last Successful Update:Fri Jun 06 1997
Number of topics:4343
Total number of notes:18308

3416.0. "*WISH* keyed access with GTS/GES operators" by PEARS::KRAMER (Fritz Kramer @UFC, Munich, 865-1305) Tue Oct 19 1993 19:20

    Hi,

    I know the following issue is almost as old as ALL-IN-1 itself and
    has been discussed in length in this conference(s).

    Anyway,
    I would like to have the following performance (1) enhancements/ 
    (2) bugfixes in the the area of keyed access to RMS-Datasets.

    (1) Enhancement

    The APR Guide states on page 16-10 "Accessing Fields from a Data Set:

    "- Use only the EQS, ENS or BEGINNING relational operators.

      These are the only three operators that let ALL-IN-1 perform an indexed
      search."

    I would like have the operators GTS and GES added to this list.
    Technically this should be possible since

    - RMS does keyed access with GTS and GES
    - even ALL-IN-1's DATA_FILE function does keyed access with the
      /GTS or /GES qualifiers

    (2) Bugfix ?!?

    The following example should demonstrate where I have problems in getting
    keyed access with the "==" and "=" operators. Keyed access with "=="
    and "=" means

	1. (START) to be able to perform an index search (START)
	2. (STOP)  to stop the search when the searchcriteria (RSE) 
	           doesn't match anymore
        
    The testfile TWO_KEYS.DAT contains the following records

    !TYPE TWO_KEYS.DAT
    !-----------------
    !key0       key1
    !-----------------
    !AA         AA         
    !AB         AA         
    !BA         BA         
    !BB         BB         
    !CA         CA         
    !CB         CB         
    !DA         BA         
    !DB         BB         

    !----------------------------------------------------------------------

    The follwing table should be read as follows:
    Left side: the functions executed:
    Right side: - START: ok     - means keyed access
	        - START: not ok - no keyed access
		- STOP:  ok     - access stopped timely
		- STOP:  not ok - either not stopped timely or not at all 
				  (-> end of file)

    FOR TWO_KEYS .KEY0 == "BA" DO	 !START: ok	STOP: ok
    FOR TWO_KEYS .%KEY == "BA" DO 	 !START: ok	STOP: not ok (eof)
    FOR TWO_KEYS .KEY0 =  "BA" DO 	 !START: ok	STOP: ok
    FOR TWO_KEYS .%KEY =  "BA" DO 	 !START: ok	STOP: not ok (eof)
    FOR TWO_KEYS .KEY0 == "B"  DO 	 !START: ok	STOP: ok
    FOR TWO_KEYS .%KEY == "B"  DO 	 !START: ok	STOP: not ok (timely)
    FOR TWO_KEYS .KEY0 =  "B"  DO 	 !START: ok	STOP: ok
    FOR TWO_KEYS .%KEY =  "B"  DO 	 !START: ok	STOP: ok !!



    What do you think

    Fritz

T.RTitleUserPersonal
Name
DateLines