2.2.2.1.3.1.7 Hierarchy Filter

The Hierarchy filter specifies a filter that matches any data element connected to the data element sub-graph whose root is the specified Storage Index key up to a specified depth.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Query Changes Filter Hierarchy

Depth

Count (variable)

...

Root Index Key Byte Array (variable)

...

Query Changes Filter Hierarchy (4 bytes): A 32-bit Stream Object Header (section 2.2.1.5.2) that specifies a Query Changes filter hierarchy.

Depth (1 byte): An unsigned integer that specifies the depth of the sub-graph and MUST be one of the following values.

Value

Meaning

0

Index values corresponding to the specified keys only.

1

First data elements referenced by the Storage Index values corresponding to the specified keys only.

2

Single level. All data elements under the sub-graphs rooted by the specified keys stopping at any Storage Index entries.

3

Deep. All data elements and Storage Index entries under the sub-graphs rooted by the specified keys.

Count (variable): A compact unsigned 64-bit integer (section 2.2.1.1) that specifies the count of bytes in the Root Index Key Byte Array.

Root Index Key Byte Array (variable): A byte array that specifies the root index key. The root index key MUST be a 40-byte array representing two Extended GUIDs that specify a Cell Manifest identifier, a 20-byte array representing an Extended GUID that specifies a Revision Manifest identifier or an Extended GUID that specifies the root Storage Manifest.