)]}'
{"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"efab34341e963536efac9289cf9a8e51c8d9c674","unresolved":false,"context_lines":[{"line_number":519,"context_line":"    for k, v in new_stats.iteritems():"},{"line_number":520,"context_line":"        old_stat \u003d statmap.pop(k, None)"},{"line_number":521,"context_line":"        if old_stat:"},{"line_number":522,"context_line":"            if old_stat[\u0027value\u0027] !\u003d unicode(v):"},{"line_number":523,"context_line":"                # update existing value:"},{"line_number":524,"context_line":"                old_stat.update({\u0027value\u0027: v})"},{"line_number":525,"context_line":"                stats.append(old_stat)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2FjhE%3D","line":522,"updated":"2013-05-30 16:53:34.000000000","message":"I don\u0027t quite understand the cast to unicode here; I was under the impression that the value would be an integer, and you\u0027re not making the same cast anywhere else there\u0027s an update.  Of course, if the value *isn\u0027t* an integer, that would make sense…","commit_id":"64f68f8a7b7a7b111ce7eae15c03b03b770fff3e"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"68617094241d09d22e3b73271fe14269cc9bede4","unresolved":false,"context_lines":[{"line_number":519,"context_line":"    for k, v in new_stats.iteritems():"},{"line_number":520,"context_line":"        old_stat \u003d statmap.pop(k, None)"},{"line_number":521,"context_line":"        if old_stat:"},{"line_number":522,"context_line":"            if old_stat[\u0027value\u0027] !\u003d unicode(v):"},{"line_number":523,"context_line":"                # update existing value:"},{"line_number":524,"context_line":"                old_stat.update({\u0027value\u0027: v})"},{"line_number":525,"context_line":"                stats.append(old_stat)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2Fjc4%3D","line":522,"in_reply_to":"AAAAPH%2F%2FjhE%3D","updated":"2013-05-30 17:14:31.000000000","message":"The column is a string","commit_id":"64f68f8a7b7a7b111ce7eae15c03b03b770fff3e"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"df747aadd9fb34668419bccc88d49385fca8efb3","unresolved":false,"context_lines":[{"line_number":519,"context_line":"    for k, v in new_stats.iteritems():"},{"line_number":520,"context_line":"        old_stat \u003d statmap.pop(k, None)"},{"line_number":521,"context_line":"        if old_stat:"},{"line_number":522,"context_line":"            if old_stat[\u0027value\u0027] !\u003d unicode(v):"},{"line_number":523,"context_line":"                # update existing value:"},{"line_number":524,"context_line":"                old_stat.update({\u0027value\u0027: v})"},{"line_number":525,"context_line":"                stats.append(old_stat)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2FjVk%3D","line":522,"in_reply_to":"AAAAPH%2F%2FjhE%3D","updated":"2013-05-30 17:48:26.000000000","message":"Yup, generic key/value strings.  Value (v) might not necessarily be a string.","commit_id":"64f68f8a7b7a7b111ce7eae15c03b03b770fff3e"}],"nova/tests/test_db_api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"93678dc3818030f6e3bbf129a1e0ae2dff0efd19","unresolved":false,"context_lines":[{"line_number":1771,"context_line":""},{"line_number":1772,"context_line":"            self.stubs.Set(session, \u0027add\u0027, add)"},{"line_number":1773,"context_line":"            orig_update_stats(context, new_stats, compute_id, session,"},{"line_number":1774,"context_line":"                              prune_stats\u003dFalse)"},{"line_number":1775,"context_line":""},{"line_number":1776,"context_line":"            # no stats should have been added to the session:"},{"line_number":1777,"context_line":"            self.assertEqual(0, len(added))"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2Fje0%3D","line":1774,"updated":"2013-05-30 17:05:13.000000000","message":"Should this just be prune_stats? Why set to False?","commit_id":"64f68f8a7b7a7b111ce7eae15c03b03b770fff3e"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"68617094241d09d22e3b73271fe14269cc9bede4","unresolved":false,"context_lines":[{"line_number":1771,"context_line":""},{"line_number":1772,"context_line":"            self.stubs.Set(session, \u0027add\u0027, add)"},{"line_number":1773,"context_line":"            orig_update_stats(context, new_stats, compute_id, session,"},{"line_number":1774,"context_line":"                              prune_stats\u003dFalse)"},{"line_number":1775,"context_line":""},{"line_number":1776,"context_line":"            # no stats should have been added to the session:"},{"line_number":1777,"context_line":"            self.assertEqual(0, len(added))"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2FjcM%3D","line":1774,"in_reply_to":"AAAAPH%2F%2Fje0%3D","updated":"2013-05-30 17:14:31.000000000","message":"He\u0027s not testing the prune stats functionality in this test.  Just testing the fact that a value that didn\u0027t change doesn\u0027t cause a DB update.","commit_id":"64f68f8a7b7a7b111ce7eae15c03b03b770fff3e"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"df747aadd9fb34668419bccc88d49385fca8efb3","unresolved":false,"context_lines":[{"line_number":1771,"context_line":""},{"line_number":1772,"context_line":"            self.stubs.Set(session, \u0027add\u0027, add)"},{"line_number":1773,"context_line":"            orig_update_stats(context, new_stats, compute_id, session,"},{"line_number":1774,"context_line":"                              prune_stats\u003dFalse)"},{"line_number":1775,"context_line":""},{"line_number":1776,"context_line":"            # no stats should have been added to the session:"},{"line_number":1777,"context_line":"            self.assertEqual(0, len(added))"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2FjVg%3D","line":1774,"in_reply_to":"AAAAPH%2F%2Fje0%3D","updated":"2013-05-30 17:48:26.000000000","message":"I could change it.  It wouldn\u0027t affect the test either way.","commit_id":"64f68f8a7b7a7b111ce7eae15c03b03b770fff3e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"93678dc3818030f6e3bbf129a1e0ae2dff0efd19","unresolved":false,"context_lines":[{"line_number":1780,"context_line":""},{"line_number":1781,"context_line":"        # save with same (unchanged) stats again:"},{"line_number":1782,"context_line":"        values \u003d {\u0027stats\u0027: stats}"},{"line_number":1783,"context_line":"        item \u003d db.compute_node_update(self.ctxt, compute_node_id, values)"},{"line_number":1784,"context_line":""},{"line_number":1785,"context_line":"    def test_compute_node_stat_prune(self):"},{"line_number":1786,"context_line":"        item \u003d self._create_helper(\u0027host1\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2FjeQ%3D","line":1783,"updated":"2013-05-30 17:05:13.000000000","message":"Do you plan on doing anything with the returned item variable here, i.e. asserting it against something?","commit_id":"64f68f8a7b7a7b111ce7eae15c03b03b770fff3e"},{"author":{"_account_id":2835,"name":"Brian Elliott","email":"bdelliott@gmail.com","username":"belliott"},"change_message_id":"df747aadd9fb34668419bccc88d49385fca8efb3","unresolved":false,"context_lines":[{"line_number":1780,"context_line":""},{"line_number":1781,"context_line":"        # save with same (unchanged) stats again:"},{"line_number":1782,"context_line":"        values \u003d {\u0027stats\u0027: stats}"},{"line_number":1783,"context_line":"        item \u003d db.compute_node_update(self.ctxt, compute_node_id, values)"},{"line_number":1784,"context_line":""},{"line_number":1785,"context_line":"    def test_compute_node_stat_prune(self):"},{"line_number":1786,"context_line":"        item \u003d self._create_helper(\u0027host1\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2FjVY%3D","line":1783,"in_reply_to":"AAAAPH%2F%2FjeQ%3D","updated":"2013-05-30 17:48:26.000000000","message":"Good point, I don\u0027t need the return value.","commit_id":"64f68f8a7b7a7b111ce7eae15c03b03b770fff3e"}]}
