)]}'
{"placement/objects/research_context.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"727b70fb10d4755d34d5bd496806b4f70541e67c","unresolved":false,"context_lines":[{"line_number":899,"context_line":"    sel \u003d sel.select_from(outer_to_subq)"},{"line_number":900,"context_line":"    res \u003d ctx.session.execute(sel).fetchall()"},{"line_number":901,"context_line":""},{"line_number":902,"context_line":"    return set([(rp_id, root_id) for rp_id, root_id in res])"},{"line_number":903,"context_line":""},{"line_number":904,"context_line":""},{"line_number":905,"context_line":"@db_api.placement_context_manager.reader"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_82c77996","line":902,"range":{"start_line":902,"start_character":15,"end_line":902,"end_character":16},"updated":"2019-08-05 15:07:15.000000000","message":"I think these square brackets are redundant.\n\n(Or possibly worse: if the interpreter isn\u0027t smart enough to ignore them, it\u0027ll generate a whole list before creating a set out of it.)","commit_id":"673b10151dfdf74756af66e0df7937ac881dec2b"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"e4a918dd22975e70608a935b685f34e70d96fb47","unresolved":false,"context_lines":[{"line_number":899,"context_line":"    sel \u003d sel.select_from(outer_to_subq)"},{"line_number":900,"context_line":"    res \u003d ctx.session.execute(sel).fetchall()"},{"line_number":901,"context_line":""},{"line_number":902,"context_line":"    return set([(rp_id, root_id) for rp_id, root_id in res])"},{"line_number":903,"context_line":""},{"line_number":904,"context_line":""},{"line_number":905,"context_line":"@db_api.placement_context_manager.reader"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_020709cc","line":902,"range":{"start_line":902,"start_character":15,"end_line":902,"end_character":16},"in_reply_to":"7faddb67_82c77996","updated":"2019-08-05 15:11:00.000000000","message":"Confirmed (py3 and py2) that they\u0027re redundant. (Didn\u0027t bother checking whether memory is duplicated.","commit_id":"673b10151dfdf74756af66e0df7937ac881dec2b"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"cb6735a2c70c4e917e7686ab03315395d2a50141","unresolved":false,"context_lines":[{"line_number":899,"context_line":"    sel \u003d sel.select_from(outer_to_subq)"},{"line_number":900,"context_line":"    res \u003d ctx.session.execute(sel).fetchall()"},{"line_number":901,"context_line":""},{"line_number":902,"context_line":"    return set([(rp_id, root_id) for rp_id, root_id in res])"},{"line_number":903,"context_line":""},{"line_number":904,"context_line":""},{"line_number":905,"context_line":"@db_api.placement_context_manager.reader"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_0262a9ae","line":902,"range":{"start_line":902,"start_character":15,"end_line":902,"end_character":16},"in_reply_to":"7faddb67_82c77996","updated":"2019-08-05 15:10:07.000000000","message":"ah yeah, thanks, I get so used to set() complaining when I do set(1, 2, 3) that I habitually bracker.","commit_id":"673b10151dfdf74756af66e0df7937ac881dec2b"}]}
