From 7f7fb04e0b405e5abbe959858318a77d71d61d12 Mon Sep 17 00:00:00 2001 From: Norman Hooper Date: Mon, 3 Feb 2025 11:02:46 -0500 Subject: [PATCH] Support separators in doc_id --- hq_superset/models.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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))