5.61 FilteredPAS

 procedure FilteredPAS() : PARTIAL_ATTR_VECTOR_V1_EXT

Informative summary of behavior: The FilteredPAS procedure returns a reference to an instance of structure PARTIAL_ATTR_VECTOR_V1_EXT that contains the list of attributes that can be present, based on the schema, on a filtered NC replica.

 attrSetSeq: sequence of DSName
 filteredAttributeSet: sequence of ATTRTYP
 pPartialAttrVector: PARTIAL_ATTR_VECTOR_V1_EXT^
 attrId: ATTRTYP
 i, j: int
 attrSetSeq := select o from subtree SchemaNC() where
                       (attributeSchema in o!objectClass) and
                       (o!systemFlags ∩ 
                          FLAG_ATTR_IS_CONSTRUCTED} = null)
 filteredAttributeSet := GetFilteredAttributeSet()
 pPartialAttrVector = new PARTIAL_ATTR_VECTOR_V1_EXT sized to hold
         (attrSetSeq.length - filteredAttributeSet.length) entries in 
         its rgPartialAttr field
 pPartialAttrVector^.dwVersion := 1
 for i := 0 to attrSetSeq.length-1
   attrId = AttrtypFromSchemaObj(attrSetSeq [i]);
   if (not attrId in filteredAttributeSet = null) then
     /* attribute is not in the filtered list */
     pPartialAttrVector^.rgPartialAttr[j]:= attrId
     j := j + 1
 pPartialAttrVector^.cAttrs := j
 return pPartialAttrVector^