Class Reference
IRIS for UNIX 2019.3
InterSystems: The power behind what matters   
Documentation  Search
  [%SYS] >  [%iFind] >  [Find] >  [Abstract]
Private  Storage   

Internal class implementing actual find code. Do not access directly.


Parameters Properties Methods Queries Indices ForeignKeys Triggers


%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified %New
%NormalizeObject %ObjectModified %OriginalNamespace %PackageName
%RemoveFromSaveSet %SerializeObject %SetModified %ValidateObject
ContainsItem GetChunk NextChunk NextChunkInclusive
NextItem PreviousChunk PreviousChunkInclusive PreviousItem



• method ContainsItem(pItem As %String) as %Boolean
At minimum, must support IsElement(). Return 1 if given e is in the set
• method GetChunk(pChunk As %Integer) as %Binary
Note that it's OK for the returned bitmap b to have no bits set to 1, including b="" . On the other hand, it's also OK for the method to skip such a chunk and proceed to the next c . We might also need:
• method NextChunk(ByRef pChunk As %Integer = "") as %Binary
The above methods are used to emulate regular sets and bitmaps. To emulate additional bitmap-specific behavior, the following 4 methods are needed. These methods follow the same convention used for SQL bitmap index structures. The chunk# .c is input/output, also proceeding in order starting and ending with "" . When the returned .c is non-NULL, then the actual bitmap chunk of bits is returned in .b : Method NextChunk(pChunk As %Integer = "", ByRef bits As %Binary) As %Integer
• method NextChunkInclusive(ByRef pChunk As %Integer = "") as %Binary
Method NextChunkInclusive(pChunk As %Integer = "", ByRef bits As %Binary) As %Integer
• method NextItem(pItem As %String = "") as %String
The following 4 methods, esp. the first 2, are needed to emulate a regular index. The element .e is an input/output parameter, iterating in a sequence through all the elements of following the normal subscript order ( "]]" ), starting and ending with "", similar to $ORDER():
• method PreviousChunk(ByRef pChunk As %Integer = "") as %Binary
Method PreviousChunk(pChunk As %Integer = "", ByRef bits As %Binary) As %Integer
• method PreviousChunkInclusive(ByRef pChunk As %Integer = "") as %Binary
Method PreviousChunkInclusive(pChunk As %Integer = "", ByRef bits As %Binary) As %Integer
• method PreviousItem(pItem As %String = "") as %String

The NextItem, NextItemInclusive, PreviousItem, and PreviousItemInclusive methods are required when %INSUB is used.

For a given pItem, return the first item < pItem

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