)]}'
{"nova/db/sqlalchemy/api_migrations/migrate_repo/versions/062_update_aggregate_metadata_key_value_index.py":[{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"531362098b67a70e6dea8db51f2d9be1074095f7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014 Rackspace Hosting"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_132e7141","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":34},"updated":"2018-08-01 08:27:40.000000000","message":"Should we change this?","commit_id":"ab1c86c29c699f4a86979e2c1125ee69d7433c88"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"531362098b67a70e6dea8db51f2d9be1074095f7","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"def upgrade(migrate_engine):"},{"line_number":23,"context_line":"    \"\"\"Change aggregate metadata (key) index to cover (key, value).\"\"\""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    meta \u003d MetaData(bind\u003dmigrate_engine)"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_93f041dc","line":23,"range":{"start_line":23,"start_character":14,"end_line":23,"end_character":32},"updated":"2018-08-01 08:27:40.000000000","message":"aggregate_metadata is better in here","commit_id":"ab1c86c29c699f4a86979e2c1125ee69d7433c88"}],"nova/tests/functional/db/api/test_migrations.py":[{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"bbfc1050a4be2d475fedf6d07d47656d809dc564","unresolved":false,"context_lines":[{"line_number":720,"context_line":"        self.assertColumnExists(engine, \u0027instance_mappings\u0027,"},{"line_number":721,"context_line":"            \u0027queued_for_delete\u0027)"},{"line_number":722,"context_line":""},{"line_number":723,"context_line":"    def _check_062(self, engine):"},{"line_number":724,"context_line":"        self.assertIndexMemers(engine, \u0027aggregate_metadata\u0027,"},{"line_number":725,"context_line":"                               \u0027aggregate_metadata_key_value_idx\u0027,"},{"line_number":726,"context_line":"                               [\u0027key\u0027, \u0027value\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_13c75113","line":723,"range":{"start_line":723,"start_character":19,"end_line":723,"end_character":31},"updated":"2018-08-01 08:31:54.000000000","message":"self, engine, data","commit_id":"ab1c86c29c699f4a86979e2c1125ee69d7433c88"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"8e313e99ad2f33c99afa15e3a2831419c5ad44d0","unresolved":false,"context_lines":[{"line_number":721,"context_line":"            \u0027queued_for_delete\u0027)"},{"line_number":722,"context_line":""},{"line_number":723,"context_line":"    def _check_062(self, engine, data):"},{"line_number":724,"context_line":"        self.assertIndexMemers(engine, \u0027aggregate_metadata\u0027,"},{"line_number":725,"context_line":"                               \u0027aggregate_metadata_key_value_idx\u0027,"},{"line_number":726,"context_line":"                               [\u0027key\u0027, \u0027value\u0027])"},{"line_number":727,"context_line":"        self.assertIndexNotExists(engine, \u0027aggregate_metadata_key_idx\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_85522ed9","line":724,"range":{"start_line":724,"start_character":13,"end_line":724,"end_character":30},"updated":"2018-08-01 13:37:18.000000000","message":"also, assertIndexMembers is mispelled anyway.","commit_id":"2a15120e5f313828731940697d0f748cc266f4a7"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"80e55c18aea7e62876b37a7011e1a21708a0bfca","unresolved":false,"context_lines":[{"line_number":721,"context_line":"            \u0027queued_for_delete\u0027)"},{"line_number":722,"context_line":""},{"line_number":723,"context_line":"    def _check_062(self, engine, data):"},{"line_number":724,"context_line":"        self.assertIndexMemers(engine, \u0027aggregate_metadata\u0027,"},{"line_number":725,"context_line":"                               \u0027aggregate_metadata_key_value_idx\u0027,"},{"line_number":726,"context_line":"                               [\u0027key\u0027, \u0027value\u0027])"},{"line_number":727,"context_line":"        self.assertIndexNotExists(engine, \u0027aggregate_metadata_key_idx\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_370a7426","line":724,"range":{"start_line":724,"start_character":13,"end_line":724,"end_character":30},"updated":"2018-08-01 12:42:30.000000000","message":"self.assertIndexExists(engine, \u0027aggregate_metadata\u0027, \u0027aggregate_metadata_key_value_idx\u0027)","commit_id":"2a15120e5f313828731940697d0f748cc266f4a7"}]}
