saveImmediate

 

 

Overview

The saveImmediate function reads a value stored at the specified key, {key}, from the specified ObjectRepository {aGor} and stores the new value {value} in the Repository Index.

The Repository Index is simply a Directory, which is saved on the disk with the Object Repository. The keys in the Repository Index normally map to a value which is a pointer to the location in the disk file. Retrieving or Saving a value to the Object Repository is key driven and requires two disk access:

1) Load the Repository Index into the Virtual Memory of the Analytic Information Server Server.

2) Use the key and then the disk pointer associated with the key, read the value from the disk.

The saveImmediate function replaces the pointer value with the immediate value from retrieved from the disk. Thus, if the Object Repository file is closed, the Repository Index is saved in its modified state. If another Object Repository references causes the Object Repository to be opened and the Repository Index to be loaded into virtual memory, the result of the saveImmediate from the last reference is persists in the Repository Index.

Usage

The saveImmediate function should be used on values that are referenced many times during an execution of an Lambda or function as it eliminates a disk access and will result in optimized access times. The Repository Index will be dynamically resized to accommodate immediate values and can grow to any size limited only by available virtual memory.

 

Syntax


Expression:

(saveImmediate aGor key value )


Arguments Name Type Description
Argument:aGorObjectRepository The ObjectRepository which will be tested.
Argument:key String The key value associated with the object.
Argument:value String The value associated with the object.

Returns:

The Object Id of the Object Repository.



 

Examples

Here are a number of links to Lambda coding examples which contain this instruction in various use cases.

 

Argument Types

Here are the links to the data types of the function arguments.

ObjectRepository Directory String

Here are also a number of links to functions having arguments with any of these data types.

*= abortTransaction addMethod appendWriteln
append attachLibrarian balance beginTransaction
binaryInsert binarySearch boolean cdr
character checkPointTransaction clean closeLog
code commitTransaction compareEQ compareGE
compareGT compareLE compareLT compareNE
compare comparison compress cons
copy count date day
days360 debugBrowsableProcs debugDetective debugEval
delete detachLibrarian dimension disassemble
display downcase encode evalInSyncLocalContext
eval exportCsv exportSbf exportTab
fileDir fileEraseDir fileExists fileMakeDir
fileReadAll fileReadRecord fileSizeOf fileWriteAll
find hashString hour importCsv
importSbf importTab insert inside
inspect integer isAtom isBitVector
isBoolean isBound isByteVector isCharAlphabetic
isCharAlphanumeric isCharLowercase isCharName isCharNumeric
isCharUppercase isCharWhitespace isChar isCharacter
isComplex isDate isDictionary isDirectory
isEqual isError isFloatVector isIdentical
isImmediate isInside isIntegerVector isInteger
isLambda isMatrix isMember isMoney
isNumberMatrix isNumberVector isNumber isObjectVector
isObject isPair isPcodeVector isString
isStructure isSymbol isText isTransaction
isType isVector julian left
length list loadModule loadRepository
loadWorkspace macroReplace makeQuotedList makeQuotedSymbol
map mapc member methodsOf
mid minute money month
new number objectToDirectory objectToMatrix
objectToNumMatrix objectToNumVector objectToVector offset
openLog pair parent parse
pointer qt refAttributes refLibrarian
refValues ref remove rename
replace rept resize right
run saveImmediate saveModule saveObject
saveRepository saveWorkspace second setCar
setCdr setLastCdr set setf
setq sizeof sort sql
stringCiEQ stringCiGE stringCiGT stringCiLE
stringCiLT stringCiNE stringFill stringToBVector
stringToVector string submit substitute
substringCiEQ substringCiGE substringCiGT substringCiLE
substringCiLT substringCiNE substringEQ substringFill
substringGE substringGT substringLE substringLT
substringNE substring symbolToTypeCode symbol
system text time trim
type uniqueInsert upcase vectorDelete
vectorFill writelg writeln year

Analytic Information Server (AIS)

AIS Component Systems

  • Smartbase Engine
  • QT C++ Libraries
  • MySQL Relational Database
  • AIS Lisp Libraries
  • Rapid Analytic Demo IDE