wei liu
7aed88113c
enhance: Deduplicate primary keys in upsert request batch ( #45249 )
...
issue: #44320
This change adds deduplication logic to handle duplicate primary keys
within a single upsert batch, keeping the last occurrence of each
primary key.
Key changes:
- Add DeduplicateFieldData function to remove duplicate PKs from field
data, supporting both Int64 and VarChar primary keys
- Refactor fillFieldPropertiesBySchema into two separate functions:
validateFieldDataColumns for validation and fillFieldPropertiesOnly for
property filling, improving code clarity and reusability
- Integrate deduplication logic in upsertTask.PreExecute to
automatically deduplicate data before processing
- Add comprehensive unit tests for deduplication with various PK types
(Int64, VarChar) and field types (scalar, vector)
- Add Python integration tests to verify end-to-end behavior
---------
Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-11-17 21:35:40 +08:00
..
2025-10-11 18:23:57 +08:00
2025-04-23 10:52:38 +08:00
2025-10-13 11:15:58 +08:00
2025-10-21 22:38:05 +08:00
2025-10-23 10:58:12 +08:00
2025-10-22 16:00:05 +08:00
2025-11-07 15:19:34 +08:00
2025-11-07 15:19:34 +08:00
2025-10-15 10:25:59 +08:00
2025-08-20 10:27:46 +08:00
2025-08-06 14:41:40 +08:00
2025-08-06 14:41:40 +08:00
2025-02-22 23:15:58 +08:00
2025-02-22 23:15:58 +08:00
2025-02-22 23:15:58 +08:00
2023-10-26 19:06:13 +08:00
2025-02-22 23:15:58 +08:00
2025-02-22 23:15:58 +08:00
2025-02-22 23:15:58 +08:00
2025-08-18 01:23:45 +08:00
2025-08-18 01:23:45 +08:00
2025-02-22 23:15:58 +08:00
2025-02-22 23:15:58 +08:00
2024-11-18 10:46:31 +08:00
2025-11-13 20:53:39 +08:00
2025-11-13 20:53:39 +08:00
2024-10-22 10:33:26 +08:00
2025-02-22 23:15:58 +08:00
2025-09-10 16:39:57 +08:00
2025-09-10 16:39:57 +08:00
2025-11-13 20:53:39 +08:00
2025-11-13 20:53:39 +08:00
2025-02-22 23:15:58 +08:00
2025-04-11 16:36:30 +08:00
2025-04-11 16:36:30 +08:00
2025-10-22 10:22:04 +08:00
2025-10-22 10:22:04 +08:00
2025-10-22 10:22:04 +08:00
2025-06-04 11:26:32 +08:00
2025-06-04 11:26:32 +08:00
2025-10-22 16:00:05 +08:00
2025-08-06 14:41:40 +08:00
2025-02-22 23:15:58 +08:00
2025-07-27 01:30:55 +08:00
2025-04-24 10:46:43 +08:00
2025-10-22 10:22:04 +08:00
2025-10-17 10:28:01 +08:00
2021-11-16 15:41:11 +08:00
2025-10-22 10:22:04 +08:00
2025-10-13 11:15:58 +08:00
2025-02-22 23:15:58 +08:00
2025-10-24 10:22:15 +08:00
2025-10-22 10:22:04 +08:00
2025-03-14 15:38:09 +08:00
2025-03-14 15:38:09 +08:00
2025-02-22 23:15:58 +08:00
2025-02-22 23:15:58 +08:00
2025-02-22 23:15:58 +08:00
2025-02-22 23:15:58 +08:00
2025-11-13 20:53:39 +08:00
2023-04-14 15:30:29 +08:00
2025-11-13 12:55:37 +08:00
2025-10-22 10:22:04 +08:00
2025-10-21 19:42:03 +08:00
2025-11-08 10:29:33 +08:00
2025-11-04 16:51:33 +08:00
2025-10-22 10:22:04 +08:00
2025-10-10 15:53:56 +08:00
2025-03-23 11:18:28 +08:00
2025-03-23 11:18:28 +08:00
2025-04-11 16:36:30 +08:00
2025-08-06 14:41:40 +08:00
2025-04-11 16:36:30 +08:00
2025-11-04 16:51:33 +08:00
2025-08-19 10:41:44 +08:00
2025-10-22 10:22:04 +08:00
2025-11-04 16:51:33 +08:00
2025-09-19 18:38:01 +08:00
2025-09-19 18:38:01 +08:00
2025-08-06 14:41:40 +08:00
2025-09-19 18:38:01 +08:00
2025-09-19 18:38:01 +08:00
2025-08-06 14:41:40 +08:00
2025-04-11 16:36:30 +08:00
2025-11-13 12:59:38 +08:00
2025-11-14 10:17:37 +08:00
2025-08-19 10:41:44 +08:00
2025-09-28 19:43:05 +08:00
2025-11-17 21:35:40 +08:00
2025-10-22 10:22:04 +08:00
2025-10-22 10:22:04 +08:00
2025-10-16 17:52:01 +08:00
2025-10-22 10:22:04 +08:00
2025-11-05 19:19:33 +08:00
2025-08-06 14:41:40 +08:00
2025-08-06 14:41:40 +08:00
2025-10-16 17:52:01 +08:00
2025-10-22 16:00:05 +08:00
2025-11-13 12:55:37 +08:00
2025-10-22 10:22:04 +08:00
2025-10-22 10:22:04 +08:00
2025-10-22 10:22:04 +08:00
2025-08-19 10:41:44 +08:00
2025-11-17 21:35:40 +08:00
2025-11-17 21:35:40 +08:00
2025-07-08 10:10:46 +08:00
2025-07-08 10:10:46 +08:00
2025-11-13 20:53:39 +08:00
2025-02-22 23:15:58 +08:00
2025-04-23 10:52:38 +08:00
2025-02-22 23:15:58 +08:00
2025-02-22 23:15:58 +08:00
2021-12-23 21:44:12 +08:00
2025-11-17 21:35:40 +08:00
2025-11-17 21:35:40 +08:00
2025-10-15 14:04:00 +08:00
2025-11-04 16:51:33 +08:00