)]}'
{"ceilometer/storage/impl_sqlalchemy.py":[{"author":{"_account_id":7763,"name":"Alexei Kornienko","email":"akornienko@mirantis.com","username":"akornienko"},"change_message_id":"41455f6406f91ec7451e4f5d1cf0738bd5ce1ada","unresolved":false,"context_lines":[{"line_number":285,"context_line":"            with session.begin(subtransactions\u003dTrue):"},{"line_number":286,"context_line":"                obj \u003d session.query(model_class).get(str(_id))"},{"line_number":287,"context_line":"                if obj is None:"},{"line_number":288,"context_line":"                    obj \u003d model_class(id\u003dstr(_id))"},{"line_number":289,"context_line":"                    session.add(_update_obj(obj))"},{"line_number":290,"context_line":"                else:"},{"line_number":291,"context_line":"                    obj \u003d _update_obj(obj)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2B%2BTs%3D","line":288,"updated":"2014-03-21 09:10:37.000000000","message":"Instead of calling update we can simple call:\n\nmodel_class(id\u003dstr(_id), **kwargs)","commit_id":"280c7617eabfbb2f5372e5dba1dc58588058ae56"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"29a18bb3085acf337607c450082ad0c1008711de","unresolved":false,"context_lines":[{"line_number":285,"context_line":"            with session.begin(subtransactions\u003dTrue):"},{"line_number":286,"context_line":"                obj \u003d session.query(model_class).get(str(_id))"},{"line_number":287,"context_line":"                if obj is None:"},{"line_number":288,"context_line":"                    obj \u003d model_class(id\u003dstr(_id))"},{"line_number":289,"context_line":"                    session.add(_update_obj(obj))"},{"line_number":290,"context_line":"                else:"},{"line_number":291,"context_line":"                    obj \u003d _update_obj(obj)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2B9CU%3D","line":288,"in_reply_to":"AAAAWH%2F%2B%2BTs%3D","updated":"2014-03-21 12:28:49.000000000","message":"Will it correctly append source? I\u0027m not sure how relationships work in sqlalchemy but I get feeling it will just overwrite...","commit_id":"280c7617eabfbb2f5372e5dba1dc58588058ae56"},{"author":{"_account_id":7763,"name":"Alexei Kornienko","email":"akornienko@mirantis.com","username":"akornienko"},"change_message_id":"ed1820a241ca93a05028e068044ce9d3bce7a01c","unresolved":false,"context_lines":[{"line_number":285,"context_line":"            with session.begin(subtransactions\u003dTrue):"},{"line_number":286,"context_line":"                obj \u003d session.query(model_class).get(str(_id))"},{"line_number":287,"context_line":"                if obj is None:"},{"line_number":288,"context_line":"                    obj \u003d model_class(id\u003dstr(_id))"},{"line_number":289,"context_line":"                    session.add(_update_obj(obj))"},{"line_number":290,"context_line":"                else:"},{"line_number":291,"context_line":"                    obj \u003d _update_obj(obj)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2BxSM%3D","line":288,"in_reply_to":"AAAAWH%2F%2B9CU%3D","updated":"2014-03-24 14:05:13.000000000","message":"Yes it will overwrite. But since we are creating a new model object it should be empty on creation so overwrite is ok, no?","commit_id":"280c7617eabfbb2f5372e5dba1dc58588058ae56"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"448a79bd20799f21533c1db98c6970b250b66e9d","unresolved":false,"context_lines":[{"line_number":285,"context_line":"            with session.begin(subtransactions\u003dTrue):"},{"line_number":286,"context_line":"                obj \u003d session.query(model_class).get(str(_id))"},{"line_number":287,"context_line":"                if obj is None:"},{"line_number":288,"context_line":"                    obj \u003d model_class(id\u003dstr(_id))"},{"line_number":289,"context_line":"                    session.add(_update_obj(obj))"},{"line_number":290,"context_line":"                else:"},{"line_number":291,"context_line":"                    obj \u003d _update_obj(obj)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2Bwbc%3D","line":288,"in_reply_to":"AAAAWH%2F%2BxOI%3D","updated":"2014-03-24 15:27:44.000000000","message":"sorry. i meant, sources is a list and if we pass in **kwargs in constructor, it doesn\u0027t know how to append to list properly.\n\nnot sure what you meant by remove session.add... uploading a new patch which drop else statement and make update_obj logic common.","commit_id":"280c7617eabfbb2f5372e5dba1dc58588058ae56"},{"author":{"_account_id":7763,"name":"Alexei Kornienko","email":"akornienko@mirantis.com","username":"akornienko"},"change_message_id":"24963ed52ab1fe4daade9fb411cfc7e2e91220f7","unresolved":false,"context_lines":[{"line_number":285,"context_line":"            with session.begin(subtransactions\u003dTrue):"},{"line_number":286,"context_line":"                obj \u003d session.query(model_class).get(str(_id))"},{"line_number":287,"context_line":"                if obj is None:"},{"line_number":288,"context_line":"                    obj \u003d model_class(id\u003dstr(_id))"},{"line_number":289,"context_line":"                    session.add(_update_obj(obj))"},{"line_number":290,"context_line":"                else:"},{"line_number":291,"context_line":"                    obj \u003d _update_obj(obj)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2BxOI%3D","line":288,"in_reply_to":"AAAAWH%2F%2BxQ4%3D","updated":"2014-03-24 14:12:12.000000000","message":"from what I see In line 288 it\u0027s a new object since we do a constructor call:\n\nmodel_class()\n\nI propose to remove session.add(_update_obj(obj)) since we can create object with fields already provided. In line 291 we\u0027ll have to do update manually","commit_id":"280c7617eabfbb2f5372e5dba1dc58588058ae56"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"7a26a3eef7ec23992aa5df713e021b483cf9dd7b","unresolved":false,"context_lines":[{"line_number":285,"context_line":"            with session.begin(subtransactions\u003dTrue):"},{"line_number":286,"context_line":"                obj \u003d session.query(model_class).get(str(_id))"},{"line_number":287,"context_line":"                if obj is None:"},{"line_number":288,"context_line":"                    obj \u003d model_class(id\u003dstr(_id))"},{"line_number":289,"context_line":"                    session.add(_update_obj(obj))"},{"line_number":290,"context_line":"                else:"},{"line_number":291,"context_line":"                    obj \u003d _update_obj(obj)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2BxQ4%3D","line":288,"in_reply_to":"AAAAWH%2F%2BxSM%3D","updated":"2014-03-24 14:07:35.000000000","message":"it\u0027s not necessarily new object... see line 291.\n\ni think it\u0027s safe to overwrite (the source field is pretty much always a single item from what i see but i\u0027d rather not change the logic in this patch)","commit_id":"280c7617eabfbb2f5372e5dba1dc58588058ae56"}]}
