)]}'
{"cinder/db/sqlalchemy/migrate_repo/versions/002_quota_class.py":[{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"5b157d8cafecee05c0125832555cf09cf046b829","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    if migrate_engine.name \u003d\u003d \u0027mysql\u0027:"},{"line_number":117,"context_line":"        fk_name \u003d \u0027reservations_ibfk_1\u0027"},{"line_number":118,"context_line":"    if migrate_engine.name \u003d\u003d \u0027postgresql\u0027:"},{"line_number":119,"context_line":"        fk_name \u003d \u0027reservations_usage_id_fkey\u0027"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    # NOTE: MySQL and PostgreSQL Cannot drop the quota_usages table"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_d96b7d83","line":118,"updated":"2014-12-17 17:55:09.000000000","message":"How about use \u0027elif\u0027?","commit_id":"359ae1dfd2e7a16971d9b91ab60aee409b6ce1e0"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"38be87035dac26b94828c94610849b6b14693093","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            fkey \u003d ForeignKeyConstraint(**params)"},{"line_number":133,"context_line":"            fkey.drop()"},{"line_number":134,"context_line":"        except Exception:"},{"line_number":135,"context_line":"            LOG.error(_LE(\"Dropping foreign key reservations_ibfk_1 failed.\"))"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    quota_classes \u003d Table(\u0027quota_classes\u0027, meta, autoload\u003dTrue)"},{"line_number":138,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_c47034df","line":135,"updated":"2014-12-26 10:08:43.000000000","message":"Need to update this error message too","commit_id":"18cc9e5604eaa16a882cd66fee8bfa773653265e"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"a4c1da5b7a76c5ab46736233238206fa74d1279e","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            fkey \u003d ForeignKeyConstraint(**params)"},{"line_number":133,"context_line":"            fkey.drop()"},{"line_number":134,"context_line":"        except Exception:"},{"line_number":135,"context_line":"            LOG.error(_LE(\"Dropping foreign key reservations_ibfk_1 failed.\"))"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    quota_classes \u003d Table(\u0027quota_classes\u0027, meta, autoload\u003dTrue)"},{"line_number":138,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_58db4321","line":135,"in_reply_to":"3a961159_c47034df","updated":"2015-01-07 15:54:19.000000000","message":"Good catch!","commit_id":"18cc9e5604eaa16a882cd66fee8bfa773653265e"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"5985f5396132723099be38d70308c651e720342a","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            fkey \u003d ForeignKeyConstraint(**params)"},{"line_number":133,"context_line":"            fkey.drop()"},{"line_number":134,"context_line":"        except Exception:"},{"line_number":135,"context_line":"            LOG.error(_LE(\"Dropping foreign key reservations_ibfk_1 failed.\"))"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"    quota_classes \u003d Table(\u0027quota_classes\u0027, meta, autoload\u003dTrue)"},{"line_number":138,"context_line":"    try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_252480ae","line":135,"in_reply_to":"3a961159_c47034df","updated":"2014-12-29 11:14:32.000000000","message":"Thanks Rushi, I\u0027ll fix it","commit_id":"18cc9e5604eaa16a882cd66fee8bfa773653265e"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"3e8c1cc9bf23e9cdf495d5bbb228b8e02bd1294f","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            fkey \u003d ForeignKeyConstraint(**params)"},{"line_number":133,"context_line":"            fkey.drop()"},{"line_number":134,"context_line":"        except Exception:"},{"line_number":135,"context_line":"            msg \u003d _LE(\"Dropping foreign key % failed.\")"},{"line_number":136,"context_line":"            LOG.error(msg, fk_name)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    quota_classes \u003d Table(\u0027quota_classes\u0027, meta, autoload\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_f3df890a","line":135,"updated":"2015-01-12 22:30:51.000000000","message":"I am thinking that the % defaults to string here, but I think we should be explicit.  Then I am good to go on this.","commit_id":"0ef572030d84e846eff2aa9098dc45ca9e76bd94"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"2caa0e1f539c58d2821466c26cd68eec3cf9df44","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            fkey \u003d ForeignKeyConstraint(**params)"},{"line_number":133,"context_line":"            fkey.drop()"},{"line_number":134,"context_line":"        except Exception:"},{"line_number":135,"context_line":"            msg \u003d _LE(\"Dropping foreign key % failed.\")"},{"line_number":136,"context_line":"            LOG.error(msg, fk_name)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    quota_classes \u003d Table(\u0027quota_classes\u0027, meta, autoload\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_d30fed89","line":135,"in_reply_to":"3a961159_f3df890a","updated":"2015-01-12 22:34:18.000000000","message":"Actually it is going to assume the first non-blank character is the format, so in this case it is going to expect a float, so definitely a -1 here.","commit_id":"0ef572030d84e846eff2aa9098dc45ca9e76bd94"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"86c3101c767ab3954b3c8f1357b91c86b59a6c50","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            fkey \u003d ForeignKeyConstraint(**params)"},{"line_number":133,"context_line":"            fkey.drop()"},{"line_number":134,"context_line":"        except Exception:"},{"line_number":135,"context_line":"            msg \u003d _LE(\"Dropping foreign key % failed.\")"},{"line_number":136,"context_line":"            LOG.error(msg, fk_name)"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    quota_classes \u003d Table(\u0027quota_classes\u0027, meta, autoload\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a961159_b348a1b4","line":135,"in_reply_to":"3a961159_f3df890a","updated":"2015-01-12 22:36:34.000000000","message":"Thanks for remaining Zen of Python: explicit better than implicit. I\u0027ll do it.","commit_id":"0ef572030d84e846eff2aa9098dc45ca9e76bd94"}],"cinder/db/sqlalchemy/migrate_repo/versions/004_volume_type_to_uuid.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"f53599c800cf237b494645ed6cdb7092d84eb9a0","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    if migrate_engine.name \u003d\u003d \u0027postgresql\u0027:"},{"line_number":137,"context_line":"        # NOTE(e0ne): PostfreSQL can\u0027t cast string to int automatically"},{"line_number":138,"context_line":"        table_colum_pairs \u003d [(\u0027volumes\u0027, \u0027volume_type_id\u0027),"},{"line_number":139,"context_line":"                             (\u0027volume_types\u0027, \u0027id\u0027),"},{"line_number":140,"context_line":"                             (\u0027volume_type_extra_specs\u0027, \u0027volume_type_id\u0027)]"},{"line_number":141,"context_line":"        sql \u003d \u0027ALTER TABLE {0} ALTER COLUMN {1} \u0027 + \\"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_bf058312","line":138,"updated":"2014-12-18 20:41:34.000000000","message":"table_column_paris","commit_id":"359ae1dfd2e7a16971d9b91ab60aee409b6ce1e0"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"8eb71d3597b4930f1f70d530e2e50a3bfcaa6bed","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    if migrate_engine.name \u003d\u003d \u0027postgresql\u0027:"},{"line_number":137,"context_line":"        # NOTE(e0ne): PostfreSQL can\u0027t cast string to int automatically"},{"line_number":138,"context_line":"        table_colum_pairs \u003d [(\u0027volumes\u0027, \u0027volume_type_id\u0027),"},{"line_number":139,"context_line":"                             (\u0027volume_types\u0027, \u0027id\u0027),"},{"line_number":140,"context_line":"                             (\u0027volume_type_extra_specs\u0027, \u0027volume_type_id\u0027)]"},{"line_number":141,"context_line":"        sql \u003d \u0027ALTER TABLE {0} ALTER COLUMN {1} \u0027 + \\"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a961159_bfef431d","line":138,"in_reply_to":"3a961159_bf058312","updated":"2014-12-18 20:45:23.000000000","message":"I mean table_column_pairs would make more sense.","commit_id":"359ae1dfd2e7a16971d9b91ab60aee409b6ce1e0"}]}
