added sysprog entities
This commit is contained in:
130
SYSPROG/STPROC/NULL_MFS.txt
Normal file
130
SYSPROG/STPROC/NULL_MFS.txt
Normal file
@ -0,0 +1,130 @@
|
||||
Subroutine NULL_MFS(CODE, BFS, HANDLE, NAME, FMC, RECORD, STATUS)
|
||||
|
||||
/* Name : SYSLISTS_MFS
|
||||
* Description:
|
||||
* Cache Temporary lists in memory to speed selects, reduce load on network, reduce GFE chances
|
||||
|
||||
* Open -- put the cache number in the handle
|
||||
* Read/Reado -- add the record to the cache
|
||||
* write/delete/clear -- Update remote, local copy
|
||||
* omnievent -- fullcache
|
||||
*
|
||||
*
|
||||
* Side Effects:
|
||||
* Search of lists file will not show temp lists
|
||||
*
|
||||
|
||||
*/
|
||||
|
||||
Declare Function RTI_HASHTABLE2, RTI_MD5,RTI_crc32, rti_memcached
|
||||
Declare Subroutine RTI_HASHTABLE2, RTI_MD5, rti_memcached
|
||||
|
||||
$insert Logical
|
||||
$insert FSErrors_100
|
||||
$Insert FILE.SYSTEM.EQUATES
|
||||
$Insert memcached_mfs_Equates
|
||||
$Insert rti_memcached_equates
|
||||
|
||||
$Insert File.System.OnGoSub
|
||||
Return
|
||||
|
||||
|
||||
|
||||
|
||||
* -------------- Main Subs -----------------
|
||||
READ.RECORD:
|
||||
READO.RECORD:
|
||||
WRITE.RECORD:
|
||||
DELETE.RECORD:
|
||||
CLEARFILE:
|
||||
DELETE.FILE:
|
||||
GOSUB NEXT.MFS
|
||||
Return
|
||||
* ---------------------------------------
|
||||
* non-chained filing system calls
|
||||
* ---------------------------------------
|
||||
Flush:
|
||||
Unlock.All:
|
||||
Record = ""
|
||||
|
||||
Status = TRUE$
|
||||
Return
|
||||
|
||||
Install:
|
||||
Status = TRUE$
|
||||
Return
|
||||
* ---------------------------------------
|
||||
* ---------------------------------------
|
||||
* Chained Filing System Calls
|
||||
* ---------------------------------------
|
||||
LOCK.RECORD:
|
||||
UNLOCK.RECORD:
|
||||
GOSUB NEXT.MFS
|
||||
RETURN
|
||||
|
||||
*--------------------------------------------------
|
||||
SELECT:
|
||||
READNEXT:
|
||||
CLEARSELECT:
|
||||
RECORD.COUNT:
|
||||
* ---------------------------------------
|
||||
CREATE.INDEX:
|
||||
DELETE.INDEX:
|
||||
UPDATE.INDEX:
|
||||
SELECT.INDEX:
|
||||
READNEXT.INDEX:
|
||||
* ---------------------------------------
|
||||
GOSUB NEXT.MFS
|
||||
Return
|
||||
|
||||
|
||||
Omni.Script:
|
||||
GOSUB NEXT.MFS
|
||||
Return
|
||||
|
||||
|
||||
Reserved:
|
||||
* there is a critical error if this line is reached
|
||||
Status = FALSE$
|
||||
Return
|
||||
|
||||
* ---------------------------------------
|
||||
* On open, connect to a cache
|
||||
* Use a "namespace" prefix to separate this table's data from another
|
||||
* namespace rule is crc32 of handle+tablename, so if they attach the same table with a different volume they see different data
|
||||
|
||||
* Note - to "clear" a table from memcached you change the namespace
|
||||
* If we ever want to support clear_Table, we must make clear_table change the namespace, perhaps we use handle + name + a clear_counter in the dict.
|
||||
*
|
||||
OPEN.FILE:
|
||||
CREATE.FILE:
|
||||
RENAME.FILE:
|
||||
MOVE.FILE:
|
||||
REMAKE.FILE:
|
||||
* ----------------------------------------
|
||||
Open.Media:
|
||||
CREATE.MEDIA:
|
||||
READ.MEDIA:
|
||||
WRITE.MEDIA:
|
||||
Close.Media:
|
||||
gosub Next.MFS
|
||||
Return
|
||||
|
||||
|
||||
|
||||
|
||||
* ---------- End of Subroutine
|
||||
* ==================================
|
||||
* execute filing system chain
|
||||
* ==================================
|
||||
Next.MFS:
|
||||
|
||||
|
||||
* Strips this MFS leaving the next fs as first element in array
|
||||
FSList = delete(BFS, 1, 1, 1)
|
||||
NextFS = FSList<1,1,1>
|
||||
if len(NextFS) then
|
||||
call @NextFS(Code, FSList, Handle, Name, Fmc, Record, Status)
|
||||
End
|
||||
Return
|
||||
|
Reference in New Issue
Block a user