)]}'
{"oslo_db/sqlalchemy/engines.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2c6d3359c316c4a1b4e983b13026d7c18293d238","unresolved":false,"context_lines":[{"line_number":28,"context_line":"from sqlalchemy import event"},{"line_number":29,"context_line":"from sqlalchemy import exc"},{"line_number":30,"context_line":"from sqlalchemy import pool"},{"line_number":31,"context_line":"from sqlalchemy import sql"},{"line_number":32,"context_line":"from sqlalchemy.sql.expression import select"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"from oslo_db import exception"}],"source_content_type":"text/x-python","patch_set":1,"id":"136f3d1c_21993820","line":31,"in_reply_to":"97f6160d_0c80315a","updated":"2021-07-28 14:14:37.000000000","message":"Done","commit_id":"d5a7aa79c7a56b27c160c2d281a4e2522b4abd1e"}],"oslo_db/sqlalchemy/provision.py":[{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"bc2b442bff01c97254dc9b891d90c98f0107ccb9","unresolved":true,"context_lines":[{"line_number":518,"context_line":"    def create_named_database(self, engine, ident, conditional\u003dFalse):"},{"line_number":519,"context_line":"        with engine.connect() as conn:"},{"line_number":520,"context_line":"            if not conditional or not self.database_exists(conn, ident):"},{"line_number":521,"context_line":"                conn.exec_driver_sql(\"CREATE DATABASE %s\" % ident)"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    def drop_named_database(self, engine, ident, conditional\u003dFalse):"},{"line_number":524,"context_line":"        with engine.connect() as conn:"}],"source_content_type":"text/x-python","patch_set":1,"id":"728025a3_d748857d","line":521,"updated":"2021-07-27 19:03:56.000000000","message":"yup, perfect","commit_id":"d5a7aa79c7a56b27c160c2d281a4e2522b4abd1e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2c6d3359c316c4a1b4e983b13026d7c18293d238","unresolved":false,"context_lines":[{"line_number":518,"context_line":"    def create_named_database(self, engine, ident, conditional\u003dFalse):"},{"line_number":519,"context_line":"        with engine.connect() as conn:"},{"line_number":520,"context_line":"            if not conditional or not self.database_exists(conn, ident):"},{"line_number":521,"context_line":"                conn.exec_driver_sql(\"CREATE DATABASE %s\" % ident)"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    def drop_named_database(self, engine, ident, conditional\u003dFalse):"},{"line_number":524,"context_line":"        with engine.connect() as conn:"}],"source_content_type":"text/x-python","patch_set":1,"id":"dadb1d4e_39957d63","line":521,"in_reply_to":"728025a3_d748857d","updated":"2021-07-28 14:14:37.000000000","message":"Ack","commit_id":"d5a7aa79c7a56b27c160c2d281a4e2522b4abd1e"},{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"bc2b442bff01c97254dc9b891d90c98f0107ccb9","unresolved":true,"context_lines":[{"line_number":527,"context_line":""},{"line_number":528,"context_line":"    def database_exists(self, engine, ident):"},{"line_number":529,"context_line":"        s \u003d sql.text(\"SHOW DATABASES LIKE :ident\")"},{"line_number":530,"context_line":"        return bool(engine.scalar(s, {\u0027ident\u0027: ident}))"},{"line_number":531,"context_line":""},{"line_number":532,"context_line":""},{"line_number":533,"context_line":"@BackendImpl.impl.dispatch_for(\"sqlite\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"5d69cd92_82373cf8","line":530,"updated":"2021-07-27 19:03:56.000000000","message":"I\u0027m assuming the \"engine.scalar()\" is dealt with in another review","commit_id":"d5a7aa79c7a56b27c160c2d281a4e2522b4abd1e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2c6d3359c316c4a1b4e983b13026d7c18293d238","unresolved":false,"context_lines":[{"line_number":527,"context_line":""},{"line_number":528,"context_line":"    def database_exists(self, engine, ident):"},{"line_number":529,"context_line":"        s \u003d sql.text(\"SHOW DATABASES LIKE :ident\")"},{"line_number":530,"context_line":"        return bool(engine.scalar(s, {\u0027ident\u0027: ident}))"},{"line_number":531,"context_line":""},{"line_number":532,"context_line":""},{"line_number":533,"context_line":"@BackendImpl.impl.dispatch_for(\"sqlite\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"aa500098_30920312","line":530,"in_reply_to":"5d69cd92_82373cf8","updated":"2021-07-28 14:14:37.000000000","message":"Yup, even though it results in a lot of changes, I\u0027ve tried to keep everything to its own patch. In some cases, that\u0027s actually resulted in introducing some deprecated behaviors, but I\u0027ll clean those up again in later patches so it\u0027s a net positive","commit_id":"d5a7aa79c7a56b27c160c2d281a4e2522b4abd1e"}],"oslo_db/tests/sqlalchemy/test_utils.py":[{"author":{"_account_id":11816,"name":"mike_mp@zzzcomputing.com","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"bc2b442bff01c97254dc9b891d90c98f0107ccb9","unresolved":true,"context_lines":[{"line_number":1273,"context_line":"        self.addCleanup(meta.drop_all)"},{"line_number":1274,"context_line":""},{"line_number":1275,"context_line":"    def test_get_indexes(self):"},{"line_number":1276,"context_line":"        Index(\u0027index_a\u0027, self.test_table.c.a).create()"},{"line_number":1277,"context_line":"        Index(\u0027index_b\u0027, self.test_table.c.b).create()"},{"line_number":1278,"context_line":"        indexes \u003d utils.get_indexes(self.engine, \"test_table\")"},{"line_number":1279,"context_line":"        indexes \u003d [(index[\u0027name\u0027], index[\u0027column_names\u0027]) for index in indexes]"}],"source_content_type":"text/x-python","patch_set":1,"id":"10ef86f5_e293676c","line":1276,"updated":"2021-07-27 19:03:56.000000000","message":"hmm these should have a bind passed to them.   did \"self.engine\" get removed here?","commit_id":"d5a7aa79c7a56b27c160c2d281a4e2522b4abd1e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2c6d3359c316c4a1b4e983b13026d7c18293d238","unresolved":false,"context_lines":[{"line_number":1273,"context_line":"        self.addCleanup(meta.drop_all)"},{"line_number":1274,"context_line":""},{"line_number":1275,"context_line":"    def test_get_indexes(self):"},{"line_number":1276,"context_line":"        Index(\u0027index_a\u0027, self.test_table.c.a).create()"},{"line_number":1277,"context_line":"        Index(\u0027index_b\u0027, self.test_table.c.b).create()"},{"line_number":1278,"context_line":"        indexes \u003d utils.get_indexes(self.engine, \"test_table\")"},{"line_number":1279,"context_line":"        indexes \u003d [(index[\u0027name\u0027], index[\u0027column_names\u0027]) for index in indexes]"}],"source_content_type":"text/x-python","patch_set":1,"id":"cbff9034_3245b90c","line":1276,"in_reply_to":"10ef86f5_e293676c","updated":"2021-07-28 14:14:37.000000000","message":"Hmm, I\u0027m not sure what\u0027s gone on here...\n\nLater: Ah, so we\u0027re relying on sqlalchemy-migrate\u0027s monkey patching for some of these. If you run this file with test discovery disabled (e.g. via \u0027tox -e py36 -- -n oslo_db/tests/sqlalchemy/test_utils.py\u0027) then some of these tests fail because that monkey patching doesn\u0027t happen. This must be a remnant from my attempt to fix this issue before I realized what was happening. Reverted.","commit_id":"d5a7aa79c7a56b27c160c2d281a4e2522b4abd1e"}]}
