Skip to content

Walk entire database [#3301]

Ethan Reesor requested to merge 3301-walk-entire-db into main

Closes #3301 (closed). 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

Edited by Ethan Reesor

Merge request reports