On 2/28/25 22:49, Ilya Maximets wrote: > On 2/27/25 18:23, Terry Wilson wrote: >> When inserting a Row with persist_uuid=True, the Row will have >> a 'uuid' element and not a 'named-uuid' element, so ensure that >> other operations in the transaction refer to the row by 'uuid'. >> >> Signed-off-by: Terry Wilson <[email protected]> >> --- >> python/ovs/db/idl.py | 2 +- >> tests/ovsdb-idl.at | 12 ++++++++++-- >> tests/test-ovsdb.c | 28 +++++++++++++++++++++++++++- >> tests/test-ovsdb.py | 11 +++++++++++ >> 4 files changed, 49 insertions(+), 4 deletions(-) >> >> diff --git a/python/ovs/db/idl.py b/python/ovs/db/idl.py >> index abb82154b..384428c3f 100644 >> --- a/python/ovs/db/idl.py >> +++ b/python/ovs/db/idl.py >> @@ -1731,7 +1731,7 @@ class Transaction(object): >> and ovs.ovsuuid.is_valid_string(json[1])): >> uuid = ovs.ovsuuid.from_string(json[1]) >> row = self._txn_rows.get(uuid, None) >> - if row and row._data is None: >> + if row and row._data is None and not row._persist_uuid: >> return ["named-uuid", _uuid_name_from_uuid(uuid)] >> else: >> return [self._substitute_uuids(elem) for elem in json] >> diff --git a/tests/ovsdb-idl.at b/tests/ovsdb-idl.at >> index 5244358e3..638169ce6 100644 >> --- a/tests/ovsdb-idl.at >> +++ b/tests/ovsdb-idl.at >> @@ -2826,7 +2826,7 @@ m4_define([OVSDB_CHECK_IDL_PERS_UUID_INSERT_C], >> [0], [stdout], [stderr]) >> AT_CHECK([sort stdout], >> [0], [$3]) >> - AT_CHECK([grep $4 stderr], [0], [ignore]) >> + m4_if([$4], [AT_CHECK([grep $4 stderr])], [0], [ignore]) >> OVSDB_SERVER_SHUTDOWN >> AT_CLEANUP]) >> >> @@ -2838,7 +2838,7 @@ m4_define([OVSDB_CHECK_IDL_PERS_UUID_INSERT_PY], >> [0], [stdout], [stderr]) >> AT_CHECK([sort stdout], >> [0], [$3]) >> - AT_CHECK([grep $4 stderr], [0], [ignore]) >> + m4_if([$4], [AT_CHECK([grep $4 stderr])], [0], [ignore]) > > This is not a valid syntax. The signature of the m4_if is: > > m4_if (string-1, string-2, equal, [not-equal]) > > See > https://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node/Redefined-M4-Macros.html#Redefined-M4-Macros > > So, I replaced this and the previous one with the following: > > m4_if([$4], [], [], [AT_CHECK([grep $4 stderr], [0], [ignore])]) > > i.e. compare the $4 with an empty string, do nothing if equals and perform > AT_CHECK otherwise. > > With that and adding a missing semicolon in the subject line, I applied the > set.
s/semi// > Also backported down to 3.2. > > Thanks for the fixes! > > Best regards, Ilya Maximets. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
