From 1fe31b67e34043e1b77cb9ffad0c4823dfd488f6 Mon Sep 17 00:00:00 2001 From: SpaceCondor Date: Fri, 27 Sep 2024 14:13:01 -0400 Subject: [PATCH] Use tuples for checking pk equality --- target_postgres/sinks.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/target_postgres/sinks.py b/target_postgres/sinks.py index f52d6c78..f2f9e420 100644 --- a/target_postgres/sinks.py +++ b/target_postgres/sinks.py @@ -157,15 +157,15 @@ def bulk_insert_records( # type: ignore[override] data_to_insert: list[dict[str, t.Any]] = [] if self.append_only is False: - insert_records: dict[str, dict] = {} # pk : record + insert_records: dict[tuple, dict] = {} # pk tuple: record for record in records: insert_record = { column.name: record.get(column.name) for column in columns } # No need to check for a KeyError here because the SDK already # guarantees that all key properties exist in the record. - primary_key_value = "".join([str(record[key]) for key in primary_keys]) - insert_records[primary_key_value] = insert_record + primary_key_tuple = tuple(record[key] for key in primary_keys) + insert_records[primary_key_tuple] = insert_record data_to_insert = list(insert_records.values()) else: for record in records: