mirror of
https://github.com/openvswitch/ovs
synced 2025-10-23 14:57:06 +00:00
python: Fix writing to non-"alert" column for newly inserted row.
When 'alert' was turned off on a column, the code was erroring out when value for that column was being set in a newly inserted row. This is because the row._data was None at this time. It seems that new rows are not initialized to defaults and that's why the NULL error happens. IMO a newly inserted row should automatically get intialized to default values. This new behavior can be implemented as a separate improvement sometime in the future. For now, I don't see an issue with adding the additional check. This new check can continue as-is even after the new behavior is implemented. Signed-off-by: Sumit Garg <sumit@extremenetworks.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
This commit is contained in:
@@ -1074,7 +1074,7 @@ class Transaction(object):
|
||||
# transaction only does writes of existing values, without making any
|
||||
# real changes, we will drop the whole transaction later in
|
||||
# ovsdb_idl_txn_commit().)
|
||||
if not column.alert and row._data.get(column.name) == datum:
|
||||
if not column.alert and row._data and row._data.get(column.name) == datum:
|
||||
new_value = row._changes.get(column.name)
|
||||
if new_value is None or new_value == datum:
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user