CX_OBJECT_MANAGER
Class hierarchy
- CX_CLASS
- CX_SYSTEM_MANAGER
- CX_OBJECT_MANAGER
- CX_SYSTEM_MANAGER
Description:
The object manager is an abstraction that separates the physical characteristics of the storage of objects from the rest of the ClassiX® architecture. The object manager controls
- in which segment / cluster an object is saved
- in which RootEP-Collections it is inserted
- how the database is divided into physical sub-databases, layers and domains
The object manager creates, deletes and copies persistent objects.
Code example:
Function | MA* | Parameters | Return | Brief description |
---|---|---|---|---|
AnalyzeSegmentLayout 212705 | INTEGER,INTEGER | CX_JSON_OBJECT | Returns a memory evaluation of the specified segment according to slots, slot values, and objects. | |
ChangePseudoClass 202338 | OBJECT, INTEGER | |||
CheckOStoreVersion | STRING | Checks if the desired ObjectStore version is installed on the client and the server, e.g. "ObjectStore Release 6.0 Service Pack 8". If not, an error is reported. In the startup window this error message causes the program to abort, preventing access to an unwanted database version. | ||
ClearClientCache | Empty" the client cache to create comparable conditions for performance tests | |||
CloseDatabase | INTEGER | Close database. The parameter refers to the number of the database in classix.ini | ||
ClusterInfo | an object (stored in the database) | CXS_CLUSTER_INFO | Information about segment and cluster in which the object is stored | |
CollectInSegment | INTEGER, INTEGER, STRING | COLLECTION | Collect all objects of a certain class in one segment. Objects of derived classes are included | |
CollectObjects | INTEGER, INTEGER | COLLECTION | deprecated - treatment AS overflow is insufficient combines all objects of the class specified with the first parameter into one collection - - ... further indications and differences | |
CollectObjects2 | INTEGER, INTEGER | COLLECTION | ||
CollectObjects3 | INTEGER, INTEGER, INTEGER, INTEGER | COLLECTION | ||
CollectOrphans | INTEGER, STRING | COLLECTION | Collect objects for physical deletion - ... further indications and differences | |
CollectOrphans2 | COLLECTION, STRING | COLLECTION | ||
CopyPersObject | OBJECT, INTEGER, INTEGER, VECTOR&lmt;STRING> | OBJECT | behaves like the InstantView® command of the same name; in addition, data fields can be excluded from being transferred to the copied object(examples) | |
CopyREPCollection | STRING, STRING, INTEGER | creates a copy of the collection connected to REP 'Name(old)' and binds it to REP 'Name(new) | ||
GetREP | INTEGER, INTEGER, INTEGER | COLLECTION | Provides access to a REP bypassing the currently set layer and domain. | |
CreateReserveSegments | INTEGER | |||
DataFields | COLLECTION | you get all data field names assigned in the ClassiX® system and their usage, i.e. member of which class(es) / dynamic data field / specifier | ||
DebugShowReloptQueue | Outputting internal data structures | |||
DestroyAllSegTables | ||||
EnableDeadlockPrevention 214458 | INTEGER | Disable deadlock prevention mechanism | ||
FreeAddressSpace | Release address space by transaction change | |||
FreeVirtualMemory | INTEGER | prevent out of virtual memory exception | ||
GetAddressSpaceSize | CX_VALUE | Returns the actual size of the address space | ||
GetCacheSize | INTEGER | Returns the size of the database cache | ||
GetCacheSizeFactor | CX_PERCENT | Returns the Cache Size Factor | ||
GetClusteringMode | CX_BIT_PATTERN | Returns the clustering mode | ||
GetClusteringObject | OBJECT | |||
GetDatabases | COLLECTION | all databases | ||
GetDBUtility | CX_DB_UTILITY | get the Database Utility object | ||
GetGlobalFetchPolicy | INTEGER | Parameters for SetGlobalFetchPolicy | ||
GetLayers | COLLECTION | Layers and domains represented by CXS_LAYER, CXS_DOMAIN | ||
GetLoggedClasses | VECTOR&lmt;INTEGER> | Returns the current class whitelist of the change logger | ||
GetNotLoggedClasses | VECTOR&lmt;INTEGER> | Returns the current class blacklist of the change logger | ||
GetMemoryReservedForApps | CX_VALUE | Returns the size of the memory reserved for ClassiX | ||
GetMetaClass | INTEGER | CX_META_CLASS | Meta class for class 'classID | |
GetMetaClasses | COLLECTION&lmt ;CX_META_CLASS> | all meta classes | ||
GetObjectsInSegment | STRING, INTEGER, INTEGER | COLLECTION | returns all objects in a certain segment, compare also CXS_SEGMENT::GetObjects | |
GetObjectsReferringTo | OBJECT, STRING | COLLECTION | the cross-reference of the objects must first be established with the utility program cxxosr.exe | |
GetOStoreVersion | INTEGER | STRING | Determines the ObjectStore version of the local computer (parameter = 1) or the database server (parameter = 0). In case of an error (ObjectStore not started, database server not accessible) the function returns an empty string, otherwise the version, e.g. "ObjectStore Release 6.0 Service Pack 8". | |
GetPageSize | CX_VALUE | Returns the currently set size of a page. | ||
GetReadLockTimeout | INTEGER | Default is 1 min | ||
GetRootClass | CX_META_CLASS | Meta class for CX_CLASS | ||
GetSegments | COLLECTION | all segments | ||
GetServers | VECTOR&lmt;OBJECT> | Information about all ObjectStore servers | ||
GetSessions | INTEGER | |||
GetStartDirectory | STRING | |||
GetTerminalServerCacheSize | CX_VALUE | Returns the cache size in case of a remote desktop connection | ||
GetUnassignedAddressSpace | INTEGER | |||
GetWriteLockTimeout | INTEGER | Default is 1 min | ||
Instantiate | OBJECT,OBJECT | OBJECT | Instantiates an object that still exists as a "lazy creator" near another one. Example: obj masterObj GetManager(OBJECT) Call(Instantiate) -> obj It is important to assign it to the variable that originally held the object, because the lazy creator shell has no meaning anymore | |
IsRegistered | OBJECT | INTEGER | ||
LinkAtPosition | OBJECT, STRING, STRING, OBJECT, OBJECT, INTEGER | Like link, but entry in Collection to a specific position | ||
LookUpMetaInfo | STRING, INTEGER | OBJECT | Is metadata stored in the database? flag = 4 - enumeration tables flag = 8 - Locales The input parameter indicates which metadata is of interest; the output flag shows by means of occupied bits in the above coding which of the queried metadata were found in the database. | |
MakeAllSegmentsVisible | After the system start, the object manager "knows" all active segments, i.e. segments in which new objects can be created. Inactive segments (in which no new objects are created) are created by segment splitting. After calling up this function, the segment list of the object manager contains all segments existing in the database. | |||
MaxLayers | INTEGER | get the number of layers | ||
MoveREPCollection | INTEGER, STRING | Move REP-Collection to the specified segment | ||
NewDatabase | CXS_DATABASE | Create database interactively (example) | ||
NewMetaClass | CX_META_CLASS | Create pseudo class interactively (example) | ||
NewREPCollection | CXS_REP_COLLECTION | Create REP-Collection interactively (example) | ||
NewSegment | CXS_SEGMENT | Create segment interactively (example) | ||
NumberOfReserveSegments | INTEGER | |||
OpenDatabase | STRING, INTEGER | INTEGER | Open the n-th logical database (see classix.ini) with a new path to another physical database | |
ParseMetaInfoAdditive 230331 | STRING | Parses the contents of the STRING as if it were part of the MetaInfo section of the .ini file. | ||
QueryAllLayers 227219 | OBJECT | VECTOR&lmt;INTEGER> | Returns all layers in which the object is located. | |
QueryDatabase 227219 | OBJECT | CXS_DATABASE | Returns the database in which the object is located or NULL. | |
QueryDomain | OBJECT | INTEGER | all objects derived from CX_EXPANDABLE know their domain | |
QueryLayer | OBJECT | INTEGER | Returns the first layer in which the object was found or -1. | |
QuerySegment | OBJECT | CXS_SEGMENT | returns the segment in which the object is stored | |
ReleaseAddressSpace | The address space used since the last call of SetAddressSpaceMarker is released. The function does nothing (no-operation) if - SetAddressSpaceMarker was never called before - when called on an InstantView® level > 0 | |||
ReleaseAddressSpace2 | INTEGER | |||
RenameREP | STRING | Rename root entry point: creates REP 'Name(new)' and connects to the value of REP 'Name(old)'. This is done in all physical databases - matching AutoLayer | ||
RenameREP2 | STRING, STRING, STRING | like RenameREP, but only in the physical database specified as parameter. If the path to the database is specified via an environment variable (see CLASSIX.INI)), the name of the variable can also be passed as a parameter instead of the path. | ||
RepairREPCollection | INTEGER, STRING, INTEGER | Repairs the REP collection of class classID. The new REP-Collection is created in segment seg. With garb=0 the existing REP-Collection is used as a template, with garb=1 the REP-Garbage-Collection is used. The repair is nothing else than copying all pointers from the old to the new REP-Collection, skipping pointers to non-objects. | ||
ResetFetchPolicy | INTEGER | Reset fetch policy for a segment to standard | ||
ResetFetchPolicy2 | STRING | Reset fetch policy for a segment to standard | ||
ResetGlobalFetchPolicy | Reset global fetch policy to default | |||
ReturnMemory | OBJECT | |||
RestoreCollection | COLLECTION, STRING | COLLECTION | copies a collection saved with SaveCollection into the collection passed in the 1st parameter. If NULL is passed, the persistent collection is obtained (from the ScratchPad segment) | |
SaveCollection | COLLECTION, STRING | COLLECTION | creates a persistent collection in the database (in the ScratchPad segment) and copies the collection passed in the parameter into it. A name is assigned (2nd parameter) | |
SaveEnumTables | STRING | Save enumeration tables from a file as objects of class CX_ENUM_TABLE in the database, Empty string as file name means: all enumeration tables known to the system are saved | ||
SessionSwitching | INTEGER | |||
SetAccessHook | File name, type name(Vector) | Record performance data per object access from ObjectStore 6.0 on no longer supported! | ||
SetAddressSpaceMarker | The address space that is used up from now on can be released again with a subsequent call of the function ReleaseAddressSpace. The function only works when called from InstantView® level 0, otherwise it works like No-Operation. | |||
SetClusteringObject | OBJECT | OBJECT | ||
SetDefaultClusterSizeLimit 213694 | INTEGER | Sets the cluster size limit for the default allocation. | ||
SetFetchPolicy | INTEGER, INTEGER | Set fetch policy for a segment | ||
SetFetchPolicy2 | STRING, INTEGER | Set fetch policy for a segment | ||
SetGlobalFetchPolicy | INTEGER | Set global fetch policy | ||
SetLockTimeout | INTEGER, INTEGER | how long to wait for a page, intervals in ms | ||
SetLoggedClasses | VECTOR&lmt;INTEGER> | Sets the class whitelist of the change logger | ||
SetNotLoggedClasses | VECTOR&lmt;INTEGER> | Sets the class blacklist of the change logger | ||
SetSessions | INTEGER | |||
SetTXNPriority | INTEGER | with Dead-Lock the TXN with lower priority is always aborted, default value is 0x8000 | ||
SlotXref | Do not use any more! Replaced by utility cxxosr .exe. creates a cross-reference of all dynamic data fields used in the database (example) | |||
TestDatabaseServer | INTEGER | INTEGER | Tests the accessibility of the server responsible for a logical database | |
UpdateDatabase 172299 | STRING | updates the database layout like cxgoso with flag /U | ||
Where | an object (stored in the database) | CXS_SEGMENT | Information about the segment in which the object is stored |
* MA = Member Access function,
grey background = inherited function
Data field | Type | Reference class | I* | Brief description |
---|---|---|---|---|
internalName | STRING | |||
superClass | POINTER | CX_META_CLASS | ||
realWorldClassID | SHORT | |||
docu | SHORT |
* I = Indexable data field,
grey background = inherited data field
Module | Brief description |
---|---|