Class Reference
IRIS for UNIX 2019.2
InterSystems: The power behind what matters   
Documentation  Search
  [ENSLIB] >  [%Library] >  [RoutineIndex]
Private  Storage   

persistent class %Library.RoutineIndex extends %Persistent

Index for all the routines in this namespace. Using this index avoids the overhead of loading all the information from ^ROUTINE, ^rMAC, ^rINC which makes the routine editing tool substantially faster. In case you have tools that enter routines directly into the global and you wish to add this routine to the index then after you have edited the global you should call:

	Do RebuildItemIndex^%R(Name,Type)
The global structure is:

^rINDEX(Name,Type)=$ListBuild(Modified,Length)

Where:

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
4 2 1


Summary

Properties
Length Modified Name Type

Methods
%AddToSaveSet %AddToSyncSet %BMEBuilt %CheckConstraints
%CheckConstraintsForExtent %ClassIsLatestVersion %ClassName %ComposeOid
%ConstructClone %Delete %DeleteExtent %DeleteId
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Exists
%ExistsId %Extends %GUID %GUIDSet
%GetLock %GetParameter %GetSwizzleObject %Id
%InsertBatch %IsA %IsModified %IsNull
%KillExtent %KillExtentData %LoadFromMemory %LockExtent
%LockId %New %NormalizeObject %ObjectIsNull
%ObjectModified %Oid %OnBeforeAddToSync %OnDetermineClass
%Open %OpenId %OriginalNamespace %PackageName
%PhysicalAddress %PurgeIndices %Reload %RemoveFromSaveSet
%ResolveConcurrencyConflict %RollBack %Save %SaveDirect
%SaveIndices %SerializeObject %SetModified %SortBegin
%SortEnd %SyncObjectIn %SyncTransport %UnlockExtent
%UnlockId %ValidateIndices %ValidateObject RebuildIndex
RebuildItemIndex


Properties

• property Length as %Integer;
The size in bytes of this routine.
• property Modified as %TimeStamp;
The date/time that this routine was last saved.
• property Name as %String(MAXLEN=128) [ Required ];
The name of the routine.
• property Type as %String [ Required ];
The type of routine, this will be one of:
  • MAC - Macro routine, content is stored in ^rMAC global
  • INT - ObjectScript routine, content is stored in ^ROUTINE global
  • INC - Include file, these may be included from a MAC routine, content is stored in ^rINC
  • BAS - Cache Basic routine, content is stored in the ^ROUTINE global
  • MVB - MultiValue Basic routine, content is stored in the ^ROUTINE global
  • OBJ - Object code, content is stored in ^rOBJ global

Methods

• classmethod RebuildIndex(namespace As %String, ByRef num As %Integer) as %Status
In case this index gets out of sync with the routines in the current namespace you can call this method to rebuild the index from the various ^ROUTINE, ^rINC, ^rMAC globals. This only rebuilds the index for entries that really live in this namespace, if you have routine mappings so that some routines are in a separate namespace you will need to rebuilt these seperately.
• classmethod RebuildItemIndex(rtn As %String, ext As %String, namespace As %String) as %Status
Rebuild the index information for this single item. You pass this the rtn name, its ext (one of "INT", "INC", "MAC", "BAS", "MVB", "OBJ") and optionally the namespace as namespace. You can call this after modifying the routine global directly to update the index correct with the new information.

Indices

•index (Index on Name,Type) [IdKey];


Copyright (c) 2019 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.