)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e9c79d662c4e13b95c15ae0aa6532624fee3c4d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"f7db533e_a36779e3","updated":"2022-02-21 18:24:27.000000000","message":"Looks like there are knock-on effects for some of the object versions. You could probably squash this into the preceding patch also, since neither can really stand on their own","commit_id":"2abae62372c0557269be233ef9c5d8f5196c44f8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6c0a045078f7cb5015e47b5eb92b2de4f53beff1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"2b4d1e97_7669ad14","updated":"2022-08-09 15:30:24.000000000","message":"I have a couple of nits here but nothing that justifies a rebase. Perhaps you could submit a follow-up to address them? 🙏","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"4ab7ca4bae20e9552fcf4a382f76fc2f5b744956","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"fa2c12b1_b3709ab1","updated":"2022-08-18 03:30:33.000000000","message":"recheck","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"b220f66cb5c749fe8a9343060f16f6409b33a9c5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"d0d36ff0_ed7260f7","updated":"2022-08-18 08:47:29.000000000","message":"recheck timeout","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5b0746c0c0b3ca2cb73b46f58b9eb36f6b98c8be","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"e9ba17c0_0c965ea6","in_reply_to":"2b4d1e97_7669ad14","updated":"2022-08-10 08:40:56.000000000","message":"i aggree unless a respin is needed for some reason i think the nits would be better adressed in a followup\n\ni also generally agree with the nits stephen raised.","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"02e2571568cf105db91708a9a37621f8486f1ebe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"8275d00d_4d49369b","in_reply_to":"e9ba17c0_0c965ea6","updated":"2022-08-16 09:00:44.000000000","message":"I have posted a follow up patch at:\nhttps://review.opendev.org/c/openstack/nova/+/853254","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"}],"nova/db/main/migrations/versions/ccb0fa1a2252_add_encryption_fields_to_.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"791f61e67f9d8bde3744635b118edc3f39c550f7","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"# not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"# a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":7,"id":"dfd411bd_67d122de","line":1,"updated":"2022-02-21 18:34:19.000000000","message":"You need to add a test for this in nova/tests/unit/db/main/test_migrations.py (I think)","commit_id":"2abae62372c0557269be233ef9c5d8f5196c44f8"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"26274d1c2ffa07e772371fb95f4babd3eceeb6bf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":2,"context_line":"# not use this file except in compliance with the License. You may obtain"},{"line_number":3,"context_line":"# a copy of the License at"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":7,"id":"99f14148_77fbae40","line":1,"in_reply_to":"dfd411bd_67d122de","updated":"2022-03-23 23:38:32.000000000","message":"Done","commit_id":"2abae62372c0557269be233ef9c5d8f5196c44f8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"791f61e67f9d8bde3744635b118edc3f39c550f7","unresolved":true,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def upgrade():"},{"line_number":32,"context_line":"    with op.batch_alter_table(\u0027block_device_mapping\u0027, schema\u003dNone) as batch_op:"},{"line_number":33,"context_line":"        batch_op.add_column("},{"line_number":34,"context_line":"            sa.Column(\u0027encrypted\u0027, sa.Boolean(), nullable\u003dTrue))"},{"line_number":35,"context_line":"        batch_op.add_column("}],"source_content_type":"text/x-python","patch_set":7,"id":"bc1700c9_94e0b18a","line":32,"range":{"start_line":32,"start_character":30,"end_line":32,"end_character":52},"updated":"2022-02-21 18:34:19.000000000","message":"This is a soft-delete table (according to the tests) so you need to think about the shadow tables too:\n\n  for table_name in (\u0027block_device_mapping\u0027, \u0027shadow_block_device_mapping\u0027):\n      with op.batch_alter_table(table_name, schema\u003dNone) as batch_op:\n          ...","commit_id":"2abae62372c0557269be233ef9c5d8f5196c44f8"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"26274d1c2ffa07e772371fb95f4babd3eceeb6bf","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def upgrade():"},{"line_number":32,"context_line":"    with op.batch_alter_table(\u0027block_device_mapping\u0027, schema\u003dNone) as batch_op:"},{"line_number":33,"context_line":"        batch_op.add_column("},{"line_number":34,"context_line":"            sa.Column(\u0027encrypted\u0027, sa.Boolean(), nullable\u003dTrue))"},{"line_number":35,"context_line":"        batch_op.add_column("}],"source_content_type":"text/x-python","patch_set":7,"id":"a7d52bc8_0c3ee38e","line":32,"range":{"start_line":32,"start_character":30,"end_line":32,"end_character":52},"in_reply_to":"bc1700c9_94e0b18a","updated":"2022-03-23 23:38:32.000000000","message":"Done","commit_id":"2abae62372c0557269be233ef9c5d8f5196c44f8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e9c79d662c4e13b95c15ae0aa6532624fee3c4d","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        batch_op.add_column(sa.Column(\u0027encryption_format\u0027, sa.Text("},{"line_number":39,"context_line":"        ).with_variant(mysql.MEDIUMTEXT(), \u0027mysql\u0027), nullable\u003dTrue))"},{"line_number":40,"context_line":"        batch_op.add_column(sa.Column(\u0027encryption_options\u0027, sa.Text("},{"line_number":41,"context_line":"        ).with_variant(mysql.MEDIUMTEXT(), \u0027mysql\u0027), nullable\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":7,"id":"49f744c9_58b29f0e","line":41,"updated":"2022-02-21 18:24:27.000000000","message":"nit: The wrapping for this is really odd and hard to read (IMO). Could we unravel it a bit, e.g.\n\n  batch_op.add_column(\n      sa.Column(\n          \u0027encryption_format\u0027,\n          sa.Text().with_variant(mysql.MEDIUMTEXT(), \u0027mysql\u0027),\n          nullable\u003dTrue,\n      )\n  )","commit_id":"2abae62372c0557269be233ef9c5d8f5196c44f8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"94384da4b8e1f9342cca80f251ac5bad85da4760","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"Add encryption fields to BlockDeviceMapping"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Revision ID: ccb0fa1a2252"},{"line_number":16,"context_line":"Revises: 16f1fbcab42b"},{"line_number":17,"context_line":"Create Date: 2022-01-12 15:22:47.524285"},{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from alembic import op"}],"source_content_type":"text/x-python","patch_set":11,"id":"bfca3e18_376ca6a5","line":17,"range":{"start_line":15,"start_character":0,"end_line":17,"end_character":39},"updated":"2022-07-12 08:20:17.000000000","message":"if this is not required I would drop it so that it can\u0027t be out of sync with the module vars below","commit_id":"e8a55ff702eb341a1715f3f18cfad6498804ac06"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5b0746c0c0b3ca2cb73b46f58b9eb36f6b98c8be","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"Add encryption fields to BlockDeviceMapping"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Revision ID: ccb0fa1a2252"},{"line_number":16,"context_line":"Revises: 16f1fbcab42b"},{"line_number":17,"context_line":"Create Date: 2022-01-12 15:22:47.524285"},{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from alembic import op"}],"source_content_type":"text/x-python","patch_set":11,"id":"618e4ccc_0f9c43ad","line":17,"range":{"start_line":15,"start_character":0,"end_line":17,"end_character":39},"in_reply_to":"72cca769_de0835b2","updated":"2022-08-10 08:40:56.000000000","message":"ack ok lets leave it for now.","commit_id":"e8a55ff702eb341a1715f3f18cfad6498804ac06"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6c0a045078f7cb5015e47b5eb92b2de4f53beff1","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"Add encryption fields to BlockDeviceMapping"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Revision ID: ccb0fa1a2252"},{"line_number":16,"context_line":"Revises: 16f1fbcab42b"},{"line_number":17,"context_line":"Create Date: 2022-01-12 15:22:47.524285"},{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from alembic import op"}],"source_content_type":"text/x-python","patch_set":11,"id":"72cca769_de0835b2","line":17,"range":{"start_line":15,"start_character":0,"end_line":17,"end_character":39},"in_reply_to":"7fcb1732_2001b736","updated":"2022-08-09 15:30:24.000000000","message":"It\u0027s auto-generated by alembic. I don\u0027t think it\u0027s necessary though. If we remove this, we should update the templates in \u0027nova/db/main/migrations/script.py.mako\u0027 and \u0027nova/db/api/migrations/script.py.mako\u0027. I wrote a good (IMO) guide on this [1]\n\n[1] https://docs.openstack.org/nova/latest/reference/database-migrations.html#schema-migrations","commit_id":"e8a55ff702eb341a1715f3f18cfad6498804ac06"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"275e043e03f44c76375de54d99064ac62ec5a3dd","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"\"\"\"Add encryption fields to BlockDeviceMapping"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Revision ID: ccb0fa1a2252"},{"line_number":16,"context_line":"Revises: 16f1fbcab42b"},{"line_number":17,"context_line":"Create Date: 2022-01-12 15:22:47.524285"},{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from alembic import op"}],"source_content_type":"text/x-python","patch_set":11,"id":"7fcb1732_2001b736","line":17,"range":{"start_line":15,"start_character":0,"end_line":17,"end_character":39},"in_reply_to":"bfca3e18_376ca6a5","updated":"2022-07-13 00:36:45.000000000","message":"I doubt it\u0027s required but keeping it would keep consistency with the existing migrations in\nhttps://github.com/openstack/nova/tree/master/nova/db/main/migrations/versions","commit_id":"e8a55ff702eb341a1715f3f18cfad6498804ac06"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"94384da4b8e1f9342cca80f251ac5bad85da4760","unresolved":true,"context_lines":[{"line_number":48,"context_line":"            )"},{"line_number":49,"context_line":"            batch_op.add_column("},{"line_number":50,"context_line":"                sa.Column(\u0027encryption_format\u0027,"},{"line_number":51,"context_line":"                    sa.Text().with_variant(mysql.MEDIUMTEXT(), \u0027mysql\u0027),"},{"line_number":52,"context_line":"                    nullable\u003dTrue,"},{"line_number":53,"context_line":"                )"},{"line_number":54,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":11,"id":"99bfa791_1c3d1677","line":51,"range":{"start_line":51,"start_character":43,"end_line":51,"end_character":59},"updated":"2022-07-12 08:20:17.000000000","message":"correct me if I\u0027m wrong but I thought that text filed were not stored inline in the db recorred but instead the db record had a pointer to a file on disk\n\nthe encryption format should not be a long sting so I would probably use \nsa.String(length\u003d128)\n\nhttps://www.analyticsvidhya.com/blog/2020/11/guide-data-types-mysql-data-science-beginners/ notes that \n\n\"\"\"MEDIUMTEXT can store up to 16,777,215 characters i.e 16,777,215 bytes or 64MB of data. It is suitable for larger text strings like books, research papers, and code backup.\nIt takes 3-Bytes overhead.\"\"\"\n\nand \nhttps://dev.mysql.com/doc/refman/5.7/en/blob.html states\n\n\"\"\"Each BLOB or TEXT value is represented internally by a separately allocated object. This is in contrast to all other data types, for which storage is allocated once per column when the table is opened.\"\"\"","commit_id":"e8a55ff702eb341a1715f3f18cfad6498804ac06"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"3ccfd2f6d555f3f3103c60aa7a3327136c5e08e7","unresolved":false,"context_lines":[{"line_number":48,"context_line":"            )"},{"line_number":49,"context_line":"            batch_op.add_column("},{"line_number":50,"context_line":"                sa.Column(\u0027encryption_format\u0027,"},{"line_number":51,"context_line":"                    sa.Text().with_variant(mysql.MEDIUMTEXT(), \u0027mysql\u0027),"},{"line_number":52,"context_line":"                    nullable\u003dTrue,"},{"line_number":53,"context_line":"                )"},{"line_number":54,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":11,"id":"a9a60ec2_7a1a8d71","line":51,"range":{"start_line":51,"start_character":43,"end_line":51,"end_character":59},"in_reply_to":"02b41f37_694470b0","updated":"2022-07-20 02:15:54.000000000","message":"Done","commit_id":"e8a55ff702eb341a1715f3f18cfad6498804ac06"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"275e043e03f44c76375de54d99064ac62ec5a3dd","unresolved":true,"context_lines":[{"line_number":48,"context_line":"            )"},{"line_number":49,"context_line":"            batch_op.add_column("},{"line_number":50,"context_line":"                sa.Column(\u0027encryption_format\u0027,"},{"line_number":51,"context_line":"                    sa.Text().with_variant(mysql.MEDIUMTEXT(), \u0027mysql\u0027),"},{"line_number":52,"context_line":"                    nullable\u003dTrue,"},{"line_number":53,"context_line":"                )"},{"line_number":54,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":11,"id":"02b41f37_694470b0","line":51,"range":{"start_line":51,"start_character":43,"end_line":51,"end_character":59},"in_reply_to":"99bfa791_1c3d1677","updated":"2022-07-13 00:36:45.000000000","message":"I think you are right, I can change them to string (VARCHAR).","commit_id":"e8a55ff702eb341a1715f3f18cfad6498804ac06"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"94384da4b8e1f9342cca80f251ac5bad85da4760","unresolved":true,"context_lines":[{"line_number":54,"context_line":"            )"},{"line_number":55,"context_line":"            batch_op.add_column("},{"line_number":56,"context_line":"                sa.Column(\u0027encryption_options\u0027,"},{"line_number":57,"context_line":"                    sa.Text().with_variant(mysql.MEDIUMTEXT(), \u0027mysql\u0027),"},{"line_number":58,"context_line":"                    nullable\u003dTrue,"},{"line_number":59,"context_line":"                )"},{"line_number":60,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":11,"id":"f20f5912_a466cd35","line":57,"range":{"start_line":57,"start_character":20,"end_line":57,"end_character":72},"updated":"2022-07-12 08:20:17.000000000","message":"again I don\u0027t think this should be excessively long\nI would be tempted to use a large string inline instead\n\nsay \nsa.String(length\u003d4096)","commit_id":"e8a55ff702eb341a1715f3f18cfad6498804ac06"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"3ccfd2f6d555f3f3103c60aa7a3327136c5e08e7","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            )"},{"line_number":55,"context_line":"            batch_op.add_column("},{"line_number":56,"context_line":"                sa.Column(\u0027encryption_options\u0027,"},{"line_number":57,"context_line":"                    sa.Text().with_variant(mysql.MEDIUMTEXT(), \u0027mysql\u0027),"},{"line_number":58,"context_line":"                    nullable\u003dTrue,"},{"line_number":59,"context_line":"                )"},{"line_number":60,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":11,"id":"5ad4ff02_92e744b6","line":57,"range":{"start_line":57,"start_character":20,"end_line":57,"end_character":72},"in_reply_to":"f20f5912_a466cd35","updated":"2022-07-20 02:15:54.000000000","message":"Done","commit_id":"e8a55ff702eb341a1715f3f18cfad6498804ac06"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5b0746c0c0b3ca2cb73b46f58b9eb36f6b98c8be","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":13,"id":"e8e3abec_3376b164","line":60,"updated":"2022-08-10 08:40:56.000000000","message":"+ thanks for converting to varchars.","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"02e2571568cf105db91708a9a37621f8486f1ebe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"c0118c8d_da710e77","line":60,"in_reply_to":"e8e3abec_3376b164","updated":"2022-08-16 09:00:44.000000000","message":"Ack","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"}],"nova/db/main/models.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1e9c79d662c4e13b95c15ae0aa6532624fee3c4d","unresolved":true,"context_lines":[{"line_number":669,"context_line":"        sa.Index(\u0027security_group_instance_association_instance_uuid_idx\u0027,"},{"line_number":670,"context_line":"              \u0027instance_uuid\u0027),"},{"line_number":671,"context_line":"    )"},{"line_number":672,"context_line":"    id \u003d sa.Column(sa.Integer, primary_key \u003d True, nullable \u003d False)"},{"line_number":673,"context_line":"    security_group_id \u003d sa.Column("},{"line_number":674,"context_line":"        sa.Integer, sa.ForeignKey(\u0027security_groups.id\u0027))"},{"line_number":675,"context_line":"    instance_uuid \u003d sa.Column(sa.String(36), sa.ForeignKey(\u0027instances.uuid\u0027))"}],"source_content_type":"text/x-python","patch_set":7,"id":"9c5425a7_da6bde92","line":672,"updated":"2022-02-21 18:24:27.000000000","message":"did black do this, or was this intentional?","commit_id":"2abae62372c0557269be233ef9c5d8f5196c44f8"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"26274d1c2ffa07e772371fb95f4babd3eceeb6bf","unresolved":false,"context_lines":[{"line_number":669,"context_line":"        sa.Index(\u0027security_group_instance_association_instance_uuid_idx\u0027,"},{"line_number":670,"context_line":"              \u0027instance_uuid\u0027),"},{"line_number":671,"context_line":"    )"},{"line_number":672,"context_line":"    id \u003d sa.Column(sa.Integer, primary_key \u003d True, nullable \u003d False)"},{"line_number":673,"context_line":"    security_group_id \u003d sa.Column("},{"line_number":674,"context_line":"        sa.Integer, sa.ForeignKey(\u0027security_groups.id\u0027))"},{"line_number":675,"context_line":"    instance_uuid \u003d sa.Column(sa.String(36), sa.ForeignKey(\u0027instances.uuid\u0027))"}],"source_content_type":"text/x-python","patch_set":7,"id":"b5764532_dd6ac4ea","line":672,"in_reply_to":"9c5425a7_da6bde92","updated":"2022-03-23 23:38:32.000000000","message":"Done","commit_id":"2abae62372c0557269be233ef9c5d8f5196c44f8"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"94384da4b8e1f9342cca80f251ac5bad85da4760","unresolved":true,"context_lines":[{"line_number":656,"context_line":""},{"line_number":657,"context_line":"    encrypted \u003d sa.Column(sa.Boolean, default\u003dFalse)"},{"line_number":658,"context_line":"    encryption_secret_uuid \u003d sa.Column(sa.String(36))"},{"line_number":659,"context_line":"    encryption_format \u003d sa.Column(types.MediumText())"},{"line_number":660,"context_line":"    encryption_options \u003d sa.Column(types.MediumText())"},{"line_number":661,"context_line":""},{"line_number":662,"context_line":"# TODO(stephenfin): Remove once we drop the security_groups field from the"}],"source_content_type":"text/x-python","patch_set":11,"id":"7b81f769_c49d1a32","line":659,"range":{"start_line":659,"start_character":34,"end_line":659,"end_character":52},"updated":"2022-07-12 08:20:17.000000000","message":"sa.String(128)","commit_id":"e8a55ff702eb341a1715f3f18cfad6498804ac06"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"3ccfd2f6d555f3f3103c60aa7a3327136c5e08e7","unresolved":false,"context_lines":[{"line_number":656,"context_line":""},{"line_number":657,"context_line":"    encrypted \u003d sa.Column(sa.Boolean, default\u003dFalse)"},{"line_number":658,"context_line":"    encryption_secret_uuid \u003d sa.Column(sa.String(36))"},{"line_number":659,"context_line":"    encryption_format \u003d sa.Column(types.MediumText())"},{"line_number":660,"context_line":"    encryption_options \u003d sa.Column(types.MediumText())"},{"line_number":661,"context_line":""},{"line_number":662,"context_line":"# TODO(stephenfin): Remove once we drop the security_groups field from the"}],"source_content_type":"text/x-python","patch_set":11,"id":"c244cf0d_7b98f8e3","line":659,"range":{"start_line":659,"start_character":34,"end_line":659,"end_character":52},"in_reply_to":"7b81f769_c49d1a32","updated":"2022-07-20 02:15:54.000000000","message":"Done","commit_id":"e8a55ff702eb341a1715f3f18cfad6498804ac06"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"94384da4b8e1f9342cca80f251ac5bad85da4760","unresolved":true,"context_lines":[{"line_number":657,"context_line":"    encrypted \u003d sa.Column(sa.Boolean, default\u003dFalse)"},{"line_number":658,"context_line":"    encryption_secret_uuid \u003d sa.Column(sa.String(36))"},{"line_number":659,"context_line":"    encryption_format \u003d sa.Column(types.MediumText())"},{"line_number":660,"context_line":"    encryption_options \u003d sa.Column(types.MediumText())"},{"line_number":661,"context_line":""},{"line_number":662,"context_line":"# TODO(stephenfin): Remove once we drop the security_groups field from the"},{"line_number":663,"context_line":"# Instance table. Until then, this is tied to the SecurityGroup table"}],"source_content_type":"text/x-python","patch_set":11,"id":"af007a70_b30d642b","line":660,"range":{"start_line":660,"start_character":35,"end_line":660,"end_character":53},"updated":"2022-07-12 08:20:17.000000000","message":"sa.String(4096)","commit_id":"e8a55ff702eb341a1715f3f18cfad6498804ac06"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"3ccfd2f6d555f3f3103c60aa7a3327136c5e08e7","unresolved":false,"context_lines":[{"line_number":657,"context_line":"    encrypted \u003d sa.Column(sa.Boolean, default\u003dFalse)"},{"line_number":658,"context_line":"    encryption_secret_uuid \u003d sa.Column(sa.String(36))"},{"line_number":659,"context_line":"    encryption_format \u003d sa.Column(types.MediumText())"},{"line_number":660,"context_line":"    encryption_options \u003d sa.Column(types.MediumText())"},{"line_number":661,"context_line":""},{"line_number":662,"context_line":"# TODO(stephenfin): Remove once we drop the security_groups field from the"},{"line_number":663,"context_line":"# Instance table. Until then, this is tied to the SecurityGroup table"}],"source_content_type":"text/x-python","patch_set":11,"id":"c37b1b0b_f2719a10","line":660,"range":{"start_line":660,"start_character":35,"end_line":660,"end_character":53},"in_reply_to":"af007a70_b30d642b","updated":"2022-07-20 02:15:54.000000000","message":"Done","commit_id":"e8a55ff702eb341a1715f3f18cfad6498804ac06"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6c0a045078f7cb5015e47b5eb92b2de4f53beff1","unresolved":true,"context_lines":[{"line_number":662,"context_line":"# TODO(stephenfin): Remove once we drop the security_groups field from the"},{"line_number":663,"context_line":"# Instance table. Until then, this is tied to the SecurityGroup table"},{"line_number":664,"context_line":""},{"line_number":665,"context_line":""},{"line_number":666,"context_line":"class SecurityGroupInstanceAssociation(BASE, NovaBase, models.SoftDeleteMixin):"},{"line_number":667,"context_line":"    __tablename__ \u003d \u0027security_group_instance_association\u0027"},{"line_number":668,"context_line":"    __table_args__ \u003d ("}],"source_content_type":"text/x-python","patch_set":13,"id":"666ed736_10cc4ad9","line":665,"updated":"2022-08-09 15:30:24.000000000","message":"The comment is supposed to be attached to this model, so we shouldn\u0027t be adding this.","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"02e2571568cf105db91708a9a37621f8486f1ebe","unresolved":false,"context_lines":[{"line_number":662,"context_line":"# TODO(stephenfin): Remove once we drop the security_groups field from the"},{"line_number":663,"context_line":"# Instance table. Until then, this is tied to the SecurityGroup table"},{"line_number":664,"context_line":""},{"line_number":665,"context_line":""},{"line_number":666,"context_line":"class SecurityGroupInstanceAssociation(BASE, NovaBase, models.SoftDeleteMixin):"},{"line_number":667,"context_line":"    __tablename__ \u003d \u0027security_group_instance_association\u0027"},{"line_number":668,"context_line":"    __table_args__ \u003d ("}],"source_content_type":"text/x-python","patch_set":13,"id":"2aa10dc3_cdcdd720","line":665,"in_reply_to":"14bf898f_7e40d0d0","updated":"2022-08-16 09:00:44.000000000","message":"Done","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5b0746c0c0b3ca2cb73b46f58b9eb36f6b98c8be","unresolved":true,"context_lines":[{"line_number":662,"context_line":"# TODO(stephenfin): Remove once we drop the security_groups field from the"},{"line_number":663,"context_line":"# Instance table. Until then, this is tied to the SecurityGroup table"},{"line_number":664,"context_line":""},{"line_number":665,"context_line":""},{"line_number":666,"context_line":"class SecurityGroupInstanceAssociation(BASE, NovaBase, models.SoftDeleteMixin):"},{"line_number":667,"context_line":"    __tablename__ \u003d \u0027security_group_instance_association\u0027"},{"line_number":668,"context_line":"    __table_args__ \u003d ("}],"source_content_type":"text/x-python","patch_set":13,"id":"14bf898f_7e40d0d0","line":665,"in_reply_to":"666ed736_10cc4ad9","updated":"2022-08-10 08:40:56.000000000","message":"oh the new lines i was wondering what you were refering too.","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6c0a045078f7cb5015e47b5eb92b2de4f53beff1","unresolved":true,"context_lines":[{"line_number":685,"context_line":"                                name\u003d\u0027uniq_security_groups0project_id0\u0027"},{"line_number":686,"context_line":"                                     \u0027name0deleted\u0027),"},{"line_number":687,"context_line":"    )"},{"line_number":688,"context_line":"    id \u003d sa.Column(sa.Integer, primary_key \u003d True)"},{"line_number":689,"context_line":""},{"line_number":690,"context_line":"    name \u003d sa.Column(sa.String(255))"},{"line_number":691,"context_line":"    description \u003d sa.Column(sa.String(255))"}],"source_content_type":"text/x-python","patch_set":13,"id":"0aa12383_e7f59006","line":688,"range":{"start_line":688,"start_character":42,"end_line":688,"end_character":45},"updated":"2022-08-09 15:30:24.000000000","message":"This is wrong: keyword arguments shouldn\u0027t have spaces around them. Why isn\u0027t flake8 complaining?","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5b0746c0c0b3ca2cb73b46f58b9eb36f6b98c8be","unresolved":true,"context_lines":[{"line_number":685,"context_line":"                                name\u003d\u0027uniq_security_groups0project_id0\u0027"},{"line_number":686,"context_line":"                                     \u0027name0deleted\u0027),"},{"line_number":687,"context_line":"    )"},{"line_number":688,"context_line":"    id \u003d sa.Column(sa.Integer, primary_key \u003d True)"},{"line_number":689,"context_line":""},{"line_number":690,"context_line":"    name \u003d sa.Column(sa.String(255))"},{"line_number":691,"context_line":"    description \u003d sa.Column(sa.String(255))"}],"source_content_type":"text/x-python","patch_set":13,"id":"42f69edc_20116a74","line":688,"range":{"start_line":688,"start_character":42,"end_line":688,"end_character":45},"in_reply_to":"0aa12383_e7f59006","updated":"2022-08-10 08:40:56.000000000","message":"a better question is why isnt auto pep8 trying to fix this and causing the job to fail.\n\nperhaps that requirement has beeen relaxed/disabled.","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"02e2571568cf105db91708a9a37621f8486f1ebe","unresolved":false,"context_lines":[{"line_number":685,"context_line":"                                name\u003d\u0027uniq_security_groups0project_id0\u0027"},{"line_number":686,"context_line":"                                     \u0027name0deleted\u0027),"},{"line_number":687,"context_line":"    )"},{"line_number":688,"context_line":"    id \u003d sa.Column(sa.Integer, primary_key \u003d True)"},{"line_number":689,"context_line":""},{"line_number":690,"context_line":"    name \u003d sa.Column(sa.String(255))"},{"line_number":691,"context_line":"    description \u003d sa.Column(sa.String(255))"}],"source_content_type":"text/x-python","patch_set":13,"id":"71cb2b01_bd2bb477","line":688,"range":{"start_line":688,"start_character":42,"end_line":688,"end_character":45},"in_reply_to":"42f69edc_20116a74","updated":"2022-08-16 09:00:44.000000000","message":"Done","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6c0a045078f7cb5015e47b5eb92b2de4f53beff1","unresolved":true,"context_lines":[{"line_number":693,"context_line":"    project_id \u003d sa.Column(sa.String(255))"},{"line_number":694,"context_line":""},{"line_number":695,"context_line":"    instances \u003d orm.relationship(Instance,"},{"line_number":696,"context_line":"                             secondary \u003d \"security_group_instance_association\","},{"line_number":697,"context_line":"                             primaryjoin \u003d \u0027and_(\u0027"},{"line_number":698,"context_line":"        \u0027SecurityGroup.id \u003d\u003d \u0027"},{"line_number":699,"context_line":"        \u0027SecurityGroupInstanceAssociation.security_group_id,\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"38b232e8_fee54ee2","line":696,"range":{"start_line":696,"start_character":38,"end_line":696,"end_character":41},"updated":"2022-08-09 15:30:24.000000000","message":"ditto","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"02e2571568cf105db91708a9a37621f8486f1ebe","unresolved":false,"context_lines":[{"line_number":693,"context_line":"    project_id \u003d sa.Column(sa.String(255))"},{"line_number":694,"context_line":""},{"line_number":695,"context_line":"    instances \u003d orm.relationship(Instance,"},{"line_number":696,"context_line":"                             secondary \u003d \"security_group_instance_association\","},{"line_number":697,"context_line":"                             primaryjoin \u003d \u0027and_(\u0027"},{"line_number":698,"context_line":"        \u0027SecurityGroup.id \u003d\u003d \u0027"},{"line_number":699,"context_line":"        \u0027SecurityGroupInstanceAssociation.security_group_id,\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"8379c26c_9991ae82","line":696,"range":{"start_line":696,"start_character":38,"end_line":696,"end_character":41},"in_reply_to":"38b232e8_fee54ee2","updated":"2022-08-16 09:00:44.000000000","message":"Done","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"}],"nova/objects/block_device.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6c0a045078f7cb5015e47b5eb92b2de4f53beff1","unresolved":true,"context_lines":[{"line_number":346,"context_line":"            )"},{"line_number":347,"context_line":"            self.instance \u003d objects.Instance.get_by_uuid(self._context,"},{"line_number":348,"context_line":"                                                         self.instance_uuid)"},{"line_number":349,"context_line":"            self.obj_reset_changes(fields\u003d[\u0027instance\u0027])"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"@base.NovaObjectRegistry.register"}],"source_content_type":"text/x-python","patch_set":13,"id":"893e41f2_b365152b","line":349,"updated":"2022-08-09 15:30:24.000000000","message":"nit: I don\u0027t know why I have this preference, but I\u0027d prefer to reverse the order of this to put the exceptional case at the end. It\u0027s more obvious or something?\n\n  if attrname \u003d\u003d \u0027encrypted\u0027:\n      # stuff\n  elif attrname in BLOCK_DEVICE_OPTIONAL_ATTRS:\n      # stuff\n  else:\n      raise ...","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"02e2571568cf105db91708a9a37621f8486f1ebe","unresolved":false,"context_lines":[{"line_number":346,"context_line":"            )"},{"line_number":347,"context_line":"            self.instance \u003d objects.Instance.get_by_uuid(self._context,"},{"line_number":348,"context_line":"                                                         self.instance_uuid)"},{"line_number":349,"context_line":"            self.obj_reset_changes(fields\u003d[\u0027instance\u0027])"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"@base.NovaObjectRegistry.register"}],"source_content_type":"text/x-python","patch_set":13,"id":"04ac23cd_0fcbe5c4","line":349,"in_reply_to":"171b6813_babf1515","updated":"2022-08-16 09:00:44.000000000","message":"Done","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5b0746c0c0b3ca2cb73b46f58b9eb36f6b98c8be","unresolved":true,"context_lines":[{"line_number":346,"context_line":"            )"},{"line_number":347,"context_line":"            self.instance \u003d objects.Instance.get_by_uuid(self._context,"},{"line_number":348,"context_line":"                                                         self.instance_uuid)"},{"line_number":349,"context_line":"            self.obj_reset_changes(fields\u003d[\u0027instance\u0027])"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"@base.NovaObjectRegistry.register"}],"source_content_type":"text/x-python","patch_set":13,"id":"171b6813_babf1515","line":349,"in_reply_to":"893e41f2_b365152b","updated":"2022-08-10 08:40:56.000000000","message":"ya i kind of prefer that order too.","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"}],"nova/tests/unit/db/main/test_migrations.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"94384da4b8e1f9342cca80f251ac5bad85da4760","unresolved":true,"context_lines":[{"line_number":309,"context_line":"            self.assertIsInstance("},{"line_number":310,"context_line":"                table.c.encryption_secret_uuid.type, sa.types.String)"},{"line_number":311,"context_line":"            self.assertIsInstance("},{"line_number":312,"context_line":"                table.c.encryption_format.type, sa.types.Text)"},{"line_number":313,"context_line":"            self.assertIsInstance("},{"line_number":314,"context_line":"                table.c.encryption_options.type, sa.types.Text)"},{"line_number":315,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7e550459_0c4fbedf","line":312,"range":{"start_line":312,"start_character":47,"end_line":312,"end_character":61},"updated":"2022-07-12 08:20:17.000000000","message":"sa.types.String","commit_id":"e8a55ff702eb341a1715f3f18cfad6498804ac06"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"3ccfd2f6d555f3f3103c60aa7a3327136c5e08e7","unresolved":false,"context_lines":[{"line_number":309,"context_line":"            self.assertIsInstance("},{"line_number":310,"context_line":"                table.c.encryption_secret_uuid.type, sa.types.String)"},{"line_number":311,"context_line":"            self.assertIsInstance("},{"line_number":312,"context_line":"                table.c.encryption_format.type, sa.types.Text)"},{"line_number":313,"context_line":"            self.assertIsInstance("},{"line_number":314,"context_line":"                table.c.encryption_options.type, sa.types.Text)"},{"line_number":315,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"8569bd2c_873cc665","line":312,"range":{"start_line":312,"start_character":47,"end_line":312,"end_character":61},"in_reply_to":"7e550459_0c4fbedf","updated":"2022-07-20 02:15:54.000000000","message":"Done","commit_id":"e8a55ff702eb341a1715f3f18cfad6498804ac06"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"94384da4b8e1f9342cca80f251ac5bad85da4760","unresolved":true,"context_lines":[{"line_number":311,"context_line":"            self.assertIsInstance("},{"line_number":312,"context_line":"                table.c.encryption_format.type, sa.types.Text)"},{"line_number":313,"context_line":"            self.assertIsInstance("},{"line_number":314,"context_line":"                table.c.encryption_options.type, sa.types.Text)"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"    def test_single_base_revision(self):"},{"line_number":317,"context_line":"        \"\"\"Ensure we only have a single base revision."}],"source_content_type":"text/x-python","patch_set":11,"id":"40f6f293_4b5824b1","line":314,"range":{"start_line":314,"start_character":49,"end_line":314,"end_character":62},"updated":"2022-07-12 08:20:17.000000000","message":"sa.types.String","commit_id":"e8a55ff702eb341a1715f3f18cfad6498804ac06"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"3ccfd2f6d555f3f3103c60aa7a3327136c5e08e7","unresolved":false,"context_lines":[{"line_number":311,"context_line":"            self.assertIsInstance("},{"line_number":312,"context_line":"                table.c.encryption_format.type, sa.types.Text)"},{"line_number":313,"context_line":"            self.assertIsInstance("},{"line_number":314,"context_line":"                table.c.encryption_options.type, sa.types.Text)"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"    def test_single_base_revision(self):"},{"line_number":317,"context_line":"        \"\"\"Ensure we only have a single base revision."}],"source_content_type":"text/x-python","patch_set":11,"id":"3df9a58c_f09a8522","line":314,"range":{"start_line":314,"start_character":49,"end_line":314,"end_character":62},"in_reply_to":"40f6f293_4b5824b1","updated":"2022-07-20 02:15:54.000000000","message":"Done","commit_id":"e8a55ff702eb341a1715f3f18cfad6498804ac06"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6c0a045078f7cb5015e47b5eb92b2de4f53beff1","unresolved":false,"context_lines":[{"line_number":286,"context_line":"        )"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"        # no check for the MySQL-specific change"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"    def _check_ccb0fa1a2252(self, connection):"},{"line_number":291,"context_line":"        for prefix in (\u0027\u0027, \u0027shadow_\u0027):"},{"line_number":292,"context_line":"            table_name \u003d prefix + \u0027block_device_mapping\u0027"}],"source_content_type":"text/x-python","patch_set":13,"id":"cf026335_e0dd9131","line":289,"updated":"2022-08-09 15:30:24.000000000","message":"I was thinking a \u0027_pre_upgrade\u0027 check would be needed here but I realize now it\u0027s not, and we probably don\u0027t want to add one since it\u0027s silly and unnecessary","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5b0746c0c0b3ca2cb73b46f58b9eb36f6b98c8be","unresolved":true,"context_lines":[{"line_number":300,"context_line":"            self.assertColumnExists("},{"line_number":301,"context_line":"                connection, table_name, \u0027encryption_options\u0027)"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"            # Only check for the expected types if we\u0027re using sqlite because"},{"line_number":304,"context_line":"            # other databases\u0027 types may be different. For example, Boolean"},{"line_number":305,"context_line":"            # may be represented as an integer in MySQL"},{"line_number":306,"context_line":"            if connection.engine.name !\u003d \u0027sqlite\u0027:"},{"line_number":307,"context_line":"                return"},{"line_number":308,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"aa92da04_c2e37fa7","line":305,"range":{"start_line":303,"start_character":11,"end_line":305,"end_character":55},"updated":"2022-08-10 08:40:56.000000000","message":"i had never really considered that i wwould have expected sqlalchmey to normalise the types but i guess they could be ambigious so i guess it makes sense.","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"02e2571568cf105db91708a9a37621f8486f1ebe","unresolved":false,"context_lines":[{"line_number":300,"context_line":"            self.assertColumnExists("},{"line_number":301,"context_line":"                connection, table_name, \u0027encryption_options\u0027)"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"            # Only check for the expected types if we\u0027re using sqlite because"},{"line_number":304,"context_line":"            # other databases\u0027 types may be different. For example, Boolean"},{"line_number":305,"context_line":"            # may be represented as an integer in MySQL"},{"line_number":306,"context_line":"            if connection.engine.name !\u003d \u0027sqlite\u0027:"},{"line_number":307,"context_line":"                return"},{"line_number":308,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"2f43477b_b31e4360","line":305,"range":{"start_line":303,"start_character":11,"end_line":305,"end_character":55},"in_reply_to":"aa92da04_c2e37fa7","updated":"2022-08-16 09:00:44.000000000","message":"Ack","commit_id":"cdea73bd9cc811b2d267dd937cf3289dc1a39a15"}]}
