| SecureUser |
| VERBatim - V25 |
| @ATTACK - @Files.System |
| Advanced Revelation Initialisation Sequence (Overview) by Mike Pope |
| REVMEDIA Revisted |
| !File Records |
| QTIPS - Updating Indexes |
| Indexing on Xlates |
| Rebuilding Indexes |
| How Indexes Are Updated |
| Index Record Layouts |
| Index Flush |
| REVMEDIA Revisited |
| QTIPS - DOSTime |
| VERBatim - V11 |
| @ATTACK - @Backgrnd.Time |
| @ATTACK - @Index.Time |
| QTIPS - Time-outs in Windows |
| Reader's Clinic - Line Length > 256 Characters |
| QTIPS - String Space |
| QTIPS - String Space Format Errors |
| Reader's Forum - Numeric Precision in R/Basic - Hal Wyman |
| Background Processing |
| Creating Your Own Background Processes |
| @ATTACK - @Index.Time |
| How Indexes Are Updated |
| Creating Your Own Background Processes |
| @ATTACK - @Last.Select.Process |
| Reader's Forum |
| QTIPS - Menu Item Pre-Processing |
| Networked %SK% |
| RTP Series - RTP25 |
| A RevTechie Replies - And Miscellaneous Jottings - Mike Pope - Revelation Technologies (UK) Ltd |
| Reader's Clinic - Fixing %Windows% Using Depend.Update |
| QTIPS - Updating Indexes |
| How Indexes Are Updated |
| REVMEDIA Revisted |
| Networked %SK% |
| Network Contention |
| Directory Exists on Novell |
| QTIPS - String Space Format Errors |
| QTIPS - Postscript Driver Problem |
| Reader's Clinic - Preventing Records Being Amended |
| QTIPS - Finding/Replacing Spaces With The Editor |
| Reader's Clinic - Scribe Replace Processes in Window |
RevMedia FKB
| Document | V2I9A4 |
| Title | How Indexes Are Updated |
| Keywords | UPDATE INDEX SI.MFS !INDEXING BTREE INPUT.CHAR INDEX.CONTROL FILE.DISTRIBUTOR F.DISTRIBUTOR F.INDEXER BTREE.READ BTREE.WRITE |
| Text | Indexing continues to be one of the least understood areas of AREV and our subscribers repeatedly request additional clarification on related issues Following on FROM our issue describing index record structures (Volume 2 Issue 1) the following documents the logic FLOW of the system when updating indexes All i/o to an indexed file must first pass through SI MFS When this detects that a change has been made it updates the !INDEXING file WITH transaction records and then as time is made available (or INDEXES are flushed manually) it updates the INDEXES and balances the BTREES This is not achieved by one self contained AREV routine but by a whole string of routines SI MFS INPUT CHAR INDEX CONTROL FILE DISTRIBUTOR F DISTRIBUTOR F INDEXER BTREE READ and BTREE WRITE The process taken could be represented by the following Pseudo Code WRITE RECORD (CALLS SI MFS) SI MFS LOOP UNTIL LOCK OBTAINED ON !INDEXING 0 REPEAT READ RECORD 0 UPDATE RECORD 0 IF RECORD 0 TOO BIG THEN GET LATEST TRANSACTION RECORD MOVE RECORD 0 INTO LATEST TRANSACTION RECORD UPDATE LATEST TRANSACTION RECORD END UNLOCK !INDEXING 0 Note here that if somebody else on a network is involved in a record write involving several INDEXES your station will appear to hang when you file a record WITH INDEXES Your station will have to wait for the !INDEXING 0 lock When control is returned to INPUT CHAR the following occurs INPUT CHAR LOOP UNTIL TIME OUT REACHED REPEAT CALL INDEX CONTROL Note here that if there is a replace background process specified in the environment (2 X only) this will be called in place of INDEX CONTROL and no further processing will take place References to Post Index Check following also only apply in 2 X INDEX CONTROL LOOP IF NOT KEY STROKE THEN CALL FILE DISTRIBUTOR FILE DISTRIBUTOR LOOP UNTIL KEY STROKE MOVE RECORDS FROM !INDEXING TO !FILE REPEAT END IF NOT KEY STROKE THEN CALL F DISTRIBUTOR F DISTRIBUTOR LOOP UNTIL KEY STROKES MOVE RECORDS TO FIELD CONTROL RECORDS REPEAT END IF NOT KEY STROKE THEN CALL F INDEXER F INDEXER LOOP UNTIL KEY STROKES UPDATE BTREE NODES REPEAT END IF NOT KEY STROKE THEN CALL POST INDEX CHECK END UNTIL KEY STROKE REPEAT RETURN TO INPUT CHAR Note that these stages can be interrupted at any stage by pressing a key The process of performing the BTREE update incrementally slows the system down but permits it to be DONE WITH minimal interference WITH normal work (Volume 2 Issue 9 Pages 5 6) |
Page last modified: 30/01/03