)]}'
{"manila/db/sqlalchemy/api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"06ef134dcfea15cd77eb3970ea631e796aa9c004","unresolved":true,"context_lines":[{"line_number":5964,"context_line":""},{"line_number":5965,"context_line":"    query \u003d model_query(context, model)"},{"line_number":5966,"context_line":""},{"line_number":5967,"context_line":"    if \u0027name\u0027 in values:"},{"line_number":5968,"context_line":"        existing \u003d query.filter_by(name\u003dvalues[\u0027name\u0027]).first()"},{"line_number":5969,"context_line":"        if existing and existing[\u0027id\u0027] !\u003d type_id:"},{"line_number":5970,"context_line":"            raise exists_exc(**exists_args)"}],"source_content_type":"text/x-python","patch_set":3,"id":"c4d97bff_c2c52a94","line":5967,"updated":"2026-03-31 21:18:50.000000000","message":"Race condition (TOCTOU). The check-then-update is not atomic. Low\nrisk since type updates are rare admin operations. Consider whether\nan Alembic migration adding a unique constraint to ShareTypes should\nbe filed as a follow-up.","commit_id":"b7331c89ead454ddfce77c3d490b49a48e22f61f"}],"manila/tests/db/sqlalchemy/test_api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"06ef134dcfea15cd77eb3970ea631e796aa9c004","unresolved":true,"context_lines":[{"line_number":4807,"context_line":"                          db_api.share_type_update,"},{"line_number":4808,"context_line":"                          self.ctxt, share_type[\u0027id\u0027], values)"},{"line_number":4809,"context_line":""},{"line_number":4810,"context_line":"    def test_share_type_update_name_exist(self):"},{"line_number":4811,"context_line":"        db_utils.create_share_type(name\u003d\u0027exist_name\u0027)"},{"line_number":4812,"context_line":"        share_type \u003d db_utils.create_share_type(name\u003d\u0027new_name\u0027)"},{"line_number":4813,"context_line":"        values \u003d {\"name\": \"exist_name\"}"}],"source_content_type":"text/x-python","patch_set":3,"id":"97641df2_e6b77909","line":4810,"updated":"2026-03-31 21:18:50.000000000","message":"Missing test for the group type path. The commit subject claims this\ncovers \"share and group type models\" but only the share type case is\ntested. Either update the commit subject to just say \"share type\", or\nadd the missing wrapper function and test.","commit_id":"b7331c89ead454ddfce77c3d490b49a48e22f61f"}]}
