)]}'
{"tooz/drivers/mysql.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"46202a193b1c1d60812591cfd3309274f113ab31","unresolved":false,"context_lines":[{"line_number":31,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"def _ensure_conn(func):"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    @six.wraps(func)"},{"line_number":37,"context_line":"    def decorator(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5aef4532_a7f7e689","line":34,"updated":"2016-03-09 11:04:16.000000000","message":"Glad to see this is not used because when I read the code I was like \"OMG if you need this you wrote some shitty code\" :p","commit_id":"58d843803f6cc34e4dbab532533e48026a9b2927"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"46202a193b1c1d60812591cfd3309274f113ab31","unresolved":false,"context_lines":[{"line_number":127,"context_line":"                with self._conn as cur:"},{"line_number":128,"context_line":"                    affected \u003d cur.execute("},{"line_number":129,"context_line":"                        \"INSERT INTO ToozLocks(id, owner_id)\""},{"line_number":130,"context_line":"                        \" VALUES (%s, %s)\", (self.name, self._member_id))"},{"line_number":131,"context_line":"                    if not affected:"},{"line_number":132,"context_line":"                        if blocking:"},{"line_number":133,"context_line":"                            raise _retry.Retry"}],"source_content_type":"text/x-python","patch_set":4,"id":"5aef4532_8758ea8b","line":130,"updated":"2016-03-09 11:04:16.000000000","message":"There\u0027s no timeout, so if you die, then… it\u0027s locked for ever?\n\nI doubt this is an improvement over the current MySQL lock. Is it worth it?","commit_id":"58d843803f6cc34e4dbab532533e48026a9b2927"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"46202a193b1c1d60812591cfd3309274f113ab31","unresolved":false,"context_lines":[{"line_number":198,"context_line":"    PRIMARY KEY (`id`)"},{"line_number":199,"context_line":");"},{"line_number":200,"context_line":"\"\"\"),"},{"line_number":201,"context_line":"        (\u0027group_members\u0027,   \"\"\""},{"line_number":202,"context_line":"CREATE TABLE IF NOT EXISTS `ToozGroupMembers` ("},{"line_number":203,"context_line":"    `group_id` VARCHAR(255),"},{"line_number":204,"context_line":"    `member_id` VARCHAR(255),"}],"source_content_type":"text/x-python","patch_set":4,"id":"5aef4532_479702ec","line":201,"updated":"2016-03-09 11:04:16.000000000","message":"Maybe we should prefix those?","commit_id":"58d843803f6cc34e4dbab532533e48026a9b2927"},{"author":{"_account_id":12712,"name":"Gleb Stepanov","email":"gstepanov@mirantis.com","username":"stgleb"},"change_message_id":"f3c829234409ab47185e158229e49d361d50da9e","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import collections"},{"line_number":18,"context_line":"from concurrent import futures"},{"line_number":19,"context_line":"import contextlib"},{"line_number":20,"context_line":"from datetime import timedelta"}],"source_content_type":"text/x-python","patch_set":23,"id":"1a122d0e_5ed8a97f","line":17,"updated":"2016-04-22 15:21:50.000000000","message":"strange import order, does it fit pep8?","commit_id":"a6f0665159c27e85fdd88bb199e37ea7939156c5"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"df82ac256433032be0bb31d37e8d42fae46909b8","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import collections"},{"line_number":18,"context_line":"from concurrent import futures"},{"line_number":19,"context_line":"import contextlib"},{"line_number":20,"context_line":"from datetime import timedelta"}],"source_content_type":"text/x-python","patch_set":23,"id":"1a122d0e_ed461f7a","line":17,"in_reply_to":"1a122d0e_5ed8a97f","updated":"2016-04-22 21:56:16.000000000","message":"yup it should.","commit_id":"a6f0665159c27e85fdd88bb199e37ea7939156c5"}]}
