Coverage for packages/sql-smith/src/sql_smith/builder/criteria_builder.py: 93%
28 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
1from sql_smith.functions import criteria, listing
4class CriteriaBuilder:
5 def __init__(self, statement: "StatementInterface"):
6 self._statement = statement
8 def between(self, start, end) -> "CriteriaInterface":
9 return criteria("{} BETWEEN {} AND {}", self._statement, start, end)
11 def not_between(self, start, end) -> "CriteriaInterface":
12 return criteria("{} NOT BETWEEN {} AND {}", self._statement, start, end)
14 def in_(self, *args) -> "CriteriaInterface":
15 return criteria("{} IN ({})", self._statement, listing(args))
17 def not_in(self, *args) -> "CriteriaInterface":
18 return criteria("{} NOT IN ({})", self._statement, listing(args))
20 def eq(self, value) -> "CriteriaInterface":
21 return criteria("{} = {}", self._statement, value)
23 def not_eq(self, value) -> "CriteriaInterface":
24 return criteria("{} != {}", self._statement, value)
26 def gt(self, value) -> "CriteriaInterface":
27 return criteria("{} > {}", self._statement, value)
29 def gte(self, value) -> "CriteriaInterface":
30 return criteria("{} >= {}", self._statement, value)
32 def lt(self, value) -> "CriteriaInterface":
33 return criteria("{} < {}", self._statement, value)
35 def lte(self, value) -> "CriteriaInterface":
36 return criteria("{} <= {}", self._statement, value)
38 def is_null(self) -> "CriteriaInterface":
39 return criteria("{} IS NULL", self._statement)
41 def is_not_null(self) -> "CriteriaInterface":
42 return criteria("{} IS NOT NULL", self._statement)