feat(rtdb): create suspend function to run transactions
This is the implementation of go/rtdb-transaction-ktx which proposes an out-of-the-box suspend function for developers to run transactions on the Realtime Database.
TODO:
- [ ] Write unit tests
Coverage Report 1
Affected Products
No changes between base commit (7c277af) and merge commit (1df6665).Test Logs
- Base (7c277af): https://android-ci.firebaseopensource.com/view/gcs/android-ci/logs/postsubmit-check-coverage/1550150268392312832
- Merge (1df6665): https://android-ci.firebaseopensource.com/view/gcs/android-ci/pr-logs/pull/firebase_firebase-android-sdk/3931/check-coverage-changed/1550167128953327619
Notes
- Commit (1df6665) is created by Prow via merging PR base commit (7c277af) and head commit (1aa5a10).
- Run
gradle <product>:checkCoverageto produce HTML coverage reports locally. After gradle commands finished, report files can be found under<product-build-dir>/reports/jacoco/.
The public api surface has changed for the subproject firebase-database_ktx: error: Added method com.google.firebase.database.ktx.DatabaseKt.runTransaction(com.google.firebase.database.DatabaseReference,boolean,kotlin.jvm.functions.Function1<? super com.google.firebase.database.MutableData,? extends com.google.firebase.database.Transaction.Result>,kotlin.coroutines.Continuation<? super error.NonExistentClass>) [AddedMethod]
The public api surface has changed for the subproject firebase-database_ktx_api.txt:
Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.
The public api surface has changed for the subproject firebase-database_ktx_api.txt:
Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.
@thatfiredev: The following tests failed, say /retest to rerun them all:
| Test name | Commit | Details | Rerun command |
|---|---|---|---|
| api-information | 1aa5a10c4099af6b311009553b8be6033c20f244 | link | /test api-information |
| binary-size | 1aa5a10c4099af6b311009553b8be6033c20f244 | link | /run binary-size |
| smoke-tests | 0221122ab8baee677a99dbfab2bfa8c81c55f6c3 | link | /test smoke-tests |
| check-coverage-changed | 0221122ab8baee677a99dbfab2bfa8c81c55f6c3 | link | /test check-coverage-changed |
| check-changed | 0221122ab8baee677a99dbfab2bfa8c81c55f6c3 | link | /test check-changed |
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.