def __or__(self, other: _BaseCondition):
    '\n        The _DatabaseCondition optimizes the SQL statements for ``|`` by\n        combining the clauses of condition which run on the same database\n        table. This is done via the ``.base_table`` attribute.\n        '
    if ((self.base_table == other.base_table) and (not (self._mrns or other._mrns))):
        unique_columns = list(dict.fromkeys(chain(self.data_columns, other.data_columns)))
        return self.__class__(dimensions=(self.dimensions | other.dimensions), clause=(self.clause | other.clause), data_columns=unique_columns, children=[self, other], operator=_BaseCondition.OR)
    else:
        return _BaseCondition(mrns=(self.get_mrns() | other.get_mrns()), children=[self, other], operator=_BaseCondition.OR)
The _DatabaseCondition optimizes the SQL statements for ``|`` by
combining the clauses of condition which run on the same database
table. This is done via the ``.base_table`` attribute.
def __or__(self, other: _BaseCondition):
    '\n        The _DatabaseCondition optimizes the SQL statements for ``|`` by\n        combining the clauses of condition which run on the same database\n        table. This is done via the ``.base_table`` attribute.\n        '
    if ((self.base_table == other.base_table) and (not (self._mrns or other._mrns))):
        unique_columns = list(dict.fromkeys(chain(self.data_columns, other.data_columns)))
        return self.__class__(dimensions=(self.dimensions | other.dimensions), clause=(self.clause | other.clause), data_columns=unique_columns, children=[self, other], operator=_BaseCondition.OR)
    else:
        return _BaseCondition(mrns=(self.get_mrns() | other.get_mrns()), children=[self, other], operator=_BaseCondition.OR)