)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"389d081fb5f1c5b18614a44bb9f5aa9087260805","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"28c7fe1b_862957d9","updated":"2025-08-28 12:46:07.000000000","message":"I know this is just moving code around but maybe it is a good time to get rid of that code and user sqlachmy abstractions instead? What do you think?","commit_id":"2f72d4535667d19b8d4fa41759d37dc96f742cd7"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"d27c3b2ad0de0f6428434170723e5a7bfe9b950c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a5d2175f_30324509","updated":"2025-08-28 13:41:32.000000000","message":"honestly, I need to look at the other changes to understand why this is really needed...","commit_id":"2f72d4535667d19b8d4fa41759d37dc96f742cd7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6748edafe0ade66468111d550a0d15aae5339d19","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e8219f35_e0b0d7ac","updated":"2025-08-28 11:08:58.000000000","message":"sure we can do that","commit_id":"2f72d4535667d19b8d4fa41759d37dc96f742cd7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"45f8e5c713b79c8a21c1a76d8b1683778a12d511","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"bc16449d_a7d066d9","in_reply_to":"a5d2175f_30324509","updated":"2025-08-29 10:55:21.000000000","message":"I can reword the commit message if you want, but it seems pretty clear to me?\n\n\u003e db: Move regex helpers to utils\n\u003e\n\u003e So that we can use them for API DB methods, which are found in\nnova.objects instead of nova.db.","commit_id":"2f72d4535667d19b8d4fa41759d37dc96f742cd7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3971b32159dc42918161b432668f5834aea47589","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3bcf0c67_e2e91ef1","updated":"2026-02-23 19:41:11.000000000","message":"recheck","commit_id":"7cb87950c8f955712aa0f73d27ba03ca444149c1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f3a726a37b0923ccf4b0d4cdd9f9c00e2e8d195e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"bae6c151_83dde52d","updated":"2026-02-23 16:26:36.000000000","message":"recheck timeout","commit_id":"7cb87950c8f955712aa0f73d27ba03ca444149c1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4211c9a6aea127eba17a557979e3062f47595937","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"0d6f5c33_f496de6b","updated":"2026-02-26 11:14:26.000000000","message":"I\u0027m going to get this in. It\u0027s been around for a while, there were no strong objections from gibi or bauzas, and it\u0027s not going to cause merge conflicts with anything high priority","commit_id":"d79132d113bff106b46623cee7b53a8cced1ceec"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4211c9a6aea127eba17a557979e3062f47595937","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"6f9e7ca2_3f0836aa","updated":"2026-02-26 11:14:26.000000000","message":"I\u0027m going to get this in. There were no strong objections from gibi or sylvain and it\u0027s not going to cause merge conflicts","commit_id":"d79132d113bff106b46623cee7b53a8cced1ceec"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e86833ca05818a12c550cf137e9cc59ad685155f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"c0d95ca1_6f3c7846","updated":"2026-02-25 22:28:56.000000000","message":"recheck","commit_id":"d79132d113bff106b46623cee7b53a8cced1ceec"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9afdf6de3820c0148e27bf41d6883b2178a9720d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"235d1f99_f6566049","updated":"2026-02-26 10:59:54.000000000","message":"recheck unrelated failure","commit_id":"d79132d113bff106b46623cee7b53a8cced1ceec"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e28fc8d6148fbd6b20d7ed3d39e4d14276265d05","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"ce89ad08_dc791f3e","updated":"2026-02-25 17:02:13.000000000","message":"recheck unrelated heat failures in openstacksdk-functional-devstack","commit_id":"d79132d113bff106b46623cee7b53a8cced1ceec"}],"nova/db/utils.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"d27c3b2ad0de0f6428434170723e5a7bfe9b950c","unresolved":true,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"def get_regexp_ops("},{"line_number":140,"context_line":"    connection: str"},{"line_number":141,"context_line":") -\u003e tuple[collections.abc.Callable[[str], str], str]:"},{"line_number":142,"context_line":"    \"\"\"Return safety filter and db opts for regex.\"\"\""},{"line_number":143,"context_line":"    regex_safe_filters \u003d {"},{"line_number":144,"context_line":"        \u0027mysql\u0027: _safe_regex_mysql"}],"source_content_type":"text/x-python","patch_set":1,"id":"34ed015f_93cd7707","line":141,"range":{"start_line":141,"start_character":5,"end_line":141,"end_character":54},"updated":"2025-08-28 13:41:32.000000000","message":"you make reviews a bit more longer if you modify what you move. I understand why you do this as you prefer to use typing, but then we import abc for this...","commit_id":"2f72d4535667d19b8d4fa41759d37dc96f742cd7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"45f8e5c713b79c8a21c1a76d8b1683778a12d511","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"def get_regexp_ops("},{"line_number":140,"context_line":"    connection: str"},{"line_number":141,"context_line":") -\u003e tuple[collections.abc.Callable[[str], str], str]:"},{"line_number":142,"context_line":"    \"\"\"Return safety filter and db opts for regex.\"\"\""},{"line_number":143,"context_line":"    regex_safe_filters \u003d {"},{"line_number":144,"context_line":"        \u0027mysql\u0027: _safe_regex_mysql"}],"source_content_type":"text/x-python","patch_set":1,"id":"e7aa8b4b_ddfbc1f7","line":141,"range":{"start_line":141,"start_character":5,"end_line":141,"end_character":54},"in_reply_to":"34ed015f_93cd7707","updated":"2025-08-29 10:55:21.000000000","message":"Acknowledged","commit_id":"2f72d4535667d19b8d4fa41759d37dc96f742cd7"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"389d081fb5f1c5b18614a44bb9f5aa9087260805","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7310ddff_2a03e027","line":157,"updated":"2025-08-28 12:46:07.000000000","message":"I know this is just a refactor so my comment is not related but I would expect that sqlalchmy hides this from us. With a quick search I found https://docs.sqlalchemy.org/en/20/core/sqlelement.html#sqlalchemy.sql.expression.ColumnElement.regexp_match","commit_id":"2f72d4535667d19b8d4fa41759d37dc96f742cd7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"45f8e5c713b79c8a21c1a76d8b1683778a12d511","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b33cd74a_b07cdf50","line":157,"in_reply_to":"7310ddff_2a03e027","updated":"2025-08-29 10:55:21.000000000","message":"I did see that, but I was reluctant to rework this in any way without significant testing. Would be a good follow-up. I\u0027ll tack it on.","commit_id":"2f72d4535667d19b8d4fa41759d37dc96f742cd7"}]}
