)]}'
{"nova/db/api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7da3d9d3b1e73d1bc1f1641a0f16d9fa8d7ca0c8","unresolved":false,"context_lines":[{"line_number":891,"context_line":"def instance_extra_get_by_instance_uuid(context, instance_uuid, columns\u003dNone):"},{"line_number":892,"context_line":"    \"\"\"Get the instance extra record"},{"line_number":893,"context_line":""},{"line_number":894,"context_line":"    :param instance_uuid: \u003d uuid of the instance tied to the topology record"},{"line_number":895,"context_line":"    \"\"\""},{"line_number":896,"context_line":"    return IMPL.instance_extra_get_by_instance_uuid("},{"line_number":897,"context_line":"        context, instance_uuid, columns\u003dcolumns)"}],"source_content_type":"text/x-python","patch_set":12,"id":"baa201ad_d8014506","line":894,"updated":"2014-10-16 16:37:47.000000000","message":"Since we\u0027re documenting the parameters, please document the columns parameter.  I know the expected_attrs stuff in the instance object calls has caused some confusion so it\u0027d be good to doc here when/how this should be used.","commit_id":"1148ac068f50cb413ebcda34ef4274e0b666a7ac"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e53ea05ea69325a769b3fe496d8c4e7bde1fe9ae","unresolved":false,"context_lines":[{"line_number":892,"context_line":"    \"\"\"Get the instance extra record"},{"line_number":893,"context_line":""},{"line_number":894,"context_line":"    :param instance_uuid: \u003d uuid of the instance tied to the topology record"},{"line_number":895,"context_line":"    :param columns: A list of the columns to load, nor None for \u0027all of them\u0027"},{"line_number":896,"context_line":"    \"\"\""},{"line_number":897,"context_line":"    return IMPL.instance_extra_get_by_instance_uuid("},{"line_number":898,"context_line":"        context, instance_uuid, columns\u003dcolumns)"}],"source_content_type":"text/x-python","patch_set":13,"id":"baa201ad_f8bb69c1","line":895,"updated":"2014-10-16 16:43:53.000000000","message":"s/nor/or/","commit_id":"9ff8e140cdb5248718706427152b4e739e6ea912"}],"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"4c68d3833a2369aae0d4536e2042250a0fcb9f9a","unresolved":false,"context_lines":[{"line_number":2490,"context_line":"        big_columns \u003d set([\u0027numa_topology\u0027, \u0027pci_requests\u0027])"},{"line_number":2491,"context_line":"        wanted_columns \u003d set(columns)"},{"line_number":2492,"context_line":"        for unwanted in big_columns - wanted_columns:"},{"line_number":2493,"context_line":"            query \u003d query.options(defer(unwanted))"},{"line_number":2494,"context_line":"    instance_extra \u003d query.first()"},{"line_number":2495,"context_line":"    return instance_extra"},{"line_number":2496,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_6b6e1e98","line":2493,"updated":"2014-10-02 15:13:23.000000000","message":"docs seem to show load_only() is a thing to so we could just pass columns to that instead of using defer.","commit_id":"0140b831a620f6ba3c43468a05387e5ae92d0b99"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e87e72147dd1998d9359d8e6575ee44f3c2e3ae1","unresolved":false,"context_lines":[{"line_number":2490,"context_line":"        big_columns \u003d set([\u0027numa_topology\u0027, \u0027pci_requests\u0027])"},{"line_number":2491,"context_line":"        wanted_columns \u003d set(columns)"},{"line_number":2492,"context_line":"        for unwanted in big_columns - wanted_columns:"},{"line_number":2493,"context_line":"            query \u003d query.options(defer(unwanted))"},{"line_number":2494,"context_line":"    instance_extra \u003d query.first()"},{"line_number":2495,"context_line":"    return instance_extra"},{"line_number":2496,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_c138c9a2","line":2493,"in_reply_to":"baa201ad_6b6e1e98","updated":"2014-10-02 16:13:43.000000000","message":"Not available in SQLA 0.8.x, which we still claim to support, which is why I did the subtractive method here.","commit_id":"0140b831a620f6ba3c43468a05387e5ae92d0b99"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7da3d9d3b1e73d1bc1f1641a0f16d9fa8d7ca0c8","unresolved":false,"context_lines":[{"line_number":2498,"context_line":"                                        columns\u003dNone):"},{"line_number":2499,"context_line":"    query \u003d _instance_extra_get_by_instance_uuid_query("},{"line_number":2500,"context_line":"        context, instance_uuid)"},{"line_number":2501,"context_line":"    if columns is None:"},{"line_number":2502,"context_line":"        columns \u003d [\u0027numa_topology\u0027, \u0027pci_requests\u0027]"},{"line_number":2503,"context_line":"    for column in columns:"},{"line_number":2504,"context_line":"        query \u003d query.options(undefer(column))"}],"source_content_type":"text/x-python","patch_set":12,"id":"baa201ad_5ac8ec21","line":2501,"updated":"2014-10-16 16:37:47.000000000","message":"Keeping backwards compat, got it.","commit_id":"1148ac068f50cb413ebcda34ef4274e0b666a7ac"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7da3d9d3b1e73d1bc1f1641a0f16d9fa8d7ca0c8","unresolved":false,"context_lines":[{"line_number":2501,"context_line":"    if columns is None:"},{"line_number":2502,"context_line":"        columns \u003d [\u0027numa_topology\u0027, \u0027pci_requests\u0027]"},{"line_number":2503,"context_line":"    for column in columns:"},{"line_number":2504,"context_line":"        query \u003d query.options(undefer(column))"},{"line_number":2505,"context_line":"    instance_extra \u003d query.first()"},{"line_number":2506,"context_line":"    return instance_extra"},{"line_number":2507,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"baa201ad_bad398d3","line":2504,"updated":"2014-10-16 16:37:47.000000000","message":"Me wanty, you givey, got it:\n\nhttp://docs.sqlalchemy.org/en/rel_0_9/orm/mapper_config.html#sqlalchemy.orm.undefer","commit_id":"1148ac068f50cb413ebcda34ef4274e0b666a7ac"}],"nova/db/sqlalchemy/models.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"558b4ec1db884fedefe050d99dd67d3dca0288c1","unresolved":false,"context_lines":[{"line_number":320,"context_line":"    instance_uuid \u003d Column(String(36), ForeignKey(\u0027instances.uuid\u0027),"},{"line_number":321,"context_line":"                           nullable\u003dFalse)"},{"line_number":322,"context_line":"    numa_topology \u003d orm.deferred(Column(Text))"},{"line_number":323,"context_line":"    pci_requests \u003d orm.deferred(Column(Text))"},{"line_number":324,"context_line":"    instance \u003d orm.relationship(Instance,"},{"line_number":325,"context_line":"                            backref\u003dorm.backref(\u0027extra\u0027,"},{"line_number":326,"context_line":"                                                uselist\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":9,"id":"baa201ad_51f9e37e","line":323,"updated":"2014-10-15 08:12:31.000000000","message":"This is cool I guess - not sure how I feel that our querying strategy is seeping into this part of the code as it is now in 3 places (objects, api and here) .. but not really a big deal as I assume you looked into this and prefer it this way since you changed it.","commit_id":"03b4825d49f040c061100a418fdce4d8972e6812"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7da3d9d3b1e73d1bc1f1641a0f16d9fa8d7ca0c8","unresolved":false,"context_lines":[{"line_number":319,"context_line":"    id \u003d Column(Integer, primary_key\u003dTrue, autoincrement\u003dTrue)"},{"line_number":320,"context_line":"    instance_uuid \u003d Column(String(36), ForeignKey(\u0027instances.uuid\u0027),"},{"line_number":321,"context_line":"                           nullable\u003dFalse)"},{"line_number":322,"context_line":"    numa_topology \u003d orm.deferred(Column(Text))"},{"line_number":323,"context_line":"    pci_requests \u003d orm.deferred(Column(Text))"},{"line_number":324,"context_line":"    instance \u003d orm.relationship(Instance,"},{"line_number":325,"context_line":"                            backref\u003dorm.backref(\u0027extra\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"baa201ad_fa51a062","line":322,"updated":"2014-10-16 16:37:47.000000000","message":"OK: http://docs.sqlalchemy.org/en/rel_0_9/orm/mapper_config.html#sqlalchemy.orm.deferred\n\nDon\u0027t load those until accessed, got it.","commit_id":"1148ac068f50cb413ebcda34ef4274e0b666a7ac"}]}
