Class Reference
IRIS for UNIX 2019.3
InterSystems: The power behind what matters   
Documentation  Search
  [ENSLIB] >  [%iKnow] >  [Queries] >  [MetadataQAPI]
Private  Storage   

class %iKnow.Queries.MetadataQAPI extends %iKnow.Queries.AbstractQAPI

This is an automatically generated class, offering a functionally equivalent set of methods and queries as %iKnow.Queries.MetadataAPI, exposed as SqlProc methods.

See the classdocs for %iKnow.Queries.MetadataAPI for more information.

This class was generated by %iKnow.Queries.MetadataAPI.

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
45 9


Summary

Methods
%%OIDGet %AddToSaveSet %BindExport %BuildObjectGraph
%ClassIsLatestVersion %ClassName %Close %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IncrementCount %IsA %IsModified
%New %NormalizeObject %ObjectModified %OriginalNamespace
%PackageName %RemoveFromSaveSet %SerializeObject %SetModified
%ValidateObject AddField AddListOfValues AddLovValue
CreateFilter GetFieldId GetFieldValuesByIdClose GetFieldValuesByIdExecute
GetFieldValuesByIdFetch GetFieldValuesClose GetFieldValuesExecute GetFieldValuesFetch
GetFieldsClose GetFieldsExecute GetFieldsFetch GetLovValuesClose
GetLovValuesExecute GetLovValuesFetch GetLovsClose GetLovsExecute
GetLovsFetch GetMetaSpreadByEntities GetMetaSpreadByEntityIds GetMetaSpreadInternal
GetUniValue GetUniqueValueCount GetUniqueValuesByIdClose GetUniqueValuesByIdExecute
GetUniqueValuesByIdFetch GetUniqueValuesClose GetUniqueValuesExecute GetUniqueValuesFetch
GetValue GetValueById GetValuesByIdClose GetValuesByIdExecute
GetValuesByIdFetch GetValuesClose GetValuesExecute GetValuesFetch
RemoveField RemoveFieldById SetValue SetValueById
UpdateField UpdateFieldById


Methods

• classmethod AddField(domainId As %Integer, fieldName As %String(MAXLEN=32767), supportedOperators As %String(MAXLEN=32767)=$lb($$$MDOPEQUAL), dataType As %String(MAXLEN=32767)=$$$MDDTSTRING, storage As %Integer = $$$MDSTNORMAL, caseSensitive As %Boolean = 0, lovId As %Integer = -1, validateLov As %Boolean = 1, hidden As %Boolean = 0, Output scText As %String = "") as %Library.Integer [ SQLProc = ]

