Coverage for packages/sql-smith/src/sql_smith/capability/has_order_by.py: 77%
13 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 listing, order
4class HasOrderByMixin:
5 def order_by(self, column: str | None = None, direction: str | None = None):
6 if column:
7 self._order_by.append(order(column, direction))
8 return self
10 self._order_by = []
11 return self
13 @property
14 def has_order(self) -> bool:
15 return len(self._order_by) > 0
17 def _apply_order_by(self, query: "ExpressionInterface") -> "ExpressionInterface":
18 return (
19 query.append("ORDER BY {}", listing(self._order_by))
20 if len(self._order_by) > 0
21 else query
22 )