BulkUpdateProcessor: only assign for set_keys

This commit is contained in:
Mike McLean 2024-06-21 16:06:42 -04:00
parent 6d05e15778
commit ca5548920b
2 changed files with 2 additions and 2 deletions

View file

@ -1190,7 +1190,7 @@ class BulkUpdateProcessor(object):
utable = f'__kojibulk_{self.table}'
utable.replace('.', '_') # in case schema qualified
assigns = [f'{key} = {utable}.{key}' for key in all_keys]
assigns = [f'{key} = {utable}.{key}' for key in set_keys]
values = {} # values for lookup
fdata = [] # data for VALUES clause
for n, row in enumerate(self.data):

View file

@ -26,7 +26,7 @@ class TestUpdateProcessor(unittest.TestCase):
# check sql
actual = str(proc)
expected_sql = ('UPDATE sometable SET field = __kojibulk_sometable.field, id = __kojibulk_sometable.id\n'
expected_sql = ('UPDATE sometable SET field = __kojibulk_sometable.field\n'
'FROM (VALUES (%(val_field_0)s, %(val_id_0)s), (%(val_field_1)s, %(val_id_1)s))\n'
'AS __kojibulk_sometable (field, id)\n'
'WHERE (sometable.id = __kojibulk_sometable.id)')