)]}'
{"karbor/services/protection/bank_plugins/database_bank_plugin/__init__.py":[{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"76761adf2e026a4980938c57fa9136ad89f18353","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":"#"},{"line_number":5,"context_line":"#         http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    Unless required by applicable law or agreed to in writing, software"},{"line_number":8,"context_line":"#    distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"},{"line_number":9,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":10,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":"\"\"\""},{"line_number":13,"context_line":"DB abstraction for karbor"},{"line_number":14,"context_line":"\"\"\""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from karbor.services.protection.bank_plugins.database_bank_plugin.api import *  # noqa"}],"source_content_type":"text/x-python","patch_set":3,"id":"ffe62b97_d1237555","line":16,"range":{"start_line":1,"start_character":0,"end_line":16,"end_character":86},"updated":"2017-03-28 11:13:47.000000000","message":"delete","commit_id":"afe8f5ae3987c3fbe512eeebbb78e1690d80abb8"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"d4c46a3980b124e63aa4cc2fe532bd10d2d93e7b","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":"#"},{"line_number":5,"context_line":"#         http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"#    Unless required by applicable law or agreed to in writing, software"},{"line_number":8,"context_line":"#    distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"},{"line_number":9,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":10,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":"\"\"\""},{"line_number":13,"context_line":"DB abstraction for karbor"},{"line_number":14,"context_line":"\"\"\""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from karbor.services.protection.bank_plugins.database_bank_plugin.api import *  # noqa"}],"source_content_type":"text/x-python","patch_set":3,"id":"ffe62b97_514e4597","line":16,"range":{"start_line":1,"start_character":0,"end_line":16,"end_character":86},"in_reply_to":"ffe62b97_d1237555","updated":"2017-03-28 11:27:16.000000000","message":"Done","commit_id":"afe8f5ae3987c3fbe512eeebbb78e1690d80abb8"}],"karbor/services/protection/bank_plugins/database_bank_plugin/sqlalchemy/migrate_repo/versions/001_bank_init.py":[{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"7fba8214b490ade44c8fd8f853c4b48a981c19a7","unresolved":false,"context_lines":[{"line_number":70,"context_line":"               ForeignKey(\u0027checkpoint_items.id\u0027),"},{"line_number":71,"context_line":"               nullable\u003dFalse),"},{"line_number":72,"context_line":"        Column(\u0027data_name\u0027, String(length\u003d255)),"},{"line_number":73,"context_line":"        Column(\u0027backup_data\u0027, LargeBinary),"},{"line_number":74,"context_line":"        mysql_engine\u003d\u0027InnoDB\u0027"},{"line_number":75,"context_line":"    )"},{"line_number":76,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_6ea0edf4","line":73,"range":{"start_line":73,"start_character":30,"end_line":73,"end_character":41},"updated":"2017-03-30 01:21:20.000000000","message":"LargeBinary means BLOB, Max length is 65535, but only 65532 characters can be stored in fact. IMO it should be MEDIUMBLOB.\nfrom sqlalchemy.dialects.mysql import MEDIUMBLOB","commit_id":"39d5b8965581fa3b8a48c3950ca03d8da528dd20"}],"karbor/services/protection/bank_plugins/database_bank_plugin/sqlalchemy/models.py":[{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"7fba8214b490ade44c8fd8f853c4b48a981c19a7","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    checkpoint_item_id \u003d Column(String(36), ForeignKey(\u0027checkpoint_items.id\u0027),"},{"line_number":108,"context_line":"                                nullable\u003dFalse)"},{"line_number":109,"context_line":"    data_name \u003d Column(String(255))"},{"line_number":110,"context_line":"    backup_data \u003d Column(LargeBinary)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    checkpoint_item \u003d orm.relationship("},{"line_number":113,"context_line":"        CheckpointItem, backref\u003d\"checkpoint_item_datas\","}],"source_content_type":"text/x-python","patch_set":4,"id":"ffe62b97_2ea66510","line":110,"range":{"start_line":110,"start_character":25,"end_line":110,"end_character":36},"updated":"2017-03-30 01:21:20.000000000","message":"ditto","commit_id":"39d5b8965581fa3b8a48c3950ca03d8da528dd20"}]}
