create a Vizual case class with a JSON codec and operations for each of:
[ ] Reorder columns (Project)
[ ] Remove column (Project)
[ ] Add Column (Project adding a column hardcoded to NULL)
[ ] Rename Column (Project)
[ ] Remove row (Select on ROWID)
[ ] Add row (Union ALL with HardTable)
[ ] Sort
[ ] Update Cell/Range (Project with CASE)
[ ] Annotate (Project with DataWarning)
[ ] Filter (Select)
Add a method that takes a table and a sequence of Vizual operations and, using re-enactment (see discussion here) produces a query that simulates applying the operations.
At some point, we should migrate the implementation of Vizier's spreadsheet-versioning language, Vizual into Mimir.
Benefits
create a
Vizual
case class with a JSON codec and operations for each of:Add a method that takes a table and a sequence of Vizual operations and, using re-enactment (see discussion here) produces a query that simulates applying the operations.
Add a Vizual operation to the Vizier API.