@@ -168,44 +168,6 @@ def delete_expired_environments(self) -> t.List[Environment]:
168168 Returns:
169169 A list of deleted environments.
170170 """
171- environments , filter_expr = self .get_expired_environments ()
172- self .delete_environments (environments = environments , filter_expr = filter_expr )
173- return environments
174-
175- def delete_environments (self , environments : t .List [Environment ], filter_expr : exp .LTE ) -> None :
176- """Deletes environments and corresponding environment statements.
177-
178- Returns:
179- The list of deleted environments.
180- """
181- if not environments :
182- return
183-
184- # Delete the expired environments
185- self .engine_adapter .delete_from (
186- self .environments_table ,
187- where = filter_expr ,
188- )
189-
190- # Delete the expired environments' corresponding environment statements
191- expired_environments = [
192- exp .EQ (this = exp .column ("environment_name" ), expression = exp .Literal .string (env .name ))
193- for env in environments
194- ]
195- if expired_environments :
196- self .engine_adapter .delete_from (
197- self .environment_statements_table ,
198- where = exp .or_ (* expired_environments ),
199- )
200-
201- def get_expired_environments (self ) -> t .Tuple [t .List [Environment ], exp .LTE ]:
202- """Fetches expired environments along with their filter expression and snapshot gateways.
203-
204- Returns:
205- A tuple containing:
206- - A list of expired environments.
207- - The filter expression used to identify expired environments.
208- """
209171
210172 now_ts = now_timestamp ()
211173 filter_expr = exp .LTE (
@@ -223,7 +185,23 @@ def get_expired_environments(self) -> t.Tuple[t.List[Environment], exp.LTE]:
223185
224186 environments = [self ._environment_from_row (r ) for r in rows ]
225187
226- return environments , filter_expr
188+ # Delete the expired environments
189+ self .engine_adapter .delete_from (
190+ self .environments_table ,
191+ where = filter_expr ,
192+ )
193+
194+ # Delete the expired environments' corresponding environment statements
195+ if expired_environments := [
196+ exp .EQ (this = exp .column ("environment_name" ), expression = exp .Literal .string (env .name ))
197+ for env in environments
198+ ]:
199+ self .engine_adapter .delete_from (
200+ self .environment_statements_table ,
201+ where = exp .or_ (* expired_environments ),
202+ )
203+
204+ return environments
227205
228206 def get_environments (self ) -> t .List [Environment ]:
229207 """Fetches all environments.
0 commit comments