Ens.VDoc.SearchTable
abstract class Ens.VDoc.SearchTable extends Ens.SearchTableBase
Batch Virtual Document association of Child Document SearchTable properties in MessageSearch is available when:- Property "TopParentId" is defined on Virtual Document class
- Property "TopParentId" is defined on SearchTable extent class
- There is also an Index defined on "TopParentId" on SearchTable Extent class
Property Inventory
Method Inventory
- DeleteObsoleteProps()
- DeleteProps()
- IndexDoc()
- IsListExpression()
- Search()
- genGetCode()
- genGetCodeList()
Properties
property PropId as %Integer [ Required ];
Batch Document control for whether to add indexes to Top ParentId for convenience
Index of a virtual property definition row in class Ens.Config.SearchTableProp, in the context of the current SearchTable subclass's storage extent
Property methods: PropIdDisplayToLogical(), PropIdGet(), PropIdIsValid(), PropIdLogicalToDisplay(), PropIdNormalize(), PropIdSet()
property PropValue as %String (MAXLEN = 256, TRUNCATE = 1) [ Required ];
Value found in the document using the ValueGetExpression from the property Item referred to by PropId
Property methods: PropValueDisplayToLogical(), PropValueGet(), PropValueIsValid(), PropValueLogicalToDisplay(), PropValueLogicalToOdbc(), PropValueNormalize(), PropValueSet()
Methods
classmethod DeleteObsoleteProps(maxRows=100000, listOnly As %Boolean = 1, Output hasRemainingData As %Boolean = 0, Output dataCount) as %Status
An Obsolete SearchTable Property is one that was historically defined, in SearchSpec XData, of an earlier version of
SearchTable subclass. For example:
Consider the removal of PropName "OrderControl" from the SearchSpec in the respective compiled SearchTable class.
Indexed MessageBodies may continue to exist in environment due to purge or renention policies.
Prior to the removal of registered obsolete indexes, this method will first remove obsolete index data.
After removing or confirming all obsolete index data has been removed, this method then follows up by unregistering
the obsolete index property.
On sucessful completetion of removal of both index data and property index registration, these obsolete properties will no longer be
visible in Search Criteria for Message Viewer in the Management Portal.
Parameters:
XData SearchSpec [ XMLNamespace = "http://www.intersystems.com/EnsSearchTable" ] { <Items> ... <Item DocType="2.5:ORU_R01" PropName="OrderControl">[ORC:1]</Item> ... <Items>
Parameters:
- maxRows - By default, this limits the number of records removed. This caution allows impact to journals to be observed and evaluated, for the sample number of records removed. Use a value of "-1" to simply delete ALL obsolete records for this search table.
- listOnly - By Default output a message for number of index data records and property indexes that would be affected.
- hasRemainingData - Boolean flag to indicate whether further subsequent data index removal is required.
- dataCount - Output array. Key is index property name. Value is count of indexed values. This show the counts of obsolete data removed for each indexed property OR when using listOnly, the count of all indexed values for each obsolete indexed property.
classmethod DeleteProps() as %Status
Delete the objects that define SearchTable properties for this searchTable class and all other classes in the same inheritance tree.
classmethod IndexDoc(pDocObj As %Persistent) as %Status
Inherited description: Method which actually performs indexing of the message / document
supplied in the pDocObj argument. This method should be overridden
in subclasses.
Returns True if the given expression will return multiple values
classmethod Search(Output pOutput, pPropId As %Integer, pPropValue As %String, pSearchNulls As %Boolean = 0, ByRef pRows=250) as %Status
Build output array of all documents and message headers that contain the given value for the given property
Generates an expression that 1) evaluates to a string value and 2) sets status code 'tSCGet'
classmethod genGetCodeList(tGetExpression As %String, tPreExpression As %String, tPostExpression As %String) as %String
Generates an expression that sets an array of values found in 'tList' and 2) sets status code 'tSCGet'
It may evaluate to a string but we intend to ignore that.
Indexes
index (indexDocId on DocId,PropId,PropValue) [Unique];
Index must be re-declared in each non-Abstract, %Persistent subclass
index (indexValue on PropId,PropValue,DocId) [IdKey, Type = key, Unique];
Index must be re-declared in each non-Abstract, %Persistent subclass