Coverage for packages/sql-smith/src/sql_smith/query/delete_query.py: 100%
17 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.capability import HasFromMixin, HasLimitMixin, HasWhereMixin
2from sql_smith.functions import express
3from sql_smith.query import AbstractQuery
6class DeleteQuery(HasFromMixin, HasWhereMixin, HasLimitMixin, AbstractQuery):
7 """Implements the DELETE query."""
9 def __init__(self, engine: "EngineInterface"):
10 super().__init__(engine)
11 self._from = ()
12 self._limit = None
13 self._where = None
15 def as_expression(self) -> "ExpressionInterface":
16 query = self.start_expression()
17 query = self._apply_from(query)
18 query = self._apply_where(query)
19 query = self._apply_limit(query)
21 return query
23 def start_expression(self) -> "ExpressionInterface":
24 return express("DELETE")