With the prototype, so far we've been focused on validation while loading, and then #35 validating existing rows. We also need to be able to re-validate all the tables. This could be because we changed a definition of a table, column, or datatype. It could also be because we removed some rows from a table.
Although some of our validation rules are specific to a cell or a row, some of them such as unique, under, and tree necessarily span many rows, and sometimes span tables.
In a perfect world we would figure out the minimum set of (re)validations that we would have to run. Spreadsheets do this, and I'm reminded of the Clojure library Javelin, and "dataflow programming" more generally. As tempting as that is, it seems like too big a task. It's so much simpler to just run all the rules again.
With the prototype, so far we've been focused on validation while loading, and then #35 validating existing rows. We also need to be able to re-validate all the tables. This could be because we changed a definition of a table, column, or datatype. It could also be because we removed some rows from a table.
Although some of our validation rules are specific to a cell or a row, some of them such as
unique
,under
, andtree
necessarily span many rows, and sometimes span tables.In a perfect world we would figure out the minimum set of (re)validations that we would have to run. Spreadsheets do this, and I'm reminded of the Clojure library Javelin, and "dataflow programming" more generally. As tempting as that is, it seems like too big a task. It's so much simpler to just run all the rules again.
Still thinking about this one...