Coverage for packages/sql-smith/src/sql_smith/capability/has_where.py: 74%
19 statements
« prev ^ index » next coverage.py v7.11.0, created at 2024-01-01 00:00 +0000
« prev ^ index » next coverage.py v7.11.0, created at 2024-01-01 00:00 +0000
1class HasWhereMixin:
2 def where(self, criteria: "CriteriaInterface"):
3 self._where = criteria
4 return self
6 @property
7 def has_where(self) -> bool:
8 """Return True when there is a WHERE clause set to this query."""
9 return self._where is not None
11 def and_where(self, criteria: "CriteriaInterface"):
12 if self._where is None:
13 return self.where(criteria)
15 self._where = self._where.and_(criteria)
16 return self
18 def or_where(self, criteria: "CriteriaInterface"):
19 if self._where is None:
20 return self.where(criteria)
22 self._where = self._where.or_(criteria)
23 return self
25 def _apply_where(self, query: "ExpressionInterface") -> "ExpressionInterface":
26 return query.append("WHERE {}", self._where) if self._where else query