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

1class HasWhereMixin: 

2 def where(self, criteria: "CriteriaInterface"): 

3 self._where = criteria 

4 return self 

5 

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 

10 

11 def and_where(self, criteria: "CriteriaInterface"): 

12 if self._where is None: 

13 return self.where(criteria) 

14 

15 self._where = self._where.and_(criteria) 

16 return self 

17 

18 def or_where(self, criteria: "CriteriaInterface"): 

19 if self._where is None: 

20 return self.where(criteria) 

21 

22 self._where = self._where.or_(criteria) 

23 return self 

24 

25 def _apply_where(self, query: "ExpressionInterface") -> "ExpressionInterface": 

26 return query.append("WHERE {}", self._where) if self._where else query