)]}'
{"ceilometer/storage/impl_sqlalchemy.py":[{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"c0f30e3c532969af385fd1603690fc7fea5e0d3b","unresolved":false,"context_lines":[{"line_number":703,"context_line":"                .filter(Event.generated \u003e\u003d start, Event.generated \u003c\u003d end)"},{"line_number":704,"context_line":""},{"line_number":705,"context_line":"            if event_filter.event_name:"},{"line_number":706,"context_line":"                event_name \u003d self._get_unique(session, event_filter.event_name)"},{"line_number":707,"context_line":"                sub_query \u003d sub_query.filter(Event.event_type \u003d\u003d event_name)"},{"line_number":708,"context_line":""},{"line_number":709,"context_line":"            if event_filter.traits:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAQ3%2F%2F9i4%3D","line":706,"updated":"2013-08-12 13:12:58.000000000","message":"event_name still - I can change all event_names to event_type from the API down in my patch, if you\u0027d like. Will need to change it in event_filter and various unit tests as well.","commit_id":"250e7128668a1dde423a6bab74de8f600c41e8f3"},{"author":{"_account_id":688,"name":"Sandy Walsh","email":"sandy.walsh@rackspace.com","username":"sandy-walsh"},"change_message_id":"2f8e9b200a27864937b0c12b19453503ff609a22","unresolved":false,"context_lines":[{"line_number":631,"context_line":""},{"line_number":632,"context_line":"        This may result in a flush."},{"line_number":633,"context_line":"        \"\"\""},{"line_number":634,"context_line":"        if session is None:"},{"line_number":635,"context_line":"            session \u003d sqlalchemy_session.get_session()"},{"line_number":636,"context_line":"        with session.begin(subtransactions\u003dTrue):"},{"line_number":637,"context_line":"            et \u003d session.query(EventType).filter("}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAARn%2F%2F4hg%3D","line":634,"updated":"2013-08-20 17:54:43.000000000","message":"Is there a place where session isn\u0027t defined?","commit_id":"4dc934791c1547270bf3822830889d9e212104bd"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"b162420af1d252de462f7910f5e4600b4762e9c7","unresolved":false,"context_lines":[{"line_number":631,"context_line":""},{"line_number":632,"context_line":"        This may result in a flush."},{"line_number":633,"context_line":"        \"\"\""},{"line_number":634,"context_line":"        if session is None:"},{"line_number":635,"context_line":"            session \u003d sqlalchemy_session.get_session()"},{"line_number":636,"context_line":"        with session.begin(subtransactions\u003dTrue):"},{"line_number":637,"context_line":"            et \u003d session.query(EventType).filter("}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAARn%2F%2F4VY%3D","line":634,"in_reply_to":"AAAARn%2F%2F4hg%3D","updated":"2013-08-20 19:02:54.000000000","message":"No idea... this was copied from the get_or_create_unique_name...","commit_id":"4dc934791c1547270bf3822830889d9e212104bd"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"dffefc97b468a9eb6bbcc325e2c56fa3aee4c3aa","unresolved":false,"context_lines":[{"line_number":871,"context_line":"        \"\"\"Store a single Event, including related Traits."},{"line_number":872,"context_line":"        \"\"\""},{"line_number":873,"context_line":"        with session.begin(subtransactions\u003dTrue):"},{"line_number":874,"context_line":"            event_type \u003d self._get_or_create_event_type(event_model.event_name,"},{"line_number":875,"context_line":"                                                        session\u003dsession)"},{"line_number":876,"context_line":""},{"line_number":877,"context_line":"            generated \u003d utils.dt_to_decimal(event_model.generated)"}],"source_content_type":"text/x-python","patch_set":26,"id":"AAAATn%2F%2BmNg%3D","line":874,"updated":"2013-11-22 17:03:14.000000000","message":"i think i understand this but the naming is pretty confusing... it seems to go from \u0027event_type\u0027 of message -\u003e \u0027event_name\u0027 in event_model -\u003e \u0027event_type\u0027 in event_type table.","commit_id":"260b2cd502f57e55a8ad3ddf2b9adc1efcdbf2e4"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"1fae070ad096f18fdb8e5098dbd349b3536d7594","unresolved":false,"context_lines":[{"line_number":871,"context_line":"        \"\"\"Store a single Event, including related Traits."},{"line_number":872,"context_line":"        \"\"\""},{"line_number":873,"context_line":"        with session.begin(subtransactions\u003dTrue):"},{"line_number":874,"context_line":"            event_type \u003d self._get_or_create_event_type(event_model.event_name,"},{"line_number":875,"context_line":"                                                        session\u003dsession)"},{"line_number":876,"context_line":""},{"line_number":877,"context_line":"            generated \u003d utils.dt_to_decimal(event_model.generated)"}],"source_content_type":"text/x-python","patch_set":26,"id":"AAAATn%2F%2BlxQ%3D","line":874,"in_reply_to":"AAAATn%2F%2BmNg%3D","updated":"2013-11-22 18:44:55.000000000","message":"Done","commit_id":"260b2cd502f57e55a8ad3ddf2b9adc1efcdbf2e4"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"dffefc97b468a9eb6bbcc325e2c56fa3aee4c3aa","unresolved":false,"context_lines":[{"line_number":990,"context_line":"                event \u003d event_models_dict.get(trait.event_id)"},{"line_number":991,"context_line":"                if not event:"},{"line_number":992,"context_line":"                    generated \u003d utils.decimal_to_dt(trait.event.generated)"},{"line_number":993,"context_line":"                    event \u003d api_models.Event(trait.event.event_type,"},{"line_number":994,"context_line":"                                             trait.event.event_type.desc,"},{"line_number":995,"context_line":"                                             generated, [])"},{"line_number":996,"context_line":"                    event_models_dict[trait.event_id] \u003d event"}],"source_content_type":"text/x-python","patch_set":26,"id":"AAAATn%2F%2BmXY%3D","line":993,"updated":"2013-11-22 17:03:14.000000000","message":"this should still be message_id i believe.","commit_id":"260b2cd502f57e55a8ad3ddf2b9adc1efcdbf2e4"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"1fae070ad096f18fdb8e5098dbd349b3536d7594","unresolved":false,"context_lines":[{"line_number":990,"context_line":"                event \u003d event_models_dict.get(trait.event_id)"},{"line_number":991,"context_line":"                if not event:"},{"line_number":992,"context_line":"                    generated \u003d utils.decimal_to_dt(trait.event.generated)"},{"line_number":993,"context_line":"                    event \u003d api_models.Event(trait.event.event_type,"},{"line_number":994,"context_line":"                                             trait.event.event_type.desc,"},{"line_number":995,"context_line":"                                             generated, [])"},{"line_number":996,"context_line":"                    event_models_dict[trait.event_id] \u003d event"}],"source_content_type":"text/x-python","patch_set":26,"id":"AAAATn%2F%2BlxE%3D","line":993,"in_reply_to":"AAAATn%2F%2BmXY%3D","updated":"2013-11-22 18:44:55.000000000","message":"Done","commit_id":"260b2cd502f57e55a8ad3ddf2b9adc1efcdbf2e4"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"80f30452d9bcf23f05c1e51420d183d4a6cae6b6","unresolved":false,"context_lines":[{"line_number":990,"context_line":"                event \u003d event_models_dict.get(trait.event_id)"},{"line_number":991,"context_line":"                if not event:"},{"line_number":992,"context_line":"                    generated \u003d utils.decimal_to_dt(trait.event.generated)"},{"line_number":993,"context_line":"                    event \u003d api_models.Event(trait.event.event_type,"},{"line_number":994,"context_line":"                                             trait.event.event_type.desc,"},{"line_number":995,"context_line":"                                             generated, [])"},{"line_number":996,"context_line":"                    event_models_dict[trait.event_id] \u003d event"}],"source_content_type":"text/x-python","patch_set":26,"id":"AAAATn%2F%2BmKM%3D","line":993,"in_reply_to":"AAAATn%2F%2BmXY%3D","updated":"2013-11-22 17:25:30.000000000","message":"yes, it should thanks.","commit_id":"260b2cd502f57e55a8ad3ddf2b9adc1efcdbf2e4"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"120b2a7ecec8c178204dc740c6413027c73025dc","unresolved":false,"context_lines":[{"line_number":864,"context_line":"            if not et:"},{"line_number":865,"context_line":"                et \u003d models.EventType(event_type)"},{"line_number":866,"context_line":"                session.add(et)"},{"line_number":867,"context_line":"                session.flush()"},{"line_number":868,"context_line":"        return et"},{"line_number":869,"context_line":""},{"line_number":870,"context_line":"    def _record_event(self, session, event_model):"}],"source_content_type":"text/x-python","patch_set":30,"id":"AAAATn%2F%2BemY%3D","line":867,"updated":"2013-11-25 17:03:31.000000000","message":"Looks like there\u0027s a possible race condition there, as it could be added in the meantime and the transaction could fail?","commit_id":"545200dd224fc539dba25cb41fc91239ae947a2d"}],"ceilometer/storage/sqlalchemy/migrate_repo/versions/013_add_event_types.py":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"c0fab5ce5952ac5c14d2dd1df87148e295bc6108","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    # with the key from the unique_name table, and"},{"line_number":40,"context_line":"    # then rename the event.unique_name field to event.event_type"},{"line_number":41,"context_line":"    conn \u003d migrate_engine.connect()"},{"line_number":42,"context_line":"    sql \u003d (\"INSERT INTO event_type (id, desc) \""},{"line_number":43,"context_line":"           \"SELECT unique_name.id, unique_name.key FROM event \""},{"line_number":44,"context_line":"           \"INNER JOIN unique_name \""},{"line_number":45,"context_line":"           \"ON event.unique_name_id \u003d unique_name.id \""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAARH%2F%2F4NU%3D","line":42,"updated":"2013-08-15 20:37:06.000000000","message":"What does mysql do for the start value of id if we load a bunch of data into the table? Does it start at max(id)+1 the next time something is inserted?","commit_id":"4c2e392389051b9325ee017bd9f6a55b74dac9e0"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"404d639fe40671948cae8c795453ba4aa63c9809","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    # with the key from the unique_name table, and"},{"line_number":40,"context_line":"    # then rename the event.unique_name field to event.event_type"},{"line_number":41,"context_line":"    conn \u003d migrate_engine.connect()"},{"line_number":42,"context_line":"    sql \u003d (\"INSERT INTO event_type (id, desc) \""},{"line_number":43,"context_line":"           \"SELECT unique_name.id, unique_name.key FROM event \""},{"line_number":44,"context_line":"           \"INNER JOIN unique_name \""},{"line_number":45,"context_line":"           \"ON event.unique_name_id \u003d unique_name.id \""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAARH%2F%2F1Sg%3D","line":42,"in_reply_to":"AAAARH%2F%2F4NU%3D","updated":"2013-08-16 15:26:27.000000000","message":"Yes it does.","commit_id":"4c2e392389051b9325ee017bd9f6a55b74dac9e0"},{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"c0fab5ce5952ac5c14d2dd1df87148e295bc6108","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    conn.close()"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"def downgrade(migrate_engine):"},{"line_number":74,"context_line":"    meta.bind \u003d migrate_engine"},{"line_number":75,"context_line":"    event_type \u003d Table(\u0027event_type\u0027, meta, autoload\u003dTrue)"},{"line_number":76,"context_line":"    event \u003d Table(\u0027event\u0027, meta, autoload\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAARH%2F%2F4N8%3D","line":73,"updated":"2013-08-15 20:37:06.000000000","message":"Should this move the unique values back to the old table, too?","commit_id":"4c2e392389051b9325ee017bd9f6a55b74dac9e0"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"404d639fe40671948cae8c795453ba4aa63c9809","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    conn.close()"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"def downgrade(migrate_engine):"},{"line_number":74,"context_line":"    meta.bind \u003d migrate_engine"},{"line_number":75,"context_line":"    event_type \u003d Table(\u0027event_type\u0027, meta, autoload\u003dTrue)"},{"line_number":76,"context_line":"    event \u003d Table(\u0027event\u0027, meta, autoload\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAARH%2F%2F1SU%3D","line":73,"in_reply_to":"AAAARH%2F%2F4N8%3D","updated":"2013-08-16 15:26:27.000000000","message":"Yes, it should... will do.","commit_id":"4c2e392389051b9325ee017bd9f6a55b74dac9e0"}],"ceilometer/storage/sqlalchemy/migrate_repo/versions/013_sqlite_downgrade.sql":[{"author":{"_account_id":2472,"name":"Doug Hellmann","email":"dhellmann@redhat.com","username":"doug-hellmann"},"change_message_id":"c0fab5ce5952ac5c14d2dd1df87148e295bc6108","unresolved":false,"context_lines":[{"line_number":1,"context_line":"ALTER TABLE event RENAME TO event_orig;"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"CREATE TABLE event ("},{"line_number":4,"context_line":"  id INTEGER PRIMARY KEY ASC,"}],"source_content_type":"text/x-sql","patch_set":8,"id":"AAAARH%2F%2F4Ls%3D","line":1,"updated":"2013-08-15 20:37:06.000000000","message":"Does sqlalchemy-migrate pick these SQL files up automatically when sqlite is being used?","commit_id":"4c2e392389051b9325ee017bd9f6a55b74dac9e0"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"404d639fe40671948cae8c795453ba4aa63c9809","unresolved":false,"context_lines":[{"line_number":1,"context_line":"ALTER TABLE event RENAME TO event_orig;"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"CREATE TABLE event ("},{"line_number":4,"context_line":"  id INTEGER PRIMARY KEY ASC,"}],"source_content_type":"text/x-sql","patch_set":8,"id":"AAAARH%2F%2F1SQ%3D","line":1,"in_reply_to":"AAAARH%2F%2F4Ls%3D","updated":"2013-08-16 15:26:27.000000000","message":"Yes it does","commit_id":"4c2e392389051b9325ee017bd9f6a55b74dac9e0"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"6b3da4482c621f862b83836fec0f726fe908365c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"ALTER TABLE event RENAME TO event_orig;"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"INSERT INTO unique_name"},{"line_number":4,"context_line":"SELECT et.id, et.desc"}],"source_content_type":"text/x-sql","patch_set":10,"id":"AAAARH%2F%2F1H0%3D","line":1,"updated":"2013-08-16 15:54:43.000000000","message":"This also needs to add unique_names back in, right?","commit_id":"53e4734e82b71da49a4d95a2721f1a39596fe568"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0e384a515fa0c39f537508aa721444856e465eec","unresolved":false,"context_lines":[{"line_number":1,"context_line":"ALTER TABLE event RENAME TO event_orig;"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"INSERT INTO unique_name"},{"line_number":4,"context_line":"SELECT et.id, et.desc"}],"source_content_type":"text/x-sql","patch_set":10,"id":"AAAARH%2F%2F04M%3D","line":1,"in_reply_to":"AAAARH%2F%2F1H0%3D","updated":"2013-08-16 17:00:39.000000000","message":"Nope, the foreign key IDs are the only things that were in the event table -- and those keys didn\u0027t change - the alter below simply renames the column back to unique_name_id from event_type_id.","commit_id":"53e4734e82b71da49a4d95a2721f1a39596fe568"}],"ceilometer/storage/sqlalchemy/migrate_repo/versions/021_add_event_types.py":[{"author":{"_account_id":7368,"name":"Thomas Maddox","email":"me@thomasem.net","username":"thomasm"},"change_message_id":"7bb34da577348acb84e40989e87b0afe3501c752","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    Column(\u0027event_type_id\u0027, Integer).create(event)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    # Move data from unique name column into eveny_type column"},{"line_number":61,"context_line":"    sql \u003d (\"INSERT INTO event (id, event_type_id) \""},{"line_number":62,"context_line":"           \"SELECT id, unique_name_id \""},{"line_number":63,"context_line":"           \"from event\")"}],"source_content_type":"text/x-python","patch_set":23,"id":"AAAATn%2F%2Bw24%3D","line":60,"updated":"2013-11-20 15:01:02.000000000","message":"event_type*","commit_id":"c84532708349bef80d23852366047f250a03cc8f"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"cc4299fa65dff75aac5ea4d6558430297b9f6e36","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    Column(\u0027event_type_id\u0027, Integer).create(event)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    # Move data from unique name column into eveny_type column"},{"line_number":61,"context_line":"    sql \u003d (\"INSERT INTO event (id, event_type_id) \""},{"line_number":62,"context_line":"           \"SELECT id, unique_name_id \""},{"line_number":63,"context_line":"           \"from event\")"}],"source_content_type":"text/x-python","patch_set":23,"id":"AAAATn%2F%2BvgM%3D","line":60,"in_reply_to":"AAAATn%2F%2Bw24%3D","updated":"2013-11-20 20:00:03.000000000","message":"Not exactly sure what you\u0027re getting at? I\u0027m copying the fk from event.unique_name_id to event.event_type_id. I changed this comment to \"Move data from unique_name_id column into eveny_type_id column\". Good?","commit_id":"c84532708349bef80d23852366047f250a03cc8f"},{"author":{"_account_id":7368,"name":"Thomas Maddox","email":"me@thomasem.net","username":"thomasm"},"change_message_id":"7bb34da577348acb84e40989e87b0afe3501c752","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    Column(\u0027unique_name_id\u0027, Integer).create(event)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    # Move data from unique name column into eveny_type column"},{"line_number":105,"context_line":"    sql \u003d (\"INSERT INTO event (id, unique_name_id) \""},{"line_number":106,"context_line":"           \"SELECT id, event_type)_id\""},{"line_number":107,"context_line":"           \"from event\")"}],"source_content_type":"text/x-python","patch_set":23,"id":"AAAATn%2F%2Bw1E%3D","line":104,"updated":"2013-11-20 15:01:02.000000000","message":"Should this be the inverse of the previous comment on line 60?","commit_id":"c84532708349bef80d23852366047f250a03cc8f"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"cc4299fa65dff75aac5ea4d6558430297b9f6e36","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    Column(\u0027unique_name_id\u0027, Integer).create(event)"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    # Move data from unique name column into eveny_type column"},{"line_number":105,"context_line":"    sql \u003d (\"INSERT INTO event (id, unique_name_id) \""},{"line_number":106,"context_line":"           \"SELECT id, event_type)_id\""},{"line_number":107,"context_line":"           \"from event\")"}],"source_content_type":"text/x-python","patch_set":23,"id":"AAAATn%2F%2BvgI%3D","line":104,"in_reply_to":"AAAATn%2F%2Bw1E%3D","updated":"2013-11-20 20:00:03.000000000","message":"Yes! thank you","commit_id":"c84532708349bef80d23852366047f250a03cc8f"},{"author":{"_account_id":7368,"name":"Thomas Maddox","email":"me@thomasem.net","username":"thomasm"},"change_message_id":"7bb34da577348acb84e40989e87b0afe3501c752","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    # Move data from unique name column into eveny_type column"},{"line_number":105,"context_line":"    sql \u003d (\"INSERT INTO event (id, unique_name_id) \""},{"line_number":106,"context_line":"           \"SELECT id, event_type)_id\""},{"line_number":107,"context_line":"           \"from event\")"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    conn.execute(sql)"}],"source_content_type":"text/x-python","patch_set":23,"id":"AAAATn%2F%2Bw0c%3D","line":106,"updated":"2013-11-20 15:01:02.000000000","message":"\u0027event_type_id\u0027 instead of \u0027event_type)_id\u0027\n\nDid this work when downgrading?","commit_id":"c84532708349bef80d23852366047f250a03cc8f"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"cc4299fa65dff75aac5ea4d6558430297b9f6e36","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    # Move data from unique name column into eveny_type column"},{"line_number":105,"context_line":"    sql \u003d (\"INSERT INTO event (id, unique_name_id) \""},{"line_number":106,"context_line":"           \"SELECT id, event_type)_id\""},{"line_number":107,"context_line":"           \"from event\")"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    conn.execute(sql)"}],"source_content_type":"text/x-python","patch_set":23,"id":"AAAATn%2F%2Bvgg%3D","line":106,"in_reply_to":"AAAATn%2F%2Bw0c%3D","updated":"2013-11-20 20:00:03.000000000","message":"Done","commit_id":"c84532708349bef80d23852366047f250a03cc8f"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"dffefc97b468a9eb6bbcc325e2c56fa3aee4c3aa","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    Column(\u0027event_type_id\u0027, Integer).create(event)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    # Move data from unique_name_id column into eveny_type_id column"},{"line_number":61,"context_line":"    sql \u003d (\"INSERT INTO event (id, event_type_id) \""},{"line_number":62,"context_line":"           \"SELECT id, unique_name_id \""},{"line_number":63,"context_line":"           \"from event\")"}],"source_content_type":"text/x-python","patch_set":26,"id":"AAAATn%2F%2BmUE%3D","line":60,"updated":"2013-11-22 17:03:14.000000000","message":"s/eveny_type_id/event_type_id/","commit_id":"260b2cd502f57e55a8ad3ddf2b9adc1efcdbf2e4"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"1fae070ad096f18fdb8e5098dbd349b3536d7594","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    Column(\u0027event_type_id\u0027, Integer).create(event)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    # Move data from unique_name_id column into eveny_type_id column"},{"line_number":61,"context_line":"    sql \u003d (\"INSERT INTO event (id, event_type_id) \""},{"line_number":62,"context_line":"           \"SELECT id, unique_name_id \""},{"line_number":63,"context_line":"           \"from event\")"}],"source_content_type":"text/x-python","patch_set":26,"id":"AAAATn%2F%2Blw0%3D","line":60,"in_reply_to":"AAAATn%2F%2BmUE%3D","updated":"2013-11-22 18:44:55.000000000","message":"Done","commit_id":"260b2cd502f57e55a8ad3ddf2b9adc1efcdbf2e4"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"dffefc97b468a9eb6bbcc325e2c56fa3aee4c3aa","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    # Move data from unique_name_id column into eveny_type_id column"},{"line_number":61,"context_line":"    sql \u003d (\"INSERT INTO event (id, event_type_id) \""},{"line_number":62,"context_line":"           \"SELECT id, unique_name_id \""},{"line_number":63,"context_line":"           \"from event\")"},{"line_number":64,"context_line":"    conn.execute(sql)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    params \u003d {\u0027columns\u0027: [event.c.event_type_id],"}],"source_content_type":"text/x-python","patch_set":26,"id":"AAAATn%2F%2BmSM%3D","line":63,"updated":"2013-11-22 17:03:14.000000000","message":"wouldn\u0027t this just throw primary key constraint collisions for every entry if we\u0027re taking an existing id and reinserting it in?","commit_id":"260b2cd502f57e55a8ad3ddf2b9adc1efcdbf2e4"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"1fae070ad096f18fdb8e5098dbd349b3536d7594","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    # Move data from unique_name_id column into eveny_type_id column"},{"line_number":61,"context_line":"    sql \u003d (\"INSERT INTO event (id, event_type_id) \""},{"line_number":62,"context_line":"           \"SELECT id, unique_name_id \""},{"line_number":63,"context_line":"           \"from event\")"},{"line_number":64,"context_line":"    conn.execute(sql)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    params \u003d {\u0027columns\u0027: [event.c.event_type_id],"}],"source_content_type":"text/x-python","patch_set":26,"id":"AAAATn%2F%2BmCY%3D","line":63,"in_reply_to":"AAAATn%2F%2BmSM%3D","updated":"2013-11-22 18:44:55.000000000","message":"hm, yes. It should be an update, not an insert.","commit_id":"260b2cd502f57e55a8ad3ddf2b9adc1efcdbf2e4"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"59288fdde29f40220f11f3b514b9a9c4dd52f285","unresolved":false,"context_lines":[{"line_number":45,"context_line":"           \"SELECT unique_name.id, unique_name.key FROM event \""},{"line_number":46,"context_line":"           \"INNER JOIN unique_name \""},{"line_number":47,"context_line":"           \"ON event.unique_name_id \u003d unique_name.id \""},{"line_number":48,"context_line":"           \"GROUP BY unique_name.id\")"},{"line_number":49,"context_line":"    conn.execute(sql)"},{"line_number":50,"context_line":"    # Now we need to drop the foreign key constraint, rename"},{"line_number":51,"context_line":"    # the event.unique_name column, and re-add a new foreign"}],"source_content_type":"text/x-python","patch_set":30,"id":"AAAATn%2F%2Bfi0%3D","line":48,"updated":"2013-11-25 15:23:16.000000000","message":"i think this query may cause issues in postgres. if i remember correctly, the select list can\u0027t refer to ungrouped/aggregate columns.\n\nhttp://www.postgresql.org/docs/9.1/static/sql-select.html#SQL-GROUPBY","commit_id":"545200dd224fc539dba25cb41fc91239ae947a2d"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"58c87bc37fbe1d2566db3beffc336db7b7bb8aa8","unresolved":false,"context_lines":[{"line_number":45,"context_line":"           \"SELECT unique_name.id, unique_name.key FROM event \""},{"line_number":46,"context_line":"           \"INNER JOIN unique_name \""},{"line_number":47,"context_line":"           \"ON event.unique_name_id \u003d unique_name.id \""},{"line_number":48,"context_line":"           \"GROUP BY unique_name.id\")"},{"line_number":49,"context_line":"    conn.execute(sql)"},{"line_number":50,"context_line":"    # Now we need to drop the foreign key constraint, rename"},{"line_number":51,"context_line":"    # the event.unique_name column, and re-add a new foreign"}],"source_content_type":"text/x-python","patch_set":30,"id":"AAAATn%2F%2BfCg%3D","line":48,"in_reply_to":"AAAATn%2F%2Bfi0%3D","updated":"2013-11-25 15:57:48.000000000","message":"I\u0027ve tested the upgrade and downgrade script with postgres, and it works fine: http://paste.openstack.org/show/53918/","commit_id":"545200dd224fc539dba25cb41fc91239ae947a2d"}],"ceilometer/storage/sqlalchemy/migrate_repo/versions/021_sqlite_upgrade.sql":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"59288fdde29f40220f11f3b514b9a9c4dd52f285","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"INSERT INTO event_type"},{"line_number":7,"context_line":"SELECT un.id, un.key"},{"line_number":8,"context_line":"FROM unique_name un"},{"line_number":9,"context_line":"JOIN event e ON un.id \u003d e.unique_name_id"},{"line_number":10,"context_line":"GROUP BY un.id;"},{"line_number":11,"context_line":""}],"source_content_type":"text/x-sql","patch_set":30,"id":"AAAATn%2F%2BfY0%3D","line":8,"updated":"2013-11-25 15:23:16.000000000","message":"unique_name AS un  (unless this isn\u0027t needed in sqlite)","commit_id":"545200dd224fc539dba25cb41fc91239ae947a2d"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"58c87bc37fbe1d2566db3beffc336db7b7bb8aa8","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"INSERT INTO event_type"},{"line_number":7,"context_line":"SELECT un.id, un.key"},{"line_number":8,"context_line":"FROM unique_name un"},{"line_number":9,"context_line":"JOIN event e ON un.id \u003d e.unique_name_id"},{"line_number":10,"context_line":"GROUP BY un.id;"},{"line_number":11,"context_line":""}],"source_content_type":"text/x-sql","patch_set":30,"id":"AAAATn%2F%2BfM0%3D","line":8,"in_reply_to":"AAAATn%2F%2BfY0%3D","updated":"2013-11-25 15:57:48.000000000","message":"yeah, this syntax is ok in sqlite.","commit_id":"545200dd224fc539dba25cb41fc91239ae947a2d"}],"ceilometer/tests/storage/test_impl_sqlalchemy.py":[{"author":{"_account_id":7368,"name":"Thomas Maddox","email":"me@thomasem.net","username":"thomasm"},"change_message_id":"7625435e45ca6f5c8423076dd3949f695fa901cd","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        self.assertNotEqual(et1.id, et2.id)"},{"line_number":87,"context_line":"        self.assertNotEqual(et1.desc, et2.desc)"},{"line_number":88,"context_line":"        # Test the method __repr__ returns a string"},{"line_number":89,"context_line":"        self.assertTrue(repr.repr(et2))"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"class MyException(Exception):"}],"source_content_type":"text/x-python","patch_set":30,"id":"AAAATn%2F%2Bfbo%3D","line":89,"updated":"2013-11-25 15:11:39.000000000","message":"Minor nit, should we just test that __repr__() returns a string in its own test? It seems like we\u0027re blurring the responsibility of this test.","commit_id":"545200dd224fc539dba25cb41fc91239ae947a2d"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"58c87bc37fbe1d2566db3beffc336db7b7bb8aa8","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        self.assertNotEqual(et1.id, et2.id)"},{"line_number":87,"context_line":"        self.assertNotEqual(et1.desc, et2.desc)"},{"line_number":88,"context_line":"        # Test the method __repr__ returns a string"},{"line_number":89,"context_line":"        self.assertTrue(repr.repr(et2))"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"class MyException(Exception):"}],"source_content_type":"text/x-python","patch_set":30,"id":"AAAATn%2F%2BfB8%3D","line":89,"in_reply_to":"AAAATn%2F%2BfRY%3D","updated":"2013-11-25 15:57:48.000000000","message":"actually, If I get a -1, I\u0027ll fix this, otherwise I\u0027ll fix it in a future patch.","commit_id":"545200dd224fc539dba25cb41fc91239ae947a2d"},{"author":{"_account_id":5678,"name":"John Herndon","email":"john.herndon@hp.com","username":"john-herndon"},"change_message_id":"af64c984058620dd443bdaa3b1f32849ffbf57ae","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        self.assertNotEqual(et1.id, et2.id)"},{"line_number":87,"context_line":"        self.assertNotEqual(et1.desc, et2.desc)"},{"line_number":88,"context_line":"        # Test the method __repr__ returns a string"},{"line_number":89,"context_line":"        self.assertTrue(repr.repr(et2))"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"class MyException(Exception):"}],"source_content_type":"text/x-python","patch_set":30,"id":"AAAATn%2F%2BfRY%3D","line":89,"in_reply_to":"AAAATn%2F%2Bfbo%3D","updated":"2013-11-25 15:22:07.000000000","message":"Sure, good idea... although as you can see from above, I basically just copied the uniquename test and made it check the event_type table...","commit_id":"545200dd224fc539dba25cb41fc91239ae947a2d"}]}
