Skip to content
  • Ethan Reesor's avatar
    Walk entire database [#3301] · 84e1def6
    Ethan Reesor authored
    Closes #3301. Improves `database.Record.Walk` to make it a viable way to walk the entire database (e.g. for snapshots).
    
    - Makes index-ignoring behavior optional (default off).
    - Updates set/list/value Walk implementations to avoid walking empty/non-existent records.
    - Refactors walk helpers to avoid populating the data model (otherwise a full database walk could consume excessive memory).
    - Refactors data model population to use methods instead of function literals (required for the previous point).
    - Refactors parameterized map keys to simplify the previous two points.
    - Adds methods to get keys for parameterized attributes (otherwise they can't reasonably be walked if modified = false).
    
    Changelog: fix
    84e1def6