)]}'
{"swift/container/backend.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"88f39ebb8c64d3919e2d91738cf2a5ac3f04e092","unresolved":false,"context_lines":[{"line_number":486,"context_line":"    def _commit_puts_load(self, item_list, entry):"},{"line_number":487,"context_line":"        \"\"\"See :func:`swift.common.db.DatabaseBroker._commit_puts_load`\"\"\""},{"line_number":488,"context_line":"        data \u003d list(pickle.loads(entry.decode(\u0027base64\u0027)))"},{"line_number":489,"context_line":"        record_type \u003d data.pop(9) if len(data) \u003e 9 else RECORD_TYPE_OBJECT"},{"line_number":490,"context_line":"        if record_type \u003d\u003d RECORD_TYPE_SHARD_NODE:"},{"line_number":491,"context_line":"            item \u003d dict(zip(SHARD_RANGE_KEYS, data))"},{"line_number":492,"context_line":"            item[\u0027record_type\u0027] \u003d record_type"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_c8c40a94","line":489,"range":{"start_line":489,"start_character":27,"end_line":489,"end_character":30},"updated":"2018-01-16 19:13:26.000000000","message":"Don\u0027t really need to pop -- zip only goes as far as the shortest.","commit_id":"95f8f532567cd9fee837e4a07b6c331e0c2e5603"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"a0cf0b8fafa0c7393d421c9b910eabc08f1fbf52","unresolved":false,"context_lines":[{"line_number":486,"context_line":"    def _commit_puts_load(self, item_list, entry):"},{"line_number":487,"context_line":"        \"\"\"See :func:`swift.common.db.DatabaseBroker._commit_puts_load`\"\"\""},{"line_number":488,"context_line":"        data \u003d list(pickle.loads(entry.decode(\u0027base64\u0027)))"},{"line_number":489,"context_line":"        record_type \u003d data.pop(9) if len(data) \u003e 9 else RECORD_TYPE_OBJECT"},{"line_number":490,"context_line":"        if record_type \u003d\u003d RECORD_TYPE_SHARD_NODE:"},{"line_number":491,"context_line":"            item \u003d dict(zip(SHARD_RANGE_KEYS, data))"},{"line_number":492,"context_line":"            item[\u0027record_type\u0027] \u003d record_type"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_f4566e2a","line":489,"range":{"start_line":489,"start_character":27,"end_line":489,"end_character":30},"in_reply_to":"7f96bb07_c8c40a94","updated":"2018-01-17 10:30:40.000000000","message":"but we will have more 10 keys when state and state_timestamp are added, which is not obvious here...but it\u0027s coming!","commit_id":"95f8f532567cd9fee837e4a07b6c331e0c2e5603"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"88f39ebb8c64d3919e2d91738cf2a5ac3f04e092","unresolved":false,"context_lines":[{"line_number":552,"context_line":"            values \u003d [record[key] for key in SHARD_RANGE_KEYS]"},{"line_number":553,"context_line":"            while len(values) \u003c 9:"},{"line_number":554,"context_line":"                # pad as required since record_type *MUST* be at index 9"},{"line_number":555,"context_line":"                values.insert(8, 0)"},{"line_number":556,"context_line":"            values.insert(9, record_type)"},{"line_number":557,"context_line":"            return tuple(values)"},{"line_number":558,"context_line":"        return (record[\u0027name\u0027], record[\u0027created_at\u0027], record[\u0027size\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_884fe232","line":555,"updated":"2018-01-16 19:13:26.000000000","message":"Better as\n\n while len(values) \u003c 9:\n     values.append(0)\n\n? Or even\n\n values.extend([0] * max(0, 9 - len(values)))\n\n...but you\u0027re probably right -- better to bite the bullet and just start serializing dicts.","commit_id":"95f8f532567cd9fee837e4a07b6c331e0c2e5603"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"88f39ebb8c64d3919e2d91738cf2a5ac3f04e092","unresolved":false,"context_lines":[{"line_number":1198,"context_line":"                vals \u003d \u0027,\u0027.join(\u0027?\u0027 * len(SHARD_RANGE_KEYS))"},{"line_number":1199,"context_line":"                curs.executemany("},{"line_number":1200,"context_line":"                    \u0027INSERT INTO shard_ranges %s VALUES (%s)\u0027 %"},{"line_number":1201,"context_line":"                    (SHARD_RANGE_KEYS, vals),"},{"line_number":1202,"context_line":"                    tuple([item[k] for k in SHARD_RANGE_KEYS]"},{"line_number":1203,"context_line":"                          for item in to_add.values()))"},{"line_number":1204,"context_line":"            conn.commit()"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_28d56e1c","line":1201,"range":{"start_line":1201,"start_character":21,"end_line":1201,"end_character":37},"updated":"2018-01-16 19:13:26.000000000","message":"Whoa... are we using the fact that \u0027%s\u0027 % (some_tuple,) ends up including parens and single quotes that we\u0027ll need for valid SQL!? Do we do that elsewhere?\n\nI feel like we *at least* ought to use %r to call it out a little more...","commit_id":"95f8f532567cd9fee837e4a07b6c331e0c2e5603"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"a0cf0b8fafa0c7393d421c9b910eabc08f1fbf52","unresolved":false,"context_lines":[{"line_number":1198,"context_line":"                vals \u003d \u0027,\u0027.join(\u0027?\u0027 * len(SHARD_RANGE_KEYS))"},{"line_number":1199,"context_line":"                curs.executemany("},{"line_number":1200,"context_line":"                    \u0027INSERT INTO shard_ranges (%s) VALUES (%s)\u0027 %"},{"line_number":1201,"context_line":"                    (\u0027,\u0027.join(SHARD_RANGE_KEYS), vals),"},{"line_number":1202,"context_line":"                    tuple([item[k] for k in SHARD_RANGE_KEYS]"},{"line_number":1203,"context_line":"                          for item in to_add.values()))"},{"line_number":1204,"context_line":"            conn.commit()"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f96bb07_0fb3c34e","line":1201,"range":{"start_line":1201,"start_character":21,"end_line":1201,"end_character":46},"updated":"2018-01-17 10:30:40.000000000","message":"+1 more consistent, thanks","commit_id":"4f23c73deb35e8b36fb721eb4b739278ebbab20d"}]}
