)]}'
{"nova/tests/test_db_api.py":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"2327d3a8211c4384bc1805c8093d6810d6e94e48","unresolved":false,"context_lines":[{"line_number":3663,"context_line":"            self.conn.execute(delete_statement5)"},{"line_number":3664,"context_line":""},{"line_number":3665,"context_line":"    def test_shadow_tables(self):"},{"line_number":3666,"context_line":"        metadata \u003d MetaData()"},{"line_number":3667,"context_line":"        metadata.bind \u003d self.engine"},{"line_number":3668,"context_line":"        metadata.reflect(self.engine)"},{"line_number":3669,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FXTg%3D","line":3666,"updated":"2013-05-13 16:03:58.000000000","message":"nit: you can bind the engine when a MetaData instance is created:  metadata \u003d MetaData(bind\u003dself.engine)","commit_id":"a2a809e71a4bb58c6c6abf4686cf98bd27e86f3b"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"2327d3a8211c4384bc1805c8093d6810d6e94e48","unresolved":false,"context_lines":[{"line_number":3665,"context_line":"    def test_shadow_tables(self):"},{"line_number":3666,"context_line":"        metadata \u003d MetaData()"},{"line_number":3667,"context_line":"        metadata.bind \u003d self.engine"},{"line_number":3668,"context_line":"        metadata.reflect(self.engine)"},{"line_number":3669,"context_line":""},{"line_number":3670,"context_line":"        table_names \u003d metadata.tables.keys()"},{"line_number":3671,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FXTQ%3D","line":3668,"updated":"2013-05-13 16:03:58.000000000","message":"nit: the metadata instance has been already bound to self.engine, so there is no need to pass it to reflect(). metadata.reflect() will do","commit_id":"a2a809e71a4bb58c6c6abf4686cf98bd27e86f3b"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"2327d3a8211c4384bc1805c8093d6810d6e94e48","unresolved":false,"context_lines":[{"line_number":3667,"context_line":"        metadata.bind \u003d self.engine"},{"line_number":3668,"context_line":"        metadata.reflect(self.engine)"},{"line_number":3669,"context_line":""},{"line_number":3670,"context_line":"        table_names \u003d metadata.tables.keys()"},{"line_number":3671,"context_line":""},{"line_number":3672,"context_line":"        for table_name in table_names:"},{"line_number":3673,"context_line":"            if table_name.startswith(\"shadow_\"):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2FXQg%3D","line":3670,"updated":"2013-05-13 16:03:58.000000000","message":"nit: you could actually omit creation of a table names list here and use metadata.tables directly instead:\n\n    for table_name in metadata.tables:\n        if table_name.startswith(\"shadow_\"):\n            self.assertIn(table_name[7:], metadata.tables)\n            continue\n        self.assertTrue(sqlalchemy_utils.check_shadow_table(self.engine, table_name))\n\nassertIn() is O(n) for a list, and O(1) for a dict. I know, n is small here, and the performance gain must be negligible, so feel free to ignore this comment.","commit_id":"a2a809e71a4bb58c6c6abf4686cf98bd27e86f3b"}]}
