)]}'
{"rally/common/db/api.py":[{"author":{"_account_id":11816,"name":"mike bayer","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"854f69713f1e712e896d43a09e5bc532c7087bdd","unresolved":false,"context_lines":[{"line_number":61,"context_line":"CONF \u003d cfg.CONF"},{"line_number":62,"context_line":"db_options.set_defaults(CONF, connection\u003d\"sqlite:////tmp/rally.sqlite\")"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"_FACADE \u003d None"},{"line_number":65,"context_line":"_SESSION_MAKER \u003d None"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"df7087c5_8177d5d4","side":"PARENT","line":64,"updated":"2018-03-22 20:08:01.000000000","message":"just FYI this is not modern oslo.db code.   The current API is way nicer and more succinct than this.","commit_id":"ab68c8ff08c0e0bfef819980acb960b65b2bca69"},{"author":{"_account_id":11816,"name":"mike bayer","display_name":"Mike Bayer","email":"mike_mp@zzzcomputing.com","username":"zzzeek","status":"Red Hat"},"change_message_id":"854f69713f1e712e896d43a09e5bc532c7087bdd","unresolved":false,"context_lines":[{"line_number":53,"context_line":"from rally.task.processing import charts"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"@engine.with_session"},{"line_number":57,"context_line":"def tags_get(session, uuid, tag_type):"},{"line_number":58,"context_line":"    query \u003d session.query(models.Tag.tag).filter_by(uuid\u003duuid, type\u003dtag_type)"},{"line_number":59,"context_line":"    return [t.tag for t in query.distinct().all()]"}],"source_content_type":"text/x-python","patch_set":7,"id":"df7087c5_2152893c","line":56,"updated":"2018-03-22 20:08:01.000000000","message":"and in fact modern oslo.db enginefacade looks a lot like this.  so you are reinventing a bit","commit_id":"6daa4e73bf5b8b2b036d712c264fbf2964ea7bc0"}],"rally/common/db/migrations/versions/ca3626f62937_init_migration.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"005b8d77db95f1c6bc5215d2720b5d06daf39a1d","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"def upgrade():"},{"line_number":40,"context_line":"    dialect \u003d engine.get_engine().dialect"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    deployments_columns \u003d ["},{"line_number":43,"context_line":"        sa.Column(\"created_at\", sa.DateTime(), nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":6,"id":"df7087c5_8ed07d21","line":40,"range":{"start_line":40,"start_character":4,"end_line":40,"end_character":41},"updated":"2018-03-12 13:44:35.000000000","message":"Not sure that this is a good way to obtain a dialect. While you are here, can you replace it with the more native thing: `op.get_bind().engine.name` ?","commit_id":"de781a4faf572810a3b6eb9618b403afae3fee91"}]}
