)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"0462930463d5795d48e39513cd12e1da5370719a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ee54949e_1171f77a","updated":"2023-02-14 19:57:03.000000000","message":"I\u0027m sure Terry will have some comments, PS1 here is a hack to get some feedback.","commit_id":"1b6973425d916ee7e50ff9e62a3e779eafdfb524"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"d8a82b191ab5aaefdce2609ed36541a66d612d4e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e260400f_eebcb1b1","updated":"2023-02-15 14:17:34.000000000","message":"Nice! I\u0027ll stare at it for a bit longer and play around with it, but looks good after a first viewing. Thanks, Brian!","commit_id":"1b6973425d916ee7e50ff9e62a3e779eafdfb524"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"52edcec855e230d326598e8920aae5c3b95427ac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1d4e3c3c_cabce3bc","in_reply_to":"8142989f_6655d507","updated":"2023-04-18 13:47:56.000000000","message":"Originally I was going off of the ovs-vsctl commands for comparison operators: \n```\n       [--columns\u003dcolumn[,column]...] find table [column[:key]\u003dvalue]...\n              Lists the data in each record in table whose column equals value or, if key is specified, whose column contains a key with the specified value.  The following operators may be used where \u003d is written in the syntax sum‐\n              mary:\n\n              \u003d !\u003d \u003c \u003e \u003c\u003d \u003e\u003d\n                     Selects records in which column[:key] equals, does not equal, is less than, is greater than, is less than or equal to, or is greater than or equal to value, respectively.\n\n                     Consider column[:key] and value as sets of elements.  Identical sets are considered equal.  Otherwise, if the sets have different numbers of elements, then the set with more elements is considered to be  larger.\n                     Otherwise, consider a element from each set pairwise, in increasing order within each set.  The first pair that differs determines the result.  (For a column that contains key-value pairs, first all the keys are\n                     compared, and values are considered only if the two sets contain identical keys.)\n\n              {\u003d} {!\u003d}\n                     Test for set equality or inequality, respectively.\n\n              {\u003c\u003d}   Selects records in which column[:key] is a subset of value.  For example, flood-vlans{\u003c\u003d}1,2 selects records in which the flood-vlans column is the empty set or contains 1 or 2 or both.\n\n              {\u003c}    Selects records in which column[:key] is a proper subset of value.  For example, flood-vlans{\u003c}1,2 selects records in which the flood-vlans column is the empty set or contains 1 or 2 but not both.\n\n              {\u003e\u003d} {\u003e}\n                     Same as {\u003c\u003d} and {\u003c}, respectively, except that the relationship is reversed.  For example, flood-vlans{\u003e\u003d}1,2 selects records in which the flood-vlans column contains both 1 and 2.\n\n              For arithmetic operators (\u003d !\u003d \u003c \u003e \u003c\u003d \u003e\u003d), when key is specified but a particular record\u0027s column does not contain key, the record is always omitted from the results.  Thus, the condition other-config:mtu!\u003d1500 matches\n              records that have a mtu key whose value is not 1500, but not those that lack an mtu key.\n\n              For the set operators, when key is specified but a particular record\u0027s column does not contain key, the comparison is done against an empty set.  Thus, the condition other-config:mtu{!\u003d}1500 matches records that have a\n              mtu key whose value is not 1500 and those that lack an mtu key.\n\n              Don\u0027t forget to escape \u003c or \u003e from interpretation by the shell.\n\n              If --columns is specified, only the requested columns are listed, in the specified order.  Otherwise all columns are listed, in alphabetical order by column name.\n\n              The UUIDs shown for rows created in the same ovs-vsctl invocation will be wrong.\n```\n\nbut as I ended up stopping at \u003d/!\u003d that doesn\u0027t really matter much. There is no ~\u003d in those, but it seems like a useful addition.","commit_id":"1b6973425d916ee7e50ff9e62a3e779eafdfb524"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"469f73dbc291c4fe211441071dad13e62cfc8dfd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8142989f_6655d507","in_reply_to":"e260400f_eebcb1b1","updated":"2023-02-15 15:00:54.000000000","message":"Thanks, my main questions were if we even wanted to touch the code dealing with dicts, or even add support for ~\u003d as I don\u0027t know how much it\u0027s really used.","commit_id":"1b6973425d916ee7e50ff9e62a3e779eafdfb524"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"abd696c8fdd4620c6860a098c4fbc5b77af0e465","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"db097bc7_af9ae027","updated":"2023-04-20 14:57:54.000000000","message":"@Brian Haley I inadvertently cleared your WIP flag. Are you good with this as-is or were you planning on adding to it?","commit_id":"b9a11d0668d6eefc00e8ed36b3b2625840bca202"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"60297959eec2d8917d51f7ed6a72c5b04e4cda1a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4cf2e7c2_c2cd18e3","updated":"2023-04-24 14:36:50.000000000","message":"I did a shallow attempt at using this as a replacement for the code in https://review.opendev.org/c/openstack/neutron/+/873698/23/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py#819\n\nI did not immediately get it to work, AFAIR ovsdbapp would complain about incompatible types used. I\u0027ll make another attempt and paste the Traceback here.","commit_id":"b9a11d0668d6eefc00e8ed36b3b2625840bca202"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e7046d2fceb4b340e9b47bdd6e8b0fc989900e81","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0f6ac707_b9608d4e","updated":"2023-04-24 14:22:01.000000000","message":"Terry - I\u0027m fine with this change, I just didn\u0027t know if the ~\u003d syntax was useful or not, I can remove it if you don\u0027t think it will be useful. Just adding Frode as his change was the reason I pushed this.","commit_id":"b9a11d0668d6eefc00e8ed36b3b2625840bca202"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"516baee166841af471608d18a5f762f4d4d8b419","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4ef4efb0_b1a87b74","in_reply_to":"4cf2e7c2_c2cd18e3","updated":"2023-04-24 18:54:39.000000000","message":"I don\u0027t think this code adds the {\u003e} operator, so it might not be useful for that particular case.","commit_id":"b9a11d0668d6eefc00e8ed36b3b2625840bca202"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"5d711cea9dff282f6055f6c899a75a112cc4fd37","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d8fa9be4_ca639b27","in_reply_to":"4ef4efb0_b1a87b74","updated":"2023-04-24 22:06:19.000000000","message":"So did I completely bork this up?","commit_id":"b9a11d0668d6eefc00e8ed36b3b2625840bca202"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"b8d7e946d6d7bee9d35d747bc495fd602309bc5d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5b8130d0_e36f9e43","in_reply_to":"d8fa9be4_ca639b27","updated":"2023-04-24 22:19:34.000000000","message":"I don\u0027t think it\u0027s borked at all, I just think it does different things. If I\u0027m reading things correctly, this looks like it just does \u003c, \u003e comparisons and string comparison. And the linked patch is trying to do a set operation (which weirdly looks like {\u003e}) to find the logical router that contains a particular port.\n\nBoth operations are useful, just saying that I didn\u0027t think that this operation was the one that was being looked for on that patch.","commit_id":"b9a11d0668d6eefc00e8ed36b3b2625840bca202"}]}
