%iKnow.Filters.SqlFilter
class %iKnow.Filters.SqlFilter extends %iKnow.Filters.Filter
Sample filter implementation restricting sources based on a SQL query result. This SQL query can select from any regular SQL table or view accessible from the namespace the filter is instantiated from. The query should select sources through returning either of the following as result columns (case sensitive!):
- IdField and GroupField: the two columns used together as identifiers when adding the sources to the domain: Local Reference (IdField) and Group Name (GroupField). See also %iKnow.Source.SQL.Lister.
- ExternalId: the full External ID of the sources to be selected.
- SourceId: the (internal) Source ID of the sources to be selected.
Filter parameters:
WARNING: these filters are not invalidated automatically if the values in the tables accessed by the supplied SQL query change. It is up to the user to decide, based on the specifics of the environment, whether filter instances of this class can be cached meaningfully (see the useCache parameter of Initialize()) and/or should be invalidated explicitly (see Invalidate() or ClearCachedFilter()).
Property Inventory (Including Private)
Method Inventory (Including Private)
Properties (Including Private)
Methods (Including Private)
If this method returns an error then the object will not be created.
It is passed the arguments provided in the %New call. When customizing this method, override the arguments with whatever variables and types you expect to receive from %New(). For example, if you're going to call %New, passing 2 arguments, %OnNew's signature could be:
Method %OnNew(dob as %Date = "", name as %Name = "") as %Status If instead of returning a %Status code this returns an oref and this oref is a subclass of the current class then this oref will be the one returned to the caller of %New method.
This is the primary method that needs to be implemented by an actual %iKnow.Filters.Filter subclass to translate the abstract filter criteria the subclass addresses into a bitstring based on Source IDs. The subclass' implementation of this method should use SetSourceBits() for this purpose, setting the requested bitstrings for each offset up to maxOffset.
Default implementation, with the filterParams corresponding to all %New() arguments. See also RestoreFilterFromString().
Subclasses should implement this method to build a string representation of the filter instance. It should start with the filter class name, followed by a pipe (|) character and then a string representation that can be interpreted by its RestoreFilterFromStringInternal() implementation.
Inherited Members
Inherited Properties (Including Private)
Inherited Methods (Including Private)
- %AddToSaveSet()
- %ClassIsLatestVersion()
- %ClassName()
- %ConstructClone()
- %ConstructCloneInit()
- %DispatchClassMethod()
- %DispatchGetModified()
- %DispatchGetProperty()
- %DispatchMethod()
- %DispatchSetModified()
- %DispatchSetMultidimProperty()
- %DispatchSetProperty()
- %Extends()
- %GetParameter()
- %IsA()
- %IsModified()
- %New()
- %NormalizeObject()
- %ObjectModified()
- %OnAddToSaveSet()
- %OnClose()
- %OnConstructClone()
- %OnValidateObject()
- %OriginalNamespace()
- %PackageName()
- %RemoveFromSaveSet()
- %SerializeObject()
- %SetModified()
- %ValidateObject()
- ChangeParams()
- CheckResultCache()
- CheckResultCacheSingle()
- ClearCachedFilter()
- ClearCachedFilters()
- CreateAsString()
- CreateFromBitstring()
- CreateGroupAsString()
- FromString()
- GetCRCOccurrenceFilter()
- GetCRCUniqueFilter()
- GetCcUniqueFilter()
- GetEntityOccurrenceFilter()
- GetEntityUniqueFilter()
- GetFilteredCcFrequency()
- GetFilteredCcSpread()
- GetFilteredCrcFrequency()
- GetFilteredCrcSpread()
- GetFilteredEntityFrequency()
- GetFilteredEntitySpread()
- GetFilteredEntityUniqueCount()
- GetFilteredStemFrequency()
- GetFilteredStemSpread()
- GetFirstFilteredSource()
- GetNextCRCOccurrenceFilterOffset()
- GetNextCRCUniqueFilterOffset()
- GetNextCcUniqueFilterOffset()
- GetNextEntityOccurrenceFilterOffset()
- GetNextEntityUniqueFilterOffset()
- GetNextPathFilterOffset()
- GetNextSourceFilterOffset()
- GetNextSrcId()
- GetPathFilter()
- GetSourceFilter()
- Initialize()
- Invalidate()
- IsFiltered()
- IsValid()
- RestoreFilterFromId()
- RestoreFilterFromString()
- SetSourceBits()
- StoreResultCache()
- StoreResultCacheSingle()
- Validate()