)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3361f2f1eccec5f76070140c5209a1c901cb1359","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"45651346_43db6a98","updated":"2024-04-03 12:56:29.000000000","message":"Actually, could we stack this on top of the [remaining enginefacade patches](https://review.opendev.org/c/openstack/manila/+/914890/)? I\u0027ve tested it locally and unit tests pass, but I don\u0027t want to push the rebase until the last few patches in the series have passed tempest in the gate.","commit_id":"8768d75b21d0519f96bc58eb6505f88c1de92099"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c960a475b6e17bde66fe81aaaecf7f1b3eec0d38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"8e3ed8e8_6b00220f","updated":"2024-04-01 22:35:29.000000000","message":"Hi Mike, thank you for showing us this.. quick question inline","commit_id":"8768d75b21d0519f96bc58eb6505f88c1de92099"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"2e7d9bcb64eb57ff61d16693f95b04fdba23f690","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"7d877002_57bd626e","updated":"2024-04-02 22:19:49.000000000","message":"LGTM","commit_id":"8768d75b21d0519f96bc58eb6505f88c1de92099"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"10871a31f1f6158df176cbb2e125fff2d95ec067","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"6abea9ab_4bd02dfa","updated":"2024-04-03 12:14:11.000000000","message":"This removes all uses of `autoload` so you can remove that warning filter in `manila/test.py` now.","commit_id":"8768d75b21d0519f96bc58eb6505f88c1de92099"},{"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":"e948d5b025c0339e7e92091dfa011fdc799d05ad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"dc9d317c_fde6c3e1","updated":"2024-04-01 19:26:06.000000000","message":"hey all -\n\nmy goal is to get to green at https://zuul.opendev.org/t/openstack/buildset/51bfe75fd30f48f486d9a2d049d0e58a , so I\u0027m doing a series of patches that attempt to push through the SQLAlchemy 2.0 required elements by testing against SQLA 1.4 and 2.0 fully, independent of the full series of \"convert to enginefacade\" patches.   this would be the first one - the use of \"row._mapping\" is so that we can get string-indexed access to the Row in a localized way without impacting the named-tuple access that is finely intermixed with string-indexed access throughout these tests.  _mapping is a public attribute underscored to avoid naming conflicts with the named tuple:  https://docs.sqlalchemy.org/en/20/core/connections.html#sqlalchemy.engine.Row._mapping","commit_id":"8768d75b21d0519f96bc58eb6505f88c1de92099"},{"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":"a7d1c5041972f0617222fc8d9ff34a56f3067b90","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"e048fdb7_7acac74a","in_reply_to":"45651346_43db6a98","updated":"2024-04-03 13:06:15.000000000","message":"OK, it looks like you\u0027ve just updated many patches in that series so I would mostly wait til they pass, here I was trying to get \"just what SQLAlchemy 2.0 needs\" in so that we would not have to wait for the full enginefacade switch, but if you think we will have full enginefacade in within a day or so then it\u0027s certainly easier to base off of that.","commit_id":"8768d75b21d0519f96bc58eb6505f88c1de92099"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"2e7d9bcb64eb57ff61d16693f95b04fdba23f690","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"645daa8e_1beb36fc","in_reply_to":"68178e60_2e14e4d9","updated":"2024-04-02 22:19:49.000000000","message":"AH! I get it now; thank you. I think we could get comfortable with one style and stick to it for readability/maintainability.. I agree that row._mapping is explicit /clear. Thanks Mike!","commit_id":"8768d75b21d0519f96bc58eb6505f88c1de92099"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8a249cc07e85a2be6017dc5c6afcecaca9e76541","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"0645ff45_b4cd8834","in_reply_to":"6abea9ab_4bd02dfa","updated":"2024-04-04 12:49:28.000000000","message":"Done in a follow-up https://review.opendev.org/c/openstack/manila/+/915061/1","commit_id":"8768d75b21d0519f96bc58eb6505f88c1de92099"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c960a475b6e17bde66fe81aaaecf7f1b3eec0d38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"f74cb592_cad4266a","in_reply_to":"dc9d317c_fde6c3e1","updated":"2024-04-01 22:35:29.000000000","message":"Thank you for this explanation; I see we don\u0027t use the \"_mapping\" attribute sometimes (e.g.: https://review.opendev.org/c/openstack/manila/+/914721/6/manila/db/migrations/alembic/versions/5077ffcc5f1c_add_share_instances.py#174). Does this mean that the namedtuple access still works; but is bad practice? or am i missing the reason for the fix?","commit_id":"8768d75b21d0519f96bc58eb6505f88c1de92099"},{"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":"f3dba74a0145ce91bd3b6a1d0e648bd7fb641002","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"68178e60_2e14e4d9","in_reply_to":"f74cb592_cad4266a","updated":"2024-04-01 22:49:41.000000000","message":"regarding mappings, there\u0027s two options with the result now:\n\n    rows \u003d result.all()\n\nor \n \n    rows \u003d result.mappings().all()\n\n\nthe first returns Row objects which act like namedtuples, the second RowMapping objects which are Mapping (dicts).\n\nI considered adding mappings() to all the conn.execute(), however I see a lot of code like this:\n\n    assert hasattr(row, \"foobar\")\n    assert row[\"foobar\"] \u003d \"bat\"\n   \nso that kind of code is accessing the row in both contexts.  so that\u0027s why I went with `_mapping` instead:\n\n    assert hasattr(row, \"foobar\")\n    assert row._mapping[\"foobar\"] \u003d \"bat\"\n   \nif we used result.mappings() for the above and got back RowMapping instead of Row objects, the code would be:\n\n    assert \"foobar\" in row\n    assert row[\"foobar\"] \u003d \"bat\"\n   \nthat felt a little less clear as a diff, `row._mapping` felt more explicit /clear.\n\nThere\u0027s no reason otherwise that either result.mappings() or row._mapping can\u0027t be used interchangeably, it can be either way as long as you access the resulting row/mapping object appropriately.","commit_id":"8768d75b21d0519f96bc58eb6505f88c1de92099"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a014898f74010cc28c407938bd3daca2e5484eb7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"8ca1f388_f442ebec","updated":"2024-04-05 12:12:46.000000000","message":"LGTM, thank you Mike!","commit_id":"0ce2857d0fcf3f17908f85eb56e1836742ab1737"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"951479a6f7f8c4dbf427c19d526b53bdf6f0415a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"a3cb75ed_7cf8607b","updated":"2024-04-04 18:52:52.000000000","message":"Thank you for rebasing this; Mike!","commit_id":"0ce2857d0fcf3f17908f85eb56e1836742ab1737"}]}
