A) We should add a new field, in addition to row_number, called (perhaps) "previous_row", which will allow us to move rows and insert them at arbitary positions. Most likely this should contain the row number of the row in the previous position.
B) We also need two operations to support this field: (i) inserting to a specific position (this is already supported by valve in insert_new_row_tx() but we should have this optional field in the API function insert_row() as well) and (ii) a new move operation, which should be supported by undo/redo.
A) We should add a new field, in addition to row_number, called (perhaps) "previous_row", which will allow us to move rows and insert them at arbitary positions. Most likely this should contain the row number of the row in the previous position.
B) We also need two operations to support this field: (i) inserting to a specific position (this is already supported by valve in
insert_new_row_tx()
but we should have this optional field in the API functioninsert_row()
as well) and (ii) a new move operation, which should be supported by undo/redo.