)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"c2ecf6f42cc87a57d0d3425f45d689dc492285b8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"54f58f5c_db268ec4","updated":"2025-04-22 15:28:05.000000000","message":"recheck cirros kernel panic","commit_id":"7594c30640dc5a3e789df55b37c6c04bb7fccf37"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"28febfb13f4329b03b7fb4ce9bccfb96af4eaec0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ceb549d7_338790fb","updated":"2025-10-24 06:06:25.000000000","message":"This looks good to me, but is not passing Zuul at the moment.\n\nI have a question below related to the larger project, but do not expect any changes due to that.  You can have my +1 once the gate passes.","commit_id":"aeb0176c888623cccd79c532c65b38953f3b1d06"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"feab17aaf44824cfcb8676e53e88cc6fd0cf49d8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"39fb4b70_d7bae8ef","updated":"2026-02-19 08:53:25.000000000","message":"run-Quobyte CI","commit_id":"c3f7dc983b84ed896d9915d28dedcfffba96f308"}],"cinder/db/migrations/versions/65d9507c749f_add_finished_at_for_backup.py":[{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"28febfb13f4329b03b7fb4ce9bccfb96af4eaec0","unresolved":true,"context_lines":[{"line_number":32,"context_line":"    connection \u003d op.get_bind()"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    # SQLite support"},{"line_number":35,"context_line":"    if connection.engine.name \u003d\u003d \u0027sqlite\u0027:"},{"line_number":36,"context_line":"        with op.batch_alter_table(\u0027backups\u0027) as batch_op:"},{"line_number":37,"context_line":"            batch_op.add_column("},{"line_number":38,"context_line":"                sa.Column(\u0027finished_at\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9892dd18_d56a1cf6","line":35,"updated":"2025-10-24 06:06:25.000000000","message":"I don\u0027t expect you to change anything for your patch due to this comment, but is there a reason why this operation hasn\u0027t been flattened in general?\n\nThis looks like versioning upgrade so maybe it\u0027s a unique case in terms of the DB usage, but I\u0027d be a bit worried to think there\u0027s DB-type decision trees spread around the codebase.","commit_id":"aeb0176c888623cccd79c532c65b38953f3b1d06"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"1ded116795701442bdd417a415206b267df753a7","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    connection \u003d op.get_bind()"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    # SQLite support"},{"line_number":35,"context_line":"    if connection.engine.name \u003d\u003d \u0027sqlite\u0027:"},{"line_number":36,"context_line":"        with op.batch_alter_table(\u0027backups\u0027) as batch_op:"},{"line_number":37,"context_line":"            batch_op.add_column("},{"line_number":38,"context_line":"                sa.Column(\u0027finished_at\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"5920d7e9_b0ff7576","line":35,"in_reply_to":"10bb0844_227bb0a7","updated":"2025-10-25 03:46:03.000000000","message":"Yah, fair enough.  I figured something like that was the case, but wanted to make sure.","commit_id":"aeb0176c888623cccd79c532c65b38953f3b1d06"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"6b823d020dad6b139c2b47a598283e3d4ec28065","unresolved":true,"context_lines":[{"line_number":32,"context_line":"    connection \u003d op.get_bind()"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    # SQLite support"},{"line_number":35,"context_line":"    if connection.engine.name \u003d\u003d \u0027sqlite\u0027:"},{"line_number":36,"context_line":"        with op.batch_alter_table(\u0027backups\u0027) as batch_op:"},{"line_number":37,"context_line":"            batch_op.add_column("},{"line_number":38,"context_line":"                sa.Column(\u0027finished_at\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"10bb0844_227bb0a7","line":35,"in_reply_to":"9892dd18_d56a1cf6","updated":"2025-10-24 14:53:54.000000000","message":"We don\u0027t really use sqlite anywhere except for people might be using it in testing (I guess local dev testing?) but I don\u0027t think we ever have any guarantee that it would work.\n\nBut IIUC sqlite does not support some or most ALTER queries so we must use batch_alter_table() https://alembic.sqlalchemy.org/en/latest/batch.html – IIRC I just followed what others has been doing in migrations previously.","commit_id":"aeb0176c888623cccd79c532c65b38953f3b1d06"}]}
