)]}'
{"ironic/db/sqlalchemy/api.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"33106606bfdadcd6b639e449cfd950b8ce39ab27","unresolved":false,"context_lines":[{"line_number":219,"context_line":"        if sort_key \u003d\u003d u\u0027maintenance_reason\u0027:"},{"line_number":220,"context_line":"            sort_key \u003d u\u0027sortable_maintenance_reason\u0027"},{"line_number":221,"context_line":"        return _paginate_query(models.Node, limit, marker,"},{"line_number":222,"context_line":"                               sort_key, sort_dir, query)"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"    def reserve_node(self, tag, node_id):"},{"line_number":225,"context_line":"        session \u003d get_session()"}],"source_content_type":"text/x-python","patch_set":2,"id":"9af37de9_c47cd222","line":222,"updated":"2015-05-11 09:00:12.000000000","message":"Let\u0027s add some tests for this conversion at https://github.com/openstack/ironic/blob/master/ironic/tests/db/test_nodes.py","commit_id":"3804588d37fe9f12ddc0c6702aa4e276486e3461"},{"author":{"_account_id":14810,"name":"Kan","email":"sofaopenstack@gmail.com","username":"Kan"},"change_message_id":"e7c6860221b0785e6c95e035e3bd740987824d8e","unresolved":false,"context_lines":[{"line_number":219,"context_line":"        if sort_key \u003d\u003d u\u0027maintenance_reason\u0027:"},{"line_number":220,"context_line":"            sort_key \u003d u\u0027sortable_maintenance_reason\u0027"},{"line_number":221,"context_line":"        return _paginate_query(models.Node, limit, marker,"},{"line_number":222,"context_line":"                               sort_key, sort_dir, query)"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"    def reserve_node(self, tag, node_id):"},{"line_number":225,"context_line":"        session \u003d get_session()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_726773b7","line":222,"in_reply_to":"9af37de9_c47cd222","updated":"2015-05-21 08:59:12.000000000","message":"Thanks for your comment, Lucas. Will address in the next patch.","commit_id":"3804588d37fe9f12ddc0c6702aa4e276486e3461"}],"ironic/db/sqlalchemy/models.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"33106606bfdadcd6b639e449cfd950b8ce39ab27","unresolved":false,"context_lines":[{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    @sortable_maintenance_reason.expression"},{"line_number":208,"context_line":"    def sortable_maintenance_reason(cls):"},{"line_number":209,"context_line":"        return utils.OrderByText(cls.maintenance_reason)"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"class Port(Base):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9af37de9_2494be35","line":209,"updated":"2015-05-11 09:00:12.000000000","message":"Can we add tests for those too?","commit_id":"3804588d37fe9f12ddc0c6702aa4e276486e3461"}],"ironic/db/sqlalchemy/utils.py":[{"author":{"_account_id":7491,"name":"Viktor Serhieiev","email":"viktor.sergeyev@gmail.com","username":"vsergeyev"},"change_message_id":"403317bef6deaa80a66c2c4de6913648d26884ac","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"@compiles(OrderByText, \u0027ibm_db_sa\u0027)"},{"line_number":31,"context_line":"def _db2_order_by_text(element, compiler, **kw):"},{"line_number":32,"context_line":"    return \"CAST(%s AS VARCHAR(5000))\" % ("},{"line_number":33,"context_line":"        compiler.process(element.clauses.clauses[0], **kw))"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a0c5dc1_47044f7d","line":32,"updated":"2015-05-12 15:38:19.000000000","message":"text field can be unlimited, what happened, if we\u0027ll get string longer then 5000 ?","commit_id":"3804588d37fe9f12ddc0c6702aa4e276486e3461"},{"author":{"_account_id":14810,"name":"Kan","email":"sofaopenstack@gmail.com","username":"Kan"},"change_message_id":"e7c6860221b0785e6c95e035e3bd740987824d8e","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"@compiles(OrderByText, \u0027ibm_db_sa\u0027)"},{"line_number":31,"context_line":"def _db2_order_by_text(element, compiler, **kw):"},{"line_number":32,"context_line":"    return \"CAST(%s AS VARCHAR(5000))\" % ("},{"line_number":33,"context_line":"        compiler.process(element.clauses.clauses[0], **kw))"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_4ff05067","line":32,"in_reply_to":"9a0c5dc1_47044f7d","updated":"2015-05-21 08:59:12.000000000","message":"Thanks for your comment, Victor. \nYes, I understand that the text is unlimited in length, but I think the unlimited can not be really tested except the long length. \nIf the string really is longer than 5000, it will be truncated to the scope of 5000 in length to compare, the content outside of 5000 will be ignored. Also, I think 5000 in length can satisfy the mostly usage situation. \nNot sure the number 5000 is the most suitable one here, it can be discussed.","commit_id":"3804588d37fe9f12ddc0c6702aa4e276486e3461"}]}
