diff --git a/hq_superset/models.py b/hq_superset/models.py index a81d7b7..e9042e0 100644 --- a/hq_superset/models.py +++ b/hq_superset/models.py @@ -35,6 +35,8 @@ class DataSetChange: doc_id: str data: list[dict[str, Any]] + SEP = ',' + def update_dataset(self): with statsd.timed('cca.dataset_change.timer', tags=get_tags({"datasource": self.data_source_id})): self._update_dataset() @@ -66,7 +68,11 @@ def _update_dataset(self): engine.connect() as connection, connection.begin() # Commit on leaving context ): - delete_stmt = table.delete().where(table.c.doc_id == self.doc_id) + if self.SEP in self.doc_id: + doc_ids = self.doc_id.split(self.SEP) + delete_stmt = table.delete().where(table.c.doc_id.in_(doc_ids)) + else: + delete_stmt = table.delete().where(table.c.doc_id == self.doc_id) connection.execute(delete_stmt) if self.data: rows = list(cast_data_for_table(self.data, table))