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

1from sql_smith.capability import HasFromMixin, HasLimitMixin, HasWhereMixin 

2from sql_smith.functions import express 

3from sql_smith.query import AbstractQuery 

4 

5 

6class DeleteQuery(HasFromMixin, HasWhereMixin, HasLimitMixin, AbstractQuery): 

7 """Implements the DELETE query.""" 

8 

9 def __init__(self, engine: "EngineInterface"): 

10 super().__init__(engine) 

11 self._from = () 

12 self._limit = None 

13 self._where = None 

14 

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) 

20 

21 return query 

22 

23 def start_expression(self) -> "ExpressionInterface": 

24 return express("DELETE")