def _get_sql_forms_by_doc_type(domain): counter = Counter() for db_alias in get_sql_db_aliases_in_use(): queryset = XFormInstanceSQL.objects.using(db_alias).filter(domain=domain) for doc_type, state in doc_type_to_state.items(): counter[doc_type] += queryset.filter(state=state).count() where_clause = 'state & {0} = {0}'.format(XFormInstanceSQL.DELETED) counter['XFormInstance-Deleted'] += queryset.extra(where=[where_clause]).count() return counter
def _get_sql_forms_by_doc_type(domain): counter = Counter() for db_alias in get_sql_db_aliases_in_use(): queryset = XFormInstanceSQL.objects.using(db_alias).filter( domain=domain) for doc_type, state in doc_type_to_state.items(): counter[doc_type] += queryset.filter(state=state).count() where_clause = 'state & {0} = {0}'.format(XFormInstanceSQL.DELETED) counter['XFormInstance-Deleted'] += queryset.extra( where=[where_clause]).count() return counter
def _get_sql_forms_by_doc_type(domain, startdate=None, enddate=None): counter = Counter() for db_alias in get_db_aliases_for_partitioned_query(): queryset = XFormInstanceSQL.objects.using(db_alias).filter(domain=domain) if startdate is not None: queryset = queryset.filter(received_on__gte=startdate) if enddate is not None: queryset = queryset.filter(received_on__lt=enddate) for doc_type, state in doc_type_to_state.items(): counter[doc_type] += queryset.filter(state=state).count() where_clause = 'state & {0} = {0}'.format(XFormInstanceSQL.DELETED) counter['XFormInstance-Deleted'] += queryset.extra(where=[where_clause]).count() return counter
def _get_doc_type_from_state(state): return {v: k for k, v in doc_type_to_state.items()}.get(state, 'XFormInstance')
def doc_type(self): from corehq.form_processor.backends.sql.dbaccessors import doc_type_to_state if self.is_deleted: return 'XFormInstance' + DELETED_SUFFIX return {v: k for k, v in doc_type_to_state.items()}.get(self.state, 'XFormInstance')
def _get_doc_type_from_state(state): if state & XFormInstanceSQL.DELETED == XFormInstanceSQL.DELETED: return 'XFormIntance' + DELETED_SUFFIX return {v: k for k, v in doc_type_to_state.items()}.get(state, 'XFormInstance')
def doc_type(self): from corehq.form_processor.backends.sql.dbaccessors import doc_type_to_state if self.is_deleted: return 'XFormInstance' + DELETED_SUFFIX return {v: k for k, v in doc_type_to_state.items()}.get(self.state, 'XFormInstance')