)]}'
{"keystone/resource/backends/sql.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"ae986878a9fd2e41fd21ad6b277bd7fb141bc368","unresolved":false,"context_lines":[{"line_number":283,"context_line":"            #"},{"line_number":284,"context_line":"            # For example:"},{"line_number":285,"context_line":"            #"},{"line_number":286,"context_line":"            # If max_depth is 2, we will take the outerjoin 2 times, then the"},{"line_number":287,"context_line":"            # SQL result may be like:"},{"line_number":288,"context_line":"            #"},{"line_number":289,"context_line":"            #  +----+-------------+-------------+-------------+"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_58ab61d3","line":286,"range":{"start_line":286,"start_character":60,"end_line":286,"end_character":61},"updated":"2018-12-12 22:17:53.000000000","message":"This is just an internal utility, right? Users shouldn\u0027t notice this \"off-by-one\" change, should they?","commit_id":"e118d5e6a356a355c599c0da577105e589373301"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"8648f1d294dff8be272fd5f9b803172f3ca91252","unresolved":false,"context_lines":[{"line_number":283,"context_line":"            #"},{"line_number":284,"context_line":"            # For example:"},{"line_number":285,"context_line":"            #"},{"line_number":286,"context_line":"            # If max_depth is 2, we will take the outerjoin 2 times, then the"},{"line_number":287,"context_line":"            # SQL result may be like:"},{"line_number":288,"context_line":"            #"},{"line_number":289,"context_line":"            #  +----+-------------+-------------+-------------+"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_9a5c5058","line":286,"range":{"start_line":286,"start_character":60,"end_line":286,"end_character":61},"in_reply_to":"3f79a3b5_58ab61d3","updated":"2018-12-17 08:33:17.000000000","message":"emm. operator should notice this change when restarting Keystone. I\u0027ll add it in the releasenote.","commit_id":"e118d5e6a356a355c599c0da577105e589373301"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"8cdfd1ad51d118498ff6f758c8cadb9deb4ae9e3","unresolved":false,"context_lines":[{"line_number":287,"context_line":"            # SQL result may be like:"},{"line_number":288,"context_line":"            #"},{"line_number":289,"context_line":"            #  +----+-------------+-------------+-------------+"},{"line_number":290,"context_line":"            #  | No | project1_id | project2_id | project3_id |"},{"line_number":291,"context_line":"            #  +----+-------------+-------------+-------------+"},{"line_number":292,"context_line":"            #  | 1  |  domain_x   |             |             |"},{"line_number":293,"context_line":"            #  +----+-------------+-------------+-------------+"}],"source_content_type":"text/x-python","patch_set":3,"id":"bfdaf3ff_b707d51c","line":290,"range":{"start_line":290,"start_character":17,"end_line":290,"end_character":19},"updated":"2019-01-15 22:14:37.000000000","message":"nit: is number here meant to represent depth?","commit_id":"7fe201fbb5a60e44aec5b3ba01adae340e0a6ec4"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"77f298a4e2618f1bd9b6e4896ba71e6890cd7201","unresolved":false,"context_lines":[{"line_number":287,"context_line":"            # SQL result may be like:"},{"line_number":288,"context_line":"            #"},{"line_number":289,"context_line":"            #  +----+-------------+-------------+-------------+"},{"line_number":290,"context_line":"            #  | No | project1_id | project2_id | project3_id |"},{"line_number":291,"context_line":"            #  +----+-------------+-------------+-------------+"},{"line_number":292,"context_line":"            #  | 1  |  domain_x   |             |             |"},{"line_number":293,"context_line":"            #  +----+-------------+-------------+-------------+"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_67f6bafc","line":290,"range":{"start_line":290,"start_character":17,"end_line":290,"end_character":19},"in_reply_to":"9fdfeff1_92fa0440","updated":"2019-01-23 07:24:23.000000000","message":"oh, it\u0027s should be No.\nJust for the line number. See L307, I explained every line\u0027s meaning.","commit_id":"7fe201fbb5a60e44aec5b3ba01adae340e0a6ec4"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"2a48db7fead9d63b7a8d611352be729ff10006e7","unresolved":false,"context_lines":[{"line_number":287,"context_line":"            # SQL result may be like:"},{"line_number":288,"context_line":"            #"},{"line_number":289,"context_line":"            #  +----+-------------+-------------+-------------+"},{"line_number":290,"context_line":"            #  | No | project1_id | project2_id | project3_id |"},{"line_number":291,"context_line":"            #  +----+-------------+-------------+-------------+"},{"line_number":292,"context_line":"            #  | 1  |  domain_x   |             |             |"},{"line_number":293,"context_line":"            #  +----+-------------+-------------+-------------+"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_92fa0440","line":290,"range":{"start_line":290,"start_character":17,"end_line":290,"end_character":19},"in_reply_to":"bfdaf3ff_b707d51c","updated":"2019-01-22 20:38:08.000000000","message":"++, more clarification here would be good\n\nIt says we have 3 scenarios, so I assume 3 depths, but there are 5 lines.","commit_id":"7fe201fbb5a60e44aec5b3ba01adae340e0a6ec4"}],"keystone/tests/unit/test_backend_sql.py":[{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"2a48db7fead9d63b7a8d611352be729ff10006e7","unresolved":false,"context_lines":[{"line_number":720,"context_line":"    def test_check_project_depth(self):"},{"line_number":721,"context_line":"        # Create a 3 level project tree:"},{"line_number":722,"context_line":"        #"},{"line_number":723,"context_line":"        # default_domain"},{"line_number":724,"context_line":"        #       |"},{"line_number":725,"context_line":"        #   project_1"},{"line_number":726,"context_line":"        #       |"},{"line_number":727,"context_line":"        #   project_2"},{"line_number":728,"context_line":"        project_1 \u003d unit.new_project_ref("},{"line_number":729,"context_line":"            domain_id\u003dCONF.identity.default_domain_id)"},{"line_number":730,"context_line":"        PROVIDERS.resource_api.create_project(project_1[\u0027id\u0027], project_1)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fdfeff1_12bdb464","line":727,"range":{"start_line":723,"start_character":0,"end_line":727,"end_character":21},"updated":"2019-01-22 20:38:08.000000000","message":"This is nice","commit_id":"7fe201fbb5a60e44aec5b3ba01adae340e0a6ec4"}]}
