Improve Invalidation Tracker Memory Table
This change updates the in-memory table used by the invalidation
tracker to be of table_id & invalidated status, instead of version &
table_id. This improves the tracker by reducing the amount of write
operations performed by the trigger on large transactions. Instead the
trigger just flips the invalidated status to ON reducing the write
operations made by the trigger which in turns also reduces the rollback
log file.
Added a room-benchmark artifact containing a benchmark test that can
be used to demonstrate the performance improvement of this change.
Test: ./gradlew room:room-runtime:test \
room:integration-tests:testapp:cC
Change-Id: Ie9254a050d25f8d7dcdf7427f71018960a310d38
diff --git a/settings.gradle b/settings.gradle
index 2a83570..d1d04f6 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -139,6 +139,7 @@
includeProject(":room:integration-tests:autovaluetestapp", "room/integration-tests/autovaluetestapp")
includeProject(":room:integration-tests:testapp", "room/integration-tests/testapp")
includeProject(":room:integration-tests:kotlintestapp", "room/integration-tests/kotlintestapp")
+includeProject(":room:room-benchmark", "room/benchmark")
includeProject(":room:room-common", "room/common")
includeProject(":room:room-compiler", "room/compiler")
includeProject(":room:room-guava", "room/guava")