compile insert SP.MFS.COMMON * This is the LABELLED COMMON area for the SPINDEX MFS and the * Background indexing routines... * COMMON /XSELECT.FLAGS/ SP.VAR0@, SP.VAR1@, SP.VAR2@, SP.VAR3@, SP.VAR4@, SP.SHO@, SP.PRN@, SP.IGN@, SP.MAK@, SP.USE@, SP.BEL@, SP.FOR@, SP.FAND@, SP.LASTX@, SP.LASTS@, SP.PCODE@ COMMON /FLAG.DEFAULTS/ SP.ERR@, SP.DSHO@, SP.DPRN@, SP.DIGN@, SP.DMAK@, SP.DUSE@, SP.DBEL@, SP.DFOR@, SP.DFAND@ COMMON /SPINDEX.COMMON/ SP.TABLE@, SP.TABLEDATA@, SP.TABLEKEYS@(10), SP.SORTKEYS@, SP.RN.NR@, SP.STAT@ COMMON /MSG.IMAGES/ IMAGE1@, IMAGE2@, IMAGE3@ * * SP.TABLE@ ;* This carries the current spindex table, with overflow stored * ;* in the ram.drive.file defined in sp.parms * SP.TABLEDATA@ ;* Carries the data that tracks the 10 most recent tables used * ;* in a readnext statment. * SP.TABLEKEYS@(10) ;* This is a dimensionsed array that carries 10 blocks * ;* of keys read from disk via this readnext. The 10 * ;* blocks correspond with the 10 sets of tabledata stored * ;* in sp.tabledata@. This is done so that actual disk I/O * ;* is eliminated when getting each record id via this * ;* readnext... * SP.SORTKEYS@ ;* If a sort has taken place, then this is the list of * ;* resolved keys... * SP.RN.NR@ ;* This is the readnext number that tells us what readnext * ;* block of keys we are currently processing * SP.STAT@ ;* the station's ID, usually the same as @station, but * ;* could be different if on a banyon-vines network *--------------------- * * SP.PCODE@ ;* used to communicate to sp.parms.mfs that we are doing * ;* an authorized access of spinp 'P' record...usually set * ;* to the value of 'ESTER' * SP.VAR1@ ;* THIS IS USED BY XSELECT TO TELL ALL OTHER PROCESSES, * ;* PARTICULARLY XREADNEXT, THAT AN XSELECT HAS JUST TAKEN * ;* PLACE; XREADNEXT WILL IMMEDIATELY TURN SP.VAR1@ OFF AND * ;* START PROCESSING THE NEW SELECT DATA... * SP.VAR2@ ;* USED BY SPINDFEX SELECT PROCESS TO TELL SP.MFS THAT * ;* AN AREV SELECT IS NOW TAKING PLACWE AND THAT THE * ;* CLEARSELECT FUNCTION MUST NOT BE EXECUTED AT COMPLETION * ;* OF THE AREV SELECT! * SP.VAR3@ ;* used ONLY by sp.mfs to handle readnext processing of * ;* of sorted keys... * SP.VAR4@ ;* Used by XSELECT to tell SPINDEX version of * ;* RTP18.ENGLISH that the actual AREV select must be * ;* perrformed instead of another call to XSELECT... * SP.FOR@ ;* used for passing flags between certain processes * ;* such as between xselect and sp.q33 regarding use of OR * ;* operation... * SP.FAND@ ;* forces an AND operation...with no msg prompt * SP.LASTX@ ;* text of the last XSELECT statement * * * COMMON /SP.MFS.COMMON/ SP.FNAME@, SP.HAND@, SP.FNRS@, SP.ACC@, SP.STP1@, SP.STP2@, SP.1@, SP.DOS@, SP.TKEY@, SP.TFIL@(4), SP.PFIL@, SP.PARMS, SP.CODE@, SP.SNP1@, SP.SNP2@, SP.FILE@, SP.XREF@, SP.FIL@, SP.FLD@, SP.GRP@, SP.BUILD@ * * SP.FNAME@ ;* All filenames that have been opened and correspond to * ;* the SP.HAND@ array * SP.HAND@ ;* All file handles used with OPEN statement, correspoinding to * ;* the SP.FNAME@ array * SP.FNRS@ ;* Actual SPINDEX File Numbers; in parallel with SP.FNAME@ * ;* and SP.HAND@ above * SP.ACC@ ;* Field 1 has a flag; TRUE = allowed access; FALSE =no access * ;* Field 2 contains the @STATION relative position in SPINP 'P' * ;* Parameters File. This position tells SP.BUILD what volume * ;* to use for RAM drive, etc. * SP.STP1@ ;* The current directories that SP.BACKGROUND was at when interrupted * Field 001: start.day (directory) * Field 002: start.hr "" * Field 003: days.left.to.check * Field 004: hrs.left.to.check * * SP.STP2@ ;* USED BY SP.MFS to determine if the user wants to save the * entire set of changed data fields, or just the SPINDEX * INDEXED data fields that have changed! * * SP.1@ ;* Used by sp.mfs to hold the file variable of the current file * dictionary during sort operations... * * SP.DOS@ ;* Name of DOS file that holds the name of the DOS extensions * used during low level SPINDEX Boolean operations * SP.TKEY@ ;* Used by SP.I01 to hold the keys for the TABLE1, TABLE2, * RESULT, and BOOLEAN tables during table processing... * This data is in the form of a @FM delimited variable. * SP.TFIL@(4) ;* Used by SP.I01 to hold the TABLE file variables, * where (1)=table1; (2)=result/table2; (3)=unused; (4)=Boolean * SP.PFIL@ ;* SPINDEX SPINP Parms file * SP.PARMS ;* The PARMS variable read from the SPINP * SP.CODE@ ;* <1> used by sp.r04 (RTP18.ENGLISH) to tell whether or not to * read the xselect voc file item...stores @account here * <2> used to store the last xref key read by sp.mfs * <3> used to store the list of 500 xref keys read by sp.mfs * which is cleared out at the end of a series of readnexts * * SP.SNP1@ ;* used to store the RAM.STORE file's file handle for sp.d06 MFS * SP.SNP2@ ;* not used * SP.FILE@ ;* The file NAME that is currently being updated by the trans * SP.XREF@ ;* Used to store the !filename data for all AREV indexed files; * The variable uses SP.FIL@ to determine which attribute to * look at; then, within each attribute is the same !filename * record that is stored by AREV (see REVMEDIA vol 2, issue 1 * pg 6,7). We load that data here whenever the INSTALL is run * and then we can use that data to determine whether a * relational update is taking place! Because, on relational * update, we CANNOT write the update to disk! * SP.FIL@ ;* The actual indexed SP.FIL@ * SP.FLD@ ;* The attribute number of the current indexed field * SP.GRP@ ;* The actual GROUP number that the indexed field belongs to * * SP.BUILD@ ;* flag indicating that SP.BUILD is in progress * * 08/03/93 - rkh comment out old copyright *EQUATE COPYRIGHT TO "COPYRIGHT (C) 1991, 1992, BY SEARCH TECHNOLOGIES, ALL RIGHTS RESERVED" * EQUATE ONE.NULL TO CHAR(31) EQUATE TWO.NULL TO CHAR(31): CHAR(31) EQUATE SPINDEX.FOUR TO "SP": CHAR(125): CHAR(126) EQUATE SPINDEX.SORT.FOUR TO "SP": CHAR(123): CHAR(156) EQUATE SPINDEX.SORT.KEYS.FOUR TO "SP": CHAR(122): CHAR(157) EQUATE SPINDEX.SORT.REAL.KEYS TO "SP": CHAR(121): CHAR(158) * EQUATE NULL.TABLE TO STR( CHAR(0), 3): CHAR(11): CHAR(0): CHAR(0): CHAR(0): CHAR(129): CHAR(128): CHAR(129): CHAR(128) * Source Date: 09:27:40 04 OCT 1993 Build ID: SPINDEX_21*1.0.14 Level: 1.0