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.
- domainId As %Integer
- sqlQuery As %String - query to filter by
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).
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