Each KnoxShellTable instance goes through a number of builders, filters, sorts, etc in order to get to their final state.
Currently, those builder classes just go out of scope as they complete and return the resulting table.
This JIRA represents the thought of recording them in an ArrayList within the table so that we could do a number of interesting things:
- persist JSON representation that doesn't require the actual data
- materialize tables from that persisted state by replaying the builders in order
- possibly undo or rollback to a previous state
- possibly providing interesting provenance capabilities with confidence factors based on sources
Interesting challenges here will be when authentication is required for a SQL query in the JDBC builder or in accessing data accessed through Knox gateway instances.