)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ecafc287a74fc97235861bfca2ae4ebccf77c303","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     rossella \u003crsblendido@suse.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-01-15 19:25:43 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Handle OVO that don\u0027t have ID as primary key"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Many extension don\u0027t have the ID field. Introduce a field"},{"line_number":10,"context_line":"primary key to be able to handle these objects correctly"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da6ed579_a5b3b009","line":7,"updated":"2016-01-18 16:35:39.000000000","message":"Those functions are loosely bound to NeutronDbObjects. So let\u0027s be more vague here: \u0027db_api: handle database objects that don\u0027t have \u0027id\u0027 field as their primary key\u0027","commit_id":"75d93584499fbda07d9fc846992efb42aa74e881"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"1f1df9e8a40b32d712e7a23266dc93adbf707cc1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     rossella \u003crsblendido@suse.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-01-15 19:25:43 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Handle OVO that don\u0027t have ID as primary key"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Many extension don\u0027t have the ID field. Introduce a field"},{"line_number":10,"context_line":"primary key to be able to handle these objects correctly"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a68dd71_5c2f6fa1","line":7,"in_reply_to":"da6ed579_a5b3b009","updated":"2016-01-20 16:23:59.000000000","message":"ok I like it","commit_id":"75d93584499fbda07d9fc846992efb42aa74e881"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ecafc287a74fc97235861bfca2ae4ebccf77c303","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Handle OVO that don\u0027t have ID as primary key"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Many extension don\u0027t have the ID field. Introduce a field"},{"line_number":10,"context_line":"primary key to be able to handle these objects correctly"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I192793aa433606a1508f24564c54164f961018d9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da6ed579_052f1c3f","line":9,"updated":"2016-01-18 16:35:39.000000000","message":"extensions","commit_id":"75d93584499fbda07d9fc846992efb42aa74e881"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"1f1df9e8a40b32d712e7a23266dc93adbf707cc1","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Handle OVO that don\u0027t have ID as primary key"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Many extension don\u0027t have the ID field. Introduce a field"},{"line_number":10,"context_line":"primary key to be able to handle these objects correctly"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I192793aa433606a1508f24564c54164f961018d9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a68dd71_5c068f21","line":9,"in_reply_to":"da6ed579_052f1c3f","updated":"2016-01-20 16:23:59.000000000","message":"Done","commit_id":"75d93584499fbda07d9fc846992efb42aa74e881"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"4792aefa88652adc0d7411982397f692f56d3f9e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     rossella \u003crsblendido@suse.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-01-21 19:23:14 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"db_api: handle db objects that don\u0027t have \u0027id\u0027 as primary key"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Many extensions don\u0027t have the ID field. Introduce a field"},{"line_number":10,"context_line":"primary key to be able to handle these objects correctly"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a68dd71_6537e6e3","line":7,"range":{"start_line":7,"start_character":17,"end_line":7,"end_character":18},"updated":"2016-01-21 23:01:43.000000000","message":"it shouldn\u0027t be related to a bug/BP/RFE?","commit_id":"1ceef4ff8d8b878bd21f5243fc57a7a59195f966"}],"neutron/db/api.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ecafc287a74fc97235861bfca2ae4ebccf77c303","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    return db_obj"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"def update_object(context, model, key, id, values):"},{"line_number":113,"context_line":"    with context.session.begin(subtransactions\u003dTrue):"},{"line_number":114,"context_line":"        db_obj \u003d _safe_get_object(context, model, key, id)"},{"line_number":115,"context_line":"        db_obj.update(values)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6ed579_a5af307c","line":112,"updated":"2016-01-18 16:35:39.000000000","message":"I don\u0027t think we should modify API for those two functions (they could be used outside the repo).\n\nI guess it should be an optional kwarg with default \u0027id\u0027 value (for _safe_get_object function) or None value (for update_object and delete_object).","commit_id":"75d93584499fbda07d9fc846992efb42aa74e881"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"1f1df9e8a40b32d712e7a23266dc93adbf707cc1","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    return db_obj"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"def update_object(context, model, key, id, values):"},{"line_number":113,"context_line":"    with context.session.begin(subtransactions\u003dTrue):"},{"line_number":114,"context_line":"        db_obj \u003d _safe_get_object(context, model, key, id)"},{"line_number":115,"context_line":"        db_obj.update(values)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a68dd71_f9b8b5e7","line":112,"in_reply_to":"da6ed579_a5af307c","updated":"2016-01-20 16:23:59.000000000","message":"Done","commit_id":"75d93584499fbda07d9fc846992efb42aa74e881"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"66339c71a197145354ac143622e89bfcc12ecdb4","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    return db_obj"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"def update_object(context, model, key, id, values):"},{"line_number":113,"context_line":"    with context.session.begin(subtransactions\u003dTrue):"},{"line_number":114,"context_line":"        db_obj \u003d _safe_get_object(context, model, key, id)"},{"line_number":115,"context_line":"        db_obj.update(values)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba63e191_c1823a94","line":112,"in_reply_to":"da6ed579_a5af307c","updated":"2016-01-20 11:28:09.000000000","message":"That sounds better.","commit_id":"75d93584499fbda07d9fc846992efb42aa74e881"}],"neutron/objects/base.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ecafc287a74fc97235861bfca2ae4ebccf77c303","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                    obj_base.VersionedObjectDictCompat,"},{"line_number":52,"context_line":"                    obj_base.ComparableVersionedObject):"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    primary_key \u003d \u0027id\u0027"},{"line_number":55,"context_line":"    synthetic_fields \u003d []"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def __init__(self, context\u003dNone, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6ed579_c5e904b9","line":54,"updated":"2016-01-18 16:35:39.000000000","message":"I think it belongs to NeutronDbObject, not NeutronObject.","commit_id":"75d93584499fbda07d9fc846992efb42aa74e881"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"1f1df9e8a40b32d712e7a23266dc93adbf707cc1","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                    obj_base.VersionedObjectDictCompat,"},{"line_number":52,"context_line":"                    obj_base.ComparableVersionedObject):"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    primary_key \u003d \u0027id\u0027"},{"line_number":55,"context_line":"    synthetic_fields \u003d []"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def __init__(self, context\u003dNone, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a68dd71_198fc924","line":54,"in_reply_to":"ba63e191_21f55682","updated":"2016-01-20 16:23:59.000000000","message":"agreed","commit_id":"75d93584499fbda07d9fc846992efb42aa74e881"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"66339c71a197145354ac143622e89bfcc12ecdb4","unresolved":false,"context_lines":[{"line_number":51,"context_line":"                    obj_base.VersionedObjectDictCompat,"},{"line_number":52,"context_line":"                    obj_base.ComparableVersionedObject):"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    primary_key \u003d \u0027id\u0027"},{"line_number":55,"context_line":"    synthetic_fields \u003d []"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def __init__(self, context\u003dNone, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba63e191_21f55682","line":54,"in_reply_to":"da6ed579_c5e904b9","updated":"2016-01-20 11:28:09.000000000","message":"I agree, it should be in NeutronDbObject","commit_id":"75d93584499fbda07d9fc846992efb42aa74e881"}],"neutron/tests/unit/objects/test_base.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ecafc287a74fc97235861bfca2ae4ebccf77c303","unresolved":false,"context_lines":[{"line_number":350,"context_line":""},{"line_number":351,"context_line":"        obj \u003d self._test_class.get_by_id(self.context,"},{"line_number":352,"context_line":"                                         getattr(obj, obj.primary_key))"},{"line_number":353,"context_line":"        self.assertEqual(2, mock_commit.call_count)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6ed579_252020f7","line":353,"updated":"2016-01-18 16:35:39.000000000","message":"We should have a test case for non-standard primary key here.","commit_id":"75d93584499fbda07d9fc846992efb42aa74e881"},{"author":{"_account_id":6788,"name":"Rossella Sblendido","email":"rsblendido@suse.com","username":"rossella-o"},"change_message_id":"1f1df9e8a40b32d712e7a23266dc93adbf707cc1","unresolved":false,"context_lines":[{"line_number":350,"context_line":""},{"line_number":351,"context_line":"        obj \u003d self._test_class.get_by_id(self.context,"},{"line_number":352,"context_line":"                                         getattr(obj, obj.primary_key))"},{"line_number":353,"context_line":"        self.assertEqual(2, mock_commit.call_count)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a68dd71_9c6887bc","line":353,"in_reply_to":"da6ed579_252020f7","updated":"2016-01-20 16:23:59.000000000","message":"I added more tests","commit_id":"75d93584499fbda07d9fc846992efb42aa74e881"}]}
