| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- DEFINITION MODULE DBIndxes;
- (*
- * ModBase
- * Release 3.0
- * By Don Fletcher & John McMonagle
- * (c) Copyright 1986 - 1991 PMI
- * P.O. Box 8402
- * Green Bay WI 54308
- * All Rights Reserved
- *
- *)
- FROM ModBase3 IMPORT DBFile;
- FROM NumTypes IMPORT Real8;
- TYPE
- DBIndex;
- KeyProcedure = PROCEDURE( DBFile, DBIndex ,VAR ARRAY OF
- CHAR );
- PROCEDURE DefaultKeyProcedure(alias: DBFile; ndx: DBIndex;
- VAR str:ARRAY OF CHAR );
- PROCEDURE FindPositionCh(ndx: DBIndex; keystr:
- ARRAY OF CHAR; VAR found: BOOLEAN);
- PROCEDURE FindPositionN( ndx: DBIndex; keystr:
- ARRAY OF CHAR; VAR found: BOOLEAN);
- PROCEDURE InitIndex(indexname: ARRAY OF CHAR;VAR
- ndx: DBIndex;alias:DBFile ;buffersize: CARDINAL;
- safety,IncludeDeleted,exclusive:BOOLEAN);
- PROCEDURE InitCompIndex(indexname: ARRAY OF CHAR; VAR
- ndx: DBIndex;alias:DBFile;Key :KeyProcedure; buffersize: CARDINAL
- ; safety,IncludeDeleted,exclusive:BOOLEAN);
- PROCEDURE OpenIndex( ndx: DBIndex):BOOLEAN;
- PROCEDURE DisposeIndex(VAR ndx: DBIndex);
- PROCEDURE InsertEntry( ndx: DBIndex; kstr: ARRAY
- OF CHAR; recno: LONGINT );
- PROCEDURE CloseIndex( ndx: DBIndex);
- PROCEDURE UpdateIndex( ndx: DBIndex);
- PROCEDURE SetSafetyOn( ndx: DBIndex);
- PROCEDURE SetSafetyOff( ndx: DBIndex);
- PROCEDURE SetIndexBuffers( ndx: DBIndex;Buffers:CARDINAL);
- PROCEDURE NextRecord( ndx: DBIndex; VAR recno:
- LONGINT): BOOLEAN;
- PROCEDURE PrevRecord( ndx: DBIndex; VAR recno:
- LONGINT): BOOLEAN;
- (* Builds may fail because of failure getting exclusive access *)
- PROCEDURE BuildIndex( ndx: DBIndex; keyexp: ARRAY OF CHAR):CARDINAL;
- PROCEDURE BuildCompIndex( ndx: DBIndex; type: CHAR;
- keyexp:ARRAY OF CHAR;size : CARDINAL):CARDINAL;
- PROCEDURE AddRecord( alias: DBFile; ndx:
- DBIndex);
- PROCEDURE CurrentKeyCh( ndx: DBIndex;VAR val:ARRAY OF CHAR);
- PROCEDURE CurrentKeyN(ndx: DBIndex):Real8;
- PROCEDURE CurrentRec(ndx: DBIndex):LONGINT;
- PROCEDURE NumKeyType( ndx: DBIndex):BOOLEAN;
- PROCEDURE KeyLength( ndx: DBIndex):CARDINAL;
- PROCEDURE DeleteCurrentEntry( ndx: DBIndex);
- PROCEDURE GoTop( ndx: DBIndex);
- PROCEDURE GoBottom( ndx: DBIndex);
- PROCEDURE AddToUpdateList( alias: DBFile; ndx: DBIndex);
- (* add ndx to alias's list of indexes to update *)
- (* PROCEDURE UpdateDBIndxes( alias:DBFile);
- assigned to Index check procedure in Modbase3 *)
- PROCEDURE UpdateUnique( alias: DBFile; ndx:
- DBIndex):BOOLEAN;
- (* must be called after changes are made and before WriteDBFile
- Will indicate TRUE if key is not changed or the new value of the key is
- not in the index. It will only be false if the Update will produce
- a duplicate.*)
- (* you normally never need to call the EnterLock or ExitLock
- even on a network only need if you use InsertEntry which you should
- never need to use *)
- PROCEDURE EnterLock( ndx:DBIndex);
- PROCEDURE ExitLock( ndx:DBIndex);
- END DBIndxes.
|