Loading...
 

CX_OBJECT_MANAGER

CX_OBJECT_MANAGER

Class hierarchy
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:
...

List of methods (MDI)
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 INTEGERCX_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.
LookUpMetaInfo shows the existence of the meta data for database layout and/or system dictionary even if this data was not used at system startup (if SystemDB was not set accordingly)

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, INTEGERINTEGER 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
OBJECTVECTOR&lmt;INTEGER>Returns all layers in which the object is located.
QueryDatabase
227219
OBJECTCXS_DATABASEReturns the database in which the object is located or NULL.
QueryDomain OBJECT INTEGER all objects derived from CX_EXPANDABLE know their domain
QueryLayer OBJECT INTEGERReturns 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 INTEGERINTEGER 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 directory (DDI)
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

Use in AppsWH
Module Brief description