)]}'
{"oslo_db/sqlalchemy/test_migrations.py":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"1dd07bec58d841a1f54c29db169386bdbd49e537","unresolved":false,"context_lines":[{"line_number":483,"context_line":""},{"line_number":484,"context_line":"        type_ \u003d meta_col.type"},{"line_number":485,"context_line":"        if isinstance(type_, types.Variant):"},{"line_number":486,"context_line":"            type_ \u003d type_.load_dialect_impl(bind.dialect)"},{"line_number":487,"context_line":"        if isinstance(type_, (sqlalchemy.Integer, sqlalchemy.BigInteger)):"},{"line_number":488,"context_line":"            if meta_def is None or insp_def is None:"},{"line_number":489,"context_line":"                return meta_def !\u003d insp_def"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a18252c_f7dc6a1a","line":486,"updated":"2016-04-12 10:02:28.000000000","message":"nit: maybe we could rename type_ to impl_type to avoid confusion? (when type_ is redefined to mean a different thing)","commit_id":"83360dea0ceb1502069083930af5181b360cc20f"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"8527bde0a6b161d6265656ec36fbc9d811f3324d","unresolved":false,"context_lines":[{"line_number":483,"context_line":""},{"line_number":484,"context_line":"        type_ \u003d meta_col.type"},{"line_number":485,"context_line":"        if isinstance(type_, types.Variant):"},{"line_number":486,"context_line":"            type_ \u003d type_.load_dialect_impl(bind.dialect)"},{"line_number":487,"context_line":"        if isinstance(type_, (sqlalchemy.Integer, sqlalchemy.BigInteger)):"},{"line_number":488,"context_line":"            if meta_def is None or insp_def is None:"},{"line_number":489,"context_line":"                return meta_def !\u003d insp_def"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a18252c_5d3c5d2f","line":486,"in_reply_to":"5a18252c_f7dc6a1a","updated":"2016-04-12 10:42:45.000000000","message":"Done","commit_id":"83360dea0ceb1502069083930af5181b360cc20f"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"1dd07bec58d841a1f54c29db169386bdbd49e537","unresolved":false,"context_lines":[{"line_number":487,"context_line":"        if isinstance(type_, (sqlalchemy.Integer, sqlalchemy.BigInteger)):"},{"line_number":488,"context_line":"            if meta_def is None or insp_def is None:"},{"line_number":489,"context_line":"                return meta_def !\u003d insp_def"},{"line_number":490,"context_line":"        return meta_def.arg !\u003d insp_def.split(\"\u0027\")[1]"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"    @_compare_server_default.dispatch_for(\u0027postgresql\u0027)"},{"line_number":493,"context_line":"    def _compare_server_default(bind, meta_col, insp_def, meta_def):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a18252c_17b5a6cc","line":490,"updated":"2016-04-12 10:02:28.000000000","message":"Hmm, I think this indentation change was not intended: we are supposed to return None here to allow alembic proceed with the default implementation of comparison. A boolean value would mean we\u0027ve already performed the comparison.\n\nLet\u0027s put this return statement under if again.","commit_id":"83360dea0ceb1502069083930af5181b360cc20f"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"f9bc2d743806508b9ab9697d7d1f934468b86526","unresolved":false,"context_lines":[{"line_number":487,"context_line":"        if isinstance(type_, (sqlalchemy.Integer, sqlalchemy.BigInteger)):"},{"line_number":488,"context_line":"            if meta_def is None or insp_def is None:"},{"line_number":489,"context_line":"                return meta_def !\u003d insp_def"},{"line_number":490,"context_line":"        return meta_def.arg !\u003d insp_def.split(\"\u0027\")[1]"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"    @_compare_server_default.dispatch_for(\u0027postgresql\u0027)"},{"line_number":493,"context_line":"    def _compare_server_default(bind, meta_col, insp_def, meta_def):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a18252c_1db025f4","line":490,"in_reply_to":"5a18252c_17b5a6cc","updated":"2016-04-12 10:40:10.000000000","message":"Oops, thanks for catching.","commit_id":"83360dea0ceb1502069083930af5181b360cc20f"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"19e634c72003d8f8c87445835d9191a4dfa8b926","unresolved":false,"context_lines":[{"line_number":481,"context_line":"                isinstance(meta_def.arg, expr.False_) and insp_def \u003d\u003d \"\u00270\u0027\""},{"line_number":482,"context_line":"            )"},{"line_number":483,"context_line":""},{"line_number":484,"context_line":"        impl_type \u003d meta_col.type"},{"line_number":485,"context_line":"        if isinstance(impl_type, types.Variant):"},{"line_number":486,"context_line":"            impl_type \u003d impl_type.load_dialect_impl(bind.dialect)"},{"line_number":487,"context_line":"        if isinstance(impl_type, (sqlalchemy.Integer, sqlalchemy.BigInteger)):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_421115ac","line":484,"updated":"2016-04-12 11:52:04.000000000","message":"I must haven\u0027t been clear about what I really meant in the nit comment, but this looks ok :P","commit_id":"21260bbac3164128f35d0be7b890bfa0f6ed9331"}],"oslo_db/tests/sqlalchemy/test_migrations.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"81c4df5f261d9dff0986edb5562157ec7e33749a","unresolved":false,"context_lines":[{"line_number":199,"context_line":"            sa.Column(\u0027defaulttest4\u0027, sa.Enum(\u0027first\u0027, \u0027second\u0027,"},{"line_number":200,"context_line":"                                              name\u003d\u0027testenum\u0027),"},{"line_number":201,"context_line":"                      server_default\u003d\"first\"),"},{"line_number":202,"context_line":"            sa.Column(\u0027variant\u0027, sa.BigInteger(), server_default\u003d\u00270\u0027),"},{"line_number":203,"context_line":"            sa.Column(\u0027fk_check\u0027, sa.String(36), nullable\u003dFalse),"},{"line_number":204,"context_line":"            sa.UniqueConstraint(\u0027spam\u0027, \u0027eggs\u0027, name\u003d\u0027uniq_cons\u0027),"},{"line_number":205,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_b6b36609","line":202,"updated":"2016-04-14 23:43:57.000000000","message":"I\u0027m suspicious about the fact that you had to change the table definitions in these tests to make them pass after the change. Is the change not backwards-compatible? Do all other existing uses of BigInteger have a server_default set?","commit_id":"21260bbac3164128f35d0be7b890bfa0f6ed9331"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"92853f48a974976a1258e04b982caef5c06bf087","unresolved":false,"context_lines":[{"line_number":199,"context_line":"            sa.Column(\u0027defaulttest4\u0027, sa.Enum(\u0027first\u0027, \u0027second\u0027,"},{"line_number":200,"context_line":"                                              name\u003d\u0027testenum\u0027),"},{"line_number":201,"context_line":"                      server_default\u003d\"first\"),"},{"line_number":202,"context_line":"            sa.Column(\u0027variant\u0027, sa.BigInteger(), server_default\u003d\u00270\u0027),"},{"line_number":203,"context_line":"            sa.Column(\u0027fk_check\u0027, sa.String(36), nullable\u003dFalse),"},{"line_number":204,"context_line":"            sa.UniqueConstraint(\u0027spam\u0027, \u0027eggs\u0027, name\u003d\u0027uniq_cons\u0027),"},{"line_number":205,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_8d4ed5bf","line":202,"in_reply_to":"1a122d0e_02357445","updated":"2016-04-15 11:55:42.000000000","message":"Because in fact column without server_default is a test for compare_type and the column with server_default is a test for compare_type and compare_server_default, so we do not miss testing of something.\n\nWill add a separate column with server_default.","commit_id":"21260bbac3164128f35d0be7b890bfa0f6ed9331"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"664b964d15e66a59c635c8023fa28a87773ac2dd","unresolved":false,"context_lines":[{"line_number":199,"context_line":"            sa.Column(\u0027defaulttest4\u0027, sa.Enum(\u0027first\u0027, \u0027second\u0027,"},{"line_number":200,"context_line":"                                              name\u003d\u0027testenum\u0027),"},{"line_number":201,"context_line":"                      server_default\u003d\"first\"),"},{"line_number":202,"context_line":"            sa.Column(\u0027variant\u0027, sa.BigInteger(), server_default\u003d\u00270\u0027),"},{"line_number":203,"context_line":"            sa.Column(\u0027fk_check\u0027, sa.String(36), nullable\u003dFalse),"},{"line_number":204,"context_line":"            sa.UniqueConstraint(\u0027spam\u0027, \u0027eggs\u0027, name\u003d\u0027uniq_cons\u0027),"},{"line_number":205,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_02357445","line":202,"in_reply_to":"5a18252c_4f34ecdc","updated":"2016-04-15 11:28:25.000000000","message":"Why not have 2 tests, then, to test both cases? Is the case where server_default is not specified tested elsewhere?","commit_id":"21260bbac3164128f35d0be7b890bfa0f6ed9331"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"886eced170bb9ab60cbd1325f879add0f9e458f0","unresolved":false,"context_lines":[{"line_number":199,"context_line":"            sa.Column(\u0027defaulttest4\u0027, sa.Enum(\u0027first\u0027, \u0027second\u0027,"},{"line_number":200,"context_line":"                                              name\u003d\u0027testenum\u0027),"},{"line_number":201,"context_line":"                      server_default\u003d\"first\"),"},{"line_number":202,"context_line":"            sa.Column(\u0027variant\u0027, sa.BigInteger(), server_default\u003d\u00270\u0027),"},{"line_number":203,"context_line":"            sa.Column(\u0027fk_check\u0027, sa.String(36), nullable\u003dFalse),"},{"line_number":204,"context_line":"            sa.UniqueConstraint(\u0027spam\u0027, \u0027eggs\u0027, name\u003d\u0027uniq_cons\u0027),"},{"line_number":205,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_4f34ecdc","line":202,"in_reply_to":"5a18252c_b6b36609","updated":"2016-04-15 06:12:20.000000000","message":"Doug, I\u0027m not adding this server_default to make test work, I add this to test my new changes. As Mike said if you remove this change the test will continue passing, but if you remove override of compare_server_default this test with server_default will fail showing the bug.","commit_id":"21260bbac3164128f35d0be7b890bfa0f6ed9331"},{"author":{"_account_id":11816,"name":"mike bayer","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"7ba5ff7b1d6b36255fd4840ee11505d5634472ae","unresolved":false,"context_lines":[{"line_number":199,"context_line":"            sa.Column(\u0027defaulttest4\u0027, sa.Enum(\u0027first\u0027, \u0027second\u0027,"},{"line_number":200,"context_line":"                                              name\u003d\u0027testenum\u0027),"},{"line_number":201,"context_line":"                      server_default\u003d\"first\"),"},{"line_number":202,"context_line":"            sa.Column(\u0027variant\u0027, sa.BigInteger(), server_default\u003d\u00270\u0027),"},{"line_number":203,"context_line":"            sa.Column(\u0027fk_check\u0027, sa.String(36), nullable\u003dFalse),"},{"line_number":204,"context_line":"            sa.UniqueConstraint(\u0027spam\u0027, \u0027eggs\u0027, name\u003d\u0027uniq_cons\u0027),"},{"line_number":205,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a18252c_872ef2f8","line":202,"in_reply_to":"5a18252c_b6b36609","updated":"2016-04-15 02:02:25.000000000","message":"this change in table definition is merely adding additional data to be compared from the \"schema\" vs the \"model\".  You can remove both of these schema changes (the server_default here and below) and the test will continue to pass just fine.  You just are no longer testing the code change itself, that of correctly comparing the \"server_default\" on a column that has the datatype of BigInteger.","commit_id":"21260bbac3164128f35d0be7b890bfa0f6ed9331"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"f939efd92cd1dbcadd1f5c4b167011cb71bbd450","unresolved":false,"context_lines":[{"line_number":200,"context_line":"                                              name\u003d\u0027testenum\u0027),"},{"line_number":201,"context_line":"                      server_default\u003d\"first\"),"},{"line_number":202,"context_line":"            sa.Column(\u0027variant\u0027, sa.BigInteger()),"},{"line_number":203,"context_line":"            sa.Column(\u0027variant2\u0027, sa.BigInteger(), server_default\u003d\u00270\u0027),"},{"line_number":204,"context_line":"            sa.Column(\u0027fk_check\u0027, sa.String(36), nullable\u003dFalse),"},{"line_number":205,"context_line":"            sa.UniqueConstraint(\u0027spam\u0027, \u0027eggs\u0027, name\u003d\u0027uniq_cons\u0027),"},{"line_number":206,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_ff5c4aef","line":203,"updated":"2016-04-15 12:55:59.000000000","message":"This is even better, thanks!","commit_id":"8f0ab8317301b98cc88b4095d57ca69de2f9354e"}]}