Adds a field definition with the given name and properties.

  • The supportedOperators parameter specifies which operations (such as $$$MDOPEQUAL) will be available for filtering criteria
  • For dataType, choose either $$$MDDTSTRING, $$$MDDTNUMBER or $$$MDDTDATE ($horolog format)
  • Use storage to control how values are stored: $$$MDSTNORMAL for cases where you would use a normal index, $$$MDSTBITMAP where you would use a bitmap index (few different metadata values compared to total # of records)
  • If dataType is $$$MDDTSTRING, caseSensitive controls whether or not string values should be treated as case-sensitive.
  • The lovId and validateLov parameters define whether a List Of Values is available for this metadata field and whether input values should be verified against this list. See also AddListOfValues.
  • If hidden is set to true, the field will by default not appear in metadata field and value lists.
• classmethod AddListOfValues(domainId As %Integer, lovName As %String(MAXLEN=32767), autoExtend As %Boolean = 1, Output scText As %String = "") as %Library.Integer [ SQLProc = ]

Adds a List Of Values to the domain, which can then be used as a list of allowable values for one or more metadata fields.

• classmethod AddLovValue(domainId As %Integer, lovId As %Integer, value As %String(MAXLEN=32767), ByRef rank As %Integer = -1) as %Boolean [ SQLProc = ]
Adds a new value to an existing List Of Values
• classmethod CreateFilter(pDomainId As %Integer, pFieldName As %String(MAXLEN=32767), pOperator As %String(MAXLEN=32767), pValue As %String(MAXLEN=32767), Output scText As %String = "") as %iKnow.Filters.Filter [ SQLProc = ]

Create a %iKnow.Filters.Filter instance that filters sources according to the given criteria, using the filter class compatible with this %iKnow.Queries.MetadataI implementation.

For the default MetadataAPI, this is a %iKnow.Filters.SimpleMetadataFilter instance.

• classmethod GetFieldId(domainId As %Integer, fieldName As %String(MAXLEN=32767), Output scText As %String = "") as %Library.Integer [ SQLProc = ]
Returns the metadata field ID corresponding to the supplied name, or "" if none exists in this domain.
• classmethod GetFieldValuesByIdClose(ByRef qHandle As %Binary) as %Status
• classmethod GetFieldValuesByIdExecute(ByRef qHandle As %Binary, domainId As %Integer, mdFieldId As %Integer, page As %Integer = 1, pageSize As %Integer = 10) as %Status
• classmethod GetFieldValuesByIdFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
• classmethod GetFieldValuesClose(ByRef qHandle As %Binary) as %Status
• classmethod GetFieldValuesExecute(ByRef qHandle As %Binary, domainId As %Integer, fieldName As %String(MAXLEN=32767), page As %Integer = 1, pageSize As %Integer = 10) as %Status
• classmethod GetFieldValuesFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
• classmethod GetFieldsClose(ByRef qHandle As %Binary) as %Status
• classmethod GetFieldsExecute(ByRef qHandle As %Binary, domainId As %Integer, includeHidden As %Boolean = 0) as %Status
• classmethod GetFieldsFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
• classmethod GetLovValuesClose(ByRef qHandle As %Binary) as %Status
• classmethod GetLovValuesExecute(ByRef qHandle As %Binary, domainId As %Integer, lovId As %Integer) as %Status
• classmethod GetLovValuesFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
• classmethod GetLovsClose(ByRef qHandle As %Binary) as %Status
• classmethod GetLovsExecute(ByRef qHandle As %Binary, domainId As %Integer, page As %Integer = 1, pageSize As %Integer = 10) as %Status
• classmethod GetLovsFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
• classmethod GetMetaSpreadByEntities(pDomainId As %Integer, pFieldName As %String(MAXLEN=32767), pEntityList As %String(MAXLEN=32767), pFilter As %String(MAXLEN=32767)="", pSetOp As %Integer = $$$UNION, Output scText As %String = "") as %Library.Integer [ SQLProc = ]

Returns the "spread" of metadata values (number of distinct values) for field pFieldName for the entities in pEntityList, in the sources satisfying pFilter. When specifying multiple entities, sources (and their metadata values) are included based on the value of pSetOp: if pSetOp = $$$UNION, only one entity has to be present (default), if pSetOp = $$$INTERSECT, all of them need to be present.

• classmethod GetMetaSpreadByEntityIds(pDomainId As %Integer, pFieldName As %String(MAXLEN=32767), pEntityIdList As %String(MAXLEN=32767), pFilter As %String(MAXLEN=32767)="", pSetOp As %Integer = $$$UNION, Output scText As %String = "") as %Library.Integer [ SQLProc = ]

Returns the "spread" of metadata values (number of distinct values) for field pFieldName for the entities in pEntityIdList, in the sources satisfying pFilter. When specifying multiple entities, sources (and their metadata values) are included based on the value of pSetOp: if pSetOp = $$$UNION, only one entity has to be present (default), if pSetOp = $$$INTERSECT, all of them need to be present.

• classmethod GetMetaSpreadInternal(pDomainId As %Integer, pFieldId As %Integer, pType As %String(MAXLEN=32767)="ENTITY", pFilter As %String(MAXLEN=32767)="", pSetOp As %Integer = $$$UNION, Output scText As %String = "") as %Library.Integer [ SQLProc = ]
• classmethod GetUniValue(pDomainId As %Integer, pUniValueId As %Integer) as %Library.String [ SQLProc = ]
Returns the unique metadata value corresponding to the supplied pUniValueId.
• classmethod GetUniqueValueCount(pDomainId As %Integer, pFieldName As %String(MAXLEN=32767), pFilter As %String(MAXLEN=32767)="") as %Library.Integer [ SQLProc = ]

Returns the number of unique metadata values for a given field pFieldName in the sources satisfying the supplied filter, after normalization based on the field specifications such as case sensitivity and data type.

• classmethod GetUniqueValuesByIdClose(ByRef qHandle As %Binary) as %Status
• classmethod GetUniqueValuesByIdExecute(ByRef qHandle As %Binary, pDomainId As %Integer, pFieldId As %Integer, pPage As %Integer = 1, pPageSize As %Integer = 10, pFilter As %String(MAXLEN=32767)="", pSortType As %String(MAXLEN=32767)="") as %Status
• classmethod GetUniqueValuesByIdFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
• classmethod GetUniqueValuesClose(ByRef qHandle As %Binary) as %Status
• classmethod GetUniqueValuesExecute(ByRef qHandle As %Binary, pDomainId As %Integer, pFieldName As %String(MAXLEN=32767), pPage As %Integer = 1, pPageSize As %Integer = 10, pFilter As %String(MAXLEN=32767)="", pSortType As %String(MAXLEN=32767)="") as %Status
• classmethod GetUniqueValuesFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
• classmethod GetValue(domainId As %Integer, fieldName As %String(MAXLEN=32767), externalId As %String(MAXLEN=32767), Output scText As %String = "") as %Library.String [ SQLProc = ]
Returns the actual value for a given metadata field (by name) and source (by External ID).
• classmethod GetValueById(domainId As %Integer, fieldId As %Integer, srcId As %Integer, Output scText As %String = "") as %Library.String [ SQLProc = ]
Returns the actual value for a given metadata field (by ID) and source (by Source ID).
• classmethod GetValuesByIdClose(ByRef qHandle As %Binary) as %Status
• classmethod GetValuesByIdExecute(ByRef qHandle As %Binary, domainId As %Integer, srcId As %Integer, includeHidden As %Boolean = 0) as %Status
• classmethod GetValuesByIdFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
• classmethod GetValuesClose(ByRef qHandle As %Binary) as %Status
• classmethod GetValuesExecute(ByRef qHandle As %Binary, domainId As %Integer, externalId As %String(MAXLEN=32767), includeHidden As %Boolean = 0) as %Status
• classmethod GetValuesFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
• classmethod RemoveField(domainId As %Integer, fieldName As %String(MAXLEN=32767)) as %Boolean [ SQLProc = ]
Removes a metadata field (by name) from the domain, including all references by existing sources.
• classmethod RemoveFieldById(domainId As %Integer, fieldId As %Integer) as %Boolean [ SQLProc = ]
Removes a metadata field (by ID) from the domain, including all references by existing sources.
• classmethod SetValue(domainId As %Integer, fieldName As %String(MAXLEN=32767), externalId As %String(MAXLEN=32767), value As %String(MAXLEN=32767)) as %Boolean [ SQLProc = ]

Sets (or replaces if it exists) the value for a given metadata field (by name) for a given source (by External ID).

Values for fields of type $$$MDDTSTRING are normalized and stripped of whitespace and control characters at the beginning and end of the string.

• classmethod SetValueById(domainId As %Integer, fieldId As %Integer, srcId As %Integer, value As %String(MAXLEN=32767)) as %Boolean [ SQLProc = ]

Sets (or replaces if it exists) the value for a given metadata field (by ID) for a given source (by Source ID). Explicitly setting a value to "" (null/empty string) will erase the current value.

Values for fields of type $$$MDDTSTRING are normalized and stripped of whitespace and control characters at the beginning and end of the string.

• classmethod UpdateField(domainId As %Integer, fieldName As %String(MAXLEN=32767), supportedOperators As %String(MAXLEN=32767)="", storage As %Integer = -1, hidden As %Integer = -1, lovId As %Integer = -2, validateLov As %Integer = -1) as %Boolean [ SQLProc = ]

Updates the properties for a given metadata field (by name). See also AddField.

Specifying a "" for the supportedOperators will leave the current value for that property. Similarly, specifying -1 for storage, hidden and validateLov or -2 for lovId will leave their respective values unmodified. Setting lovId to -1 will unset the LOV for this field.

• classmethod UpdateFieldById(domainId As %Integer, fieldId As %Integer, supportedOperators As %String(MAXLEN=32767)="", storage As %Integer = -1, hidden As %Integer = -1, lovId As %Integer = -2, validateLov As %Integer = -1) as %Boolean [ SQLProc = ]

Updates the properties for a given metadata field (by ID). See also AddField.

Specifying a "" for the supportedOperators will leave the current value for that property. Similarly, specifying -1 for storage, hidden and validateLov or -2 for lovId will leave their respective values unmodified. Setting lovId to -1 will unset the LOV for this field.


Queries

• query GetFieldValues(domainId As %Integer, fieldName As %String(MAXLEN=32767), page As %Integer = 1, pageSize As %Integer = 10)
Selects value As %String(MAXLEN=32767)
Returns all the distinct values currently in use for a given metadata field (by name). See also GetUniqueValues for a version returning the number of sources with this metadata value and sorting options.
• query GetFieldValuesById(domainId As %Integer, mdFieldId As %Integer, page As %Integer = 1, pageSize As %Integer = 10)
Selects value As %String(MAXLEN=32767)
Returns all the distinct values currently in use for a given metadata field (by ID).
• query GetFields(domainId As %Integer, includeHidden As %Boolean = 0)
Selects mdFieldId As %String(MAXLEN=32767), fieldName As %String(MAXLEN=32767), supportedOperators As %List, dataType As %String(MAXLEN=32767), storage As %Integer, caseSensitive As %Boolean, lovId As %Integer, validateLov As %Boolean, hidden As %Boolean

Returns all field definitions (including their properties) for the given domain.

Setting includeHidden to true will also return any metadata fields marked as 'hidden'.

• query GetLovValues(domainId As %Integer, lovId As %Integer)
Selects value As %String(MAXLEN=32767)
Returns all the allowed values for a given metadata LOV.
• query GetLovs(domainId As %Integer, page As %Integer = 1, pageSize As %Integer = 10)
Selects lovId As %Integer, name As %String(MAXLEN=32767), autoExtend As %Boolean
Returns all LOVs (List of Values) registered for this domain.
• query GetUniqueValues(pDomainId As %Integer, pFieldName As %String(MAXLEN=32767), pPage As %Integer = 1, pPageSize As %Integer = 10, pFilter As %String(MAXLEN=32767)="", pSortType As %String(MAXLEN=32767)="")
Selects value As %String(MAXLEN=32767), frequency As %Integer

Returns all the unique metadata values for field pFieldName in sources satisfying the supplied filter, optionally sorted by value (pSortType = "VALUE") or frequency (pSortType = "FREQUENCY"). The returned frequency represents the number of sources with this metadata value (satisfying the filter).

NOTE: sorting by value is only precise up to the 150 first characters

• query GetUniqueValuesById(pDomainId As %Integer, pFieldId As %Integer, pPage As %Integer = 1, pPageSize As %Integer = 10, pFilter As %String(MAXLEN=32767)="", pSortType As %String(MAXLEN=32767)="")
Selects value As %String(MAXLEN=32767), frequency As %Integer

Returns all the unique metadata values for field pFieldId in sources satisfying the supplied filter, optionally sorted by value (pSortType = "VALUE") or frequency (pSortType = "FREQUENCY"). The returned frequency represents the number of sources with this metadata value (satisfying the filter).

NOTE: sorting by value is only precise up to the 150 first characters

• query GetValues(domainId As %Integer, externalId As %String(MAXLEN=32767), includeHidden As %Boolean = 0)
Selects mdFieldId As %Integer, fieldName As %String(MAXLEN=32767), value As %String(MAXLEN=32767)

Returns the actual metadata values for the given source (by External ID).

Setting includeHidden to true will also return the values for hidden metadata fields.

• query GetValuesById(domainId As %Integer, srcId As %Integer, includeHidden As %Boolean = 0)
Selects mdFieldId As %Integer, fieldName As %String(MAXLEN=32767), value As %String(MAXLEN=32767)

Returns the actual metadata values for the given source (by Source ID).

Setting includeHidden to true will also return the values for hidden metadata fields.



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