Source code for dae.backends.impala.impala_query_director

[docs]class ImpalaQueryDirector: """Build a query in the right order.""" def __init__(self, query_builder): self.query_builder = query_builder
[docs] def build_query( self, regions=None, genes=None, effect_types=None, family_ids=None, person_ids=None, inheritance=None, roles=None, sexes=None, variant_type=None, real_attr_filter=None, ultra_rare=None, frequency_filter=None, return_reference=None, return_unknown=None, limit=None, pedigree_fields=None): # pylint: disable=too-many-arguments """Build a query in the right order.""" self.query_builder.reset_product() self.query_builder.build_select() self.query_builder.build_from() self.query_builder.build_join() self.query_builder.build_where( regions=regions, genes=genes, effect_types=effect_types, family_ids=family_ids, person_ids=person_ids, inheritance=inheritance, roles=roles, sexes=sexes, variant_type=variant_type, real_attr_filter=real_attr_filter, ultra_rare=ultra_rare, frequency_filter=frequency_filter, return_reference=return_reference, return_unknown=return_unknown, pedigree_fields=pedigree_fields, ) self.query_builder.build_group_by() self.query_builder.build_limit(limit)