The object manager is an abstraction, which separates physical features for saving objects from the remaining ClassiX® architecture. The object manager controls,

The object manager generates, deletes and copies persistent objects.
| Function | MA* | Parameter | Return | Brief description |
|---|---|---|---|---|
| CheckOStoreVersion | STRING | Checks, if the required ObjectStore version is installed on client and server, e.g. "ObjectStore Release 6.0 Service Pack 8". If this is not the case, a problem report appears. This problem report causes a program abort in the startup window. This prevents access to another, unwanted database version. | ||
| ClearClientCache | "Empty" client cache, to create comparable conditions for performance test | |||
| CollectObjects | INTEGER, INTEGER | COLLECTION |
pools all objects of the class. specified with the first parameter, in a
collection ... further information and differences |
|
| CollectObjects2 | INTEGER, INTEGER | COLLECTION | ||
| CollectObjects3 | INTEGER, INTEGER, INTEGER, INTEGER | COLLECTION | ||
| CollectOrphans | INTEGER, STRING | COLLECTION |
collect objects for physical deleting - ... further information and differences |
|
| CollectOrphans2 | COLLECTION, STRING | COLLECTION | ||
| CopyPersObject | OBJECT, INTEGER, INTEGER, VECTOR<STRING> | OBJECT | behaves just like the homonymous InstantView® command; additionally, data fields can be excluded from being adopted into the copied object (examples) | |
| CopyREPCollection | STRING, STRING, INTEGER | generates a copy of the collection, which is connected to REP 'name(old)' and connects it to REP 'name(new)' | ||
| GetREP | INTEGER, INTEGER, INTEGER | COLLECTION | provides access to an REP while avoiding the currently set layers and the currently set domain | |
| CreateReserveSegments | INTEGER | |||
| DataFields | COLLECTION | man erhält alle im ClassiX®-System vergebenen Datenfeld-Namen und ihre Verwendung, d.h. Member welcher Klasse(n) / dynamisches Datenfeld / Specifier | ||
| DebugShowReloptQueue | display internal data structure | |||
| DestroyAllSegTables | ||||
| GetCacheSize | INTEGER | returns database cache size | ||
| GetClusterInfo | ein (in der Datenbank gespeichertes) Objekt | CXS_CLUSTER_INFO-Objekt | information on segment and cluster, in which the object is stored | |
| GetClusteringObject | OBJECT | |||
| GetDataBases | COLLECTION | all databases | ||
| GetDBUtility | CX_DB_UTILITY | provides database utility object | ||
| GetLayers | COLLECTION | layers and domains, represented by CXS_LAYER, CXS_DOMAIN | ||
| GetMetaClass | INTEGER | OBJECT | meta classes for class 'classID' | |
| GetMetaClasses | COLLECTION | all meta classes | ||
| GetObjectsInSegment | STRING, INTEGER, INTEGER | COLLECTION | provides all objects in a specific segmen part, see also CXS_SEGMENT::GetObjects | |
| GetObjectsReferringTo | OBJECT, STRING | COLLECTION | object cross reference must be generated before with the utility program cxxosr.exe | |
| GetOStoreVersion | INTEGER | STRING | Ermittelt die ObjectStore-Version des lokalen Rechners (Parameter = 1) oder des Datenbankservers (Parameter = 0). Bei einem Fehler (ObjectStore nicht gestartet, Datenbankserver nicht erreichbar) liefert die Funktion einen Leerstring zurück, ansonsten die Version, z.B. "ObjectStore Release 6.0 Service Pack 8" | |
| GetReadLockTimeout | INTEGER | default is 1 min | ||
| GetRootClass | OBJECT | meta class for CX_CLASS | ||
| GetSegments | COLLECTION | all segments | ||
| GetServers | VECTOR<OBJECT> | information on all ObjectStore servers | ||
| GetSessions | INTEGER | |||
| GetStartDirectory | STRING | |||
| GetUnassignedAddressSpace | INTEGER | |||
| GetWriteLockTimeout | INTEGER | default is 1 min | ||
| Instantiate | OBJECT,OBJECT | OBJECT |
Instanziiert ein Objekt, das noch als "lazy
creator" existiert, in der Nähe eines anderen. Bsp.: obj masterObj
GetManager(OBJECT) Call(Instantiate) -> obj Wichtig ist die anschließende Zuweisung an die Variable, die das Objekt ursprünglich hielt, denn die Lazy-Creator-Hülle hat nun keine Bedeutung mehr |
|
| IsRegistered | OBJECT | INTEGER | ||
| LinkAtPosition | OBJECT, STRING, STRING, OBJECT, OBJECT, INTEGER | Just like link, but collection entry to different position | ||
| LookUpMetaInfo | STRING, INTEGER | OBJECT |
Are meta data stored in the database? flag = 1 - Database-layout (classes, files, storages, segments ...) flag = 2 - system dictionary (dynamic data fields, index info... ) flag = 4 - enumeration table flag = 8 - locales The entry parameter indicates the relevant meta data; the output flag displays via allocated bits in the coding shown at the top, which meta data out of the queried ones had been found in the database. LookUpMetaInfo shows the existence of meta data for database layout and/or system dictionary, even if these data haven't been used at system start (if SystemDB has not been set accordingly) |
|
| MakeAllSegmentsVisible | Der Objektmanager "kennt" nach dem Systemstart alle aktiven Segmente, d.h. Segmente, in denen neue Objekte erzeugt werden können. Inaktive Segmente (in denen keinen neuen Objekte mehr angelegt werden) entstehen durch Segment-Splitting. Nach Aufruf dieser Funktion enthält die Segmentliste des Objektmanagers alle in der Datenbank existierenden Segmente. | |||
| MaxLayers | INTEGER | provides number of layers | ||
| MoveREPCollection | INTEGER, STRING | move REP collection according to the indicated segment | ||
| NewDatabase | CXS_DATABASE | create database interactively (exacmple) | ||
| NewMetaClass | CX_META_CLASS | generate dummy class interactively (example) | ||
| NewREPCollection | CXS_REP_COLLECTION | generate REP collection interactively (example) | ||
| NewSegment | CXS_SEGMENT | generate segment interactively (example) | ||
| NumberOfReserveSegments | INTEGER | |||
| QueryDomain | OBJECT | INTEGER | all objects that have been derived from CX_EXPANDABLE know their domain | |
| QueryLayer | OBJECT | INTEGER | The database layer, in which an object is stored is found. This is only possible for (according to the clustering strategy). Otherwise, the result is - 1 | |
| QuerySegment | OBJECT | CXS_SEGMENT-Objekt | provides the segment, in which the object is stored | |
| ReleaseAddressSpace |
The address space, used since calling SetAddressSpaceMarker last gets
released. The function does nothing (no-operation) if - SetAddressSpaceMarker has never been called before - when calling an InstantView® level > 0 |
|||
| ReleaseAddressSpace2 | INTEGER | |||
| RenameREP | STRING | rename root entry point: generates REP 'name(new)' and connects to the REP value 'name(old)'. Dies geschieht in allen physischen Datenbanken - passend zu AutoLayer | ||
| RenameREP2 | STRING, STRING, STRING |
just like RenameREP, but only in the physical database indicated as a
parameter. If the database path is indicated via environment variable, (see CLASSIX.INI), it is also possible to pass the variable name instead of the path as the parameter. |
||
| RepairREPCollection | INTEGER, STRING, INTEGER | Repairs the REP collection of the class classID. The new REP collection is generated in the segment seg. Bei garb=0 wird die existierende REP-Collection als Vorlage benutzt, bei garb=1 die REP-Garbage-Collection. Die Reparatur ist nichts anderes als ein Kopieren aller Zeiger von der alten in die neue REP-Collection, wobei Zeiger auf Nicht-Objekte übersprungen werden. | ||
| ResetFetchPolicy | INTEGER | reset fetch policy to default | ||
| ResetFetchPolicy2 | STRING | reset fetch policy to default | ||
| ResetGlobalFetchPolicy | reset global fetch policy to default | |||
| ReturnMemory | OBJECT | |||
| RestoreCollection | COLLECTION, STRING | COLLECTION | copies a saved collection with SaveCollection into the collection passed in the 1st parameter. If ZERO gets passed, this brings up the persistent collection (from the ScratchPad segment) | |
| SaveCollection | COLLECTION, STRING | COLLECTION | generates a persistent collection in the database (in the ScratchPad segment) and copies the collection passed in the parameter into this collection. Dabei wird ein Name vergeben (2. Parameter) | |
| SaveEnumTables | STRING |
store enumerations tables from a CX_ENUM_TABLE object file in database empty string as file name called: all enumeration tables known to the system are saved |
||
| SaveMetaInfo | STRING, INTEGER | OBJECT |
write meta information in specified segment, flag = 1 - database layout (classes, files, storages, segments ...) flag = 2 - system dictionary (dynamic data fields, index info... ) flag = 3 - both if required, a segment is generated with the indicated name (example) |
|
| SessionSwitching | INTEGER | |||
| SetAccessHook | file name, type name(Vector) | capture performance data per object access from ObjectStore 6.0 no longer supported ! | ||
| SetAddressSpaceMarker | Der ab jetzt weiter verbrauchte Address-Space can be released with the following function call ReleaseAddressSpace. The function only works when calling from InstantView® level 0, otherwise lik no-operation. | |||
| SetClusteringObject | OBJECT | OBJECT | ||
| 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 it is necessary to wait for a page, intervals in ms | ||
| SetSessions | INTEGER | |||
| SetTXNPriority | INTEGER | bei Dead-Lock wird immer die TXN mit kleinerer Priorität abgebrochen, Default-Wert ist 0x8000 | ||
| SlotXref |
Don't use!
Replaced by utility
cxxosr.exe. generates a cross reference of all dynamic data fields used in the database (example) |
|||
| SplitSegmentsImmediately | ||||
| UpdateMetaInfo | write meta object, that have been written into the database with the functions NewMetaClass, NewDatabase, NewSegment, NewREPCollection | |||
| Where | object (stored in the database) | CXS_SEGMENT-Objekt | information about the segment, in which the object is saved |
| Data field | Type | Reference class | I* | Brief description |
|---|---|---|---|---|
| internalName | STRING | |||
| superClass | POINTER | CX_META_CLASS | ||
| realWorldClassID | SHORT | |||
| docu | SHORT |
| Module | Brief description |
|---|---|