Commits


Thomas Bouldin authored and GitHub committed 90e4522e66a
[Feature launch] Re-add increment operator (#5149) * Definition is currently in an "unreleased" extension to FIRServerValues * Tests are added to FData.m (integration tests) * Some tests are renamed to make it clear that ServerValues != timestamps * Functions that resolve server values now need access to any existing snapshot. This is done with lazy evaluation as described below: Based on fix https://github.com/firebase/firebase-js-sdk/pull/2499 to bug https://github.com/firebase/firebase-js-sdk/issues/2487 Micro-benchmarking showed that N writes in succession led to N^2 performance when calculating the resolved write tree for those writes (thankfully only at the subpath in this SDK). Lazy evaluation of current data matches the optimization in JS that mitigated a 20% performance regression.