Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix for removing old indexes when resource is updated #1840

Merged
merged 5 commits into from
Feb 6, 2023

Conversation

aditya-07
Copy link
Collaborator

IMPORTANT: All PRs must be linked to an issue (except for extremely trivial and straightforward changes).

Fixes #1825

Description
Issue: Updating resource via FhirEngine.update api doesn't delete previous indexes.

Solution: In the database, for the ResourceEntity do Insert instead of Update as it results in the Deletion of old ResourceEntity (based on ConflictStrategy) that causes of its IndexEntities to get deleted as well based on their ForeignKey constrain.

Alternative(s) considered
Have you considered any alternatives? And if so, why have you chosen the approach in this PR?

The other approach is to have a Unique Index for each IndexEntity that will Delete it based on the insert*Index's OnConflictStrategy.

Proposed solution is inline with how we handle updates for remote updates.

Type
Choose one: Bug fix
Screenshots (if applicable)

Checklist

  • I have read and acknowledged the Code of conduct.
  • I have read the Contributing page.
  • I have signed the Google Individual CLA, or I am covered by my company's Corporate CLA.
  • I have discussed my proposed solution with code owners in the linked issue(s) and we have agreed upon the general approach.
  • I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the style guide of this project.
  • I have run ./gradlew check and ./gradlew connectedCheck to test my changes locally.
  • I have built and run the demo app(s) to verify my change fixes the issue and/or does not break the demo app(s).

Copy link
Collaborator

@jingtang10 jingtang10 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing this!

@aditya-07 aditya-07 enabled auto-merge (squash) February 6, 2023 07:13
@aditya-07 aditya-07 merged commit c0d809c into google:master Feb 6, 2023
omarismail94 added a commit that referenced this pull request Aug 16, 2023
…h type reference (#2065)

* set the initial value using the initial expression extension for reference type

* Allow developers to add custom search parameter to the engine. (#1778)

* Added custom search paramter.

* Review changes : Injecting ResourceIndexer into ResourceDao

* Show submit button in review mode. (#1826)

* Show submit button in review mode

* Added tests

* Review comments: Updated the fragment result listener to check explicit result values

* Fix for removing old indexes when resource is updated (#1840)

* Fix for removing old indexes when resource is updated

* Added comments

* add datacapture config in demo app

* Fix dropdown initial selection for answerOptions of type Reference

Sometimes choiceColumn evaluated to similar 'display' text across many options, and the autocompletetextview text would get set to null

* Support expression evaluating to ResourceType for items of type Reference

* Update autocompleteTextView to check answerId

* Add AutoCompleteViewHolderFactory ui tests

* Fix failing tests for AutoCompleteViewHolderFactory

* Refactor MoreTypes.kt to remove duplications

Co-authored-by: Omar Ismail <[email protected]>

* Refactor evaluation of questionnaireItem initial value

* Fix AutoCompleteTextViewFactory espresso test failing in api 24

---------

Co-authored-by: omarismail <[email protected]>
Co-authored-by: aditya-07 <[email protected]>
Co-authored-by: Omar Ismail <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Complete
Development

Successfully merging this pull request may close these issues.

Old and outdated resource indexes still present in the database
3 participants