Skip to content
  • Iustin Pop's avatar
    Abstract the individual query functions · d5b2753a
    Iustin Pop authored
    
    
    After implementing a few of the query executor functions, it turns out
    that we have the same general pattern:
    
    - compile the filter
    - extract the selected fields
    - determine whether we need to run collectors
    - do a first pass filtering
    - run the collector if needed
    - compute the final fields
    
    For pure config queries, the collector/final computation is not
    needed, but otherwise the code flow is the same.
    
    We can therefore abstract all the queries that originate in the config
    (i.e. except the job query) and have a single code path for all of
    them, just with different parameters.
    
    To do this, we add some stub collectors for group/network queries,
    which don't have live data.
    
    Signed-off-by: default avatarIustin Pop <iustin@google.com>
    Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
    d5b2753a