DB query swapping to file system
First implement plain save and restore batch operations, later on swapping.
-
Simple save / restore of basic low-level queries - After e460fd6f, the system will do nothing unless query saving is enabled by specifying
-Dorg.simantics.db.persistQueries=true
for the application
- After e460fd6f, the system will do nothing unless query saving is enabled by specifying
-
Consider how to support (de)serialization of higher-level composed queries, what is possible? -
Swapping logic for low-level queries -
Gracefully handle potential failures while serializing queries to avoid writing (and reading!) corrupt cache files -
Consider how to minimize the amount of files created by this feature - The current save/restore implementation writes one cache file per cluster, which can potentially bloat the workspace cache directory so that
- workspaces become slow to operate (copy, delete, backup, ...) due to the amount of files in them
- having tons of files also hurts accumulated (de)serialization time as well compared to just having a single file
- The current save/restore implementation writes one cache file per cluster, which can potentially bloat the workspace cache directory so that