cq
Input Stack:
|
⇨ | Output Stack:
|
Apply a common query filter to all query expressions within a complex expression tree. This operator traverses the expression and adds the common query as an AND condition to every query it finds. Non-query expressions (like constants or math operations) are left unchanged.
This is particularly useful for applying global filters (like application or region restrictions) to complex expressions that contain multiple queries.
Parameters¶
- expr: The expression tree that may contain multiple queries
- commonQuery: The query condition to AND with every query found in the expression
Examples¶
Apply a common application filter to an expression with multiple queries:
name,ssCpuUser,:eq, name,DiscoveryStatus_UP,:eq, :mul, nf.app,alerttest,:eq, :cq
This transforms:
name,ssCpuUser,:eq
becomesname,ssCpuUser,:eq,nf.app,alerttest,:eq,:and
name,DiscoveryStatus_UP,:eq
becomesname,DiscoveryStatus_UP,:eq,nf.app,alerttest,:eq,:and
Before | After |
name,ssCpuUser,:eq, name,DiscoveryStatus_UP,:eq, :mul, nf.app,alerttest,:eq | name,ssCpuUser,:eq, name,DiscoveryStatus_UP,:eq, :mul, nf.app,alerttest,:eq, :cq |
Non-query expressions are unaffected (42 remains unchanged):
Before | After |
42,nf.app,alerttest,:eq | 42,nf.app,alerttest,:eq, :cq |