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

Issue/247 Duplicate Resources #249

Closed
wants to merge 6 commits into from
Closed

Conversation

hhund
Copy link
Member

@hhund hhund commented Nov 19, 2024

  • Adds check to make sure StructureDefinitions define a base definition

  • Fixes transaction bundle error message

  • Code cleanup

  • Unique constraints implemented as constraint trigger run after insert

  • Constraint trigger functions use postgres advisory transaction locks to ensure uniqueness checks are not executed in parallel

  • Transaction isolation level of insert/update operations changed from repeatable read to read committed, enabling dirty reads needed to allow constraint triggers to see inserts/updates executed by parallel running transactions

  • New integration test to validate parallel create operations via transaction and batch bundles as well as direct POSTs

  • TODO: Delete queries to cleanup duplicate resources from production DBs

closes #247

* Unique constraints implemented as constraint trigger run after insert
* Constraint trigger functions use postgres advisory transaction locks
to ensure uniqueness checks are not executed in parallel
* Transaction isolation level of insert/update operations changed from
repeatable read to read committed, enabling dirty reads needed to allow
constraint triggers to see inserts/updates executed by parallel running
transactions
* New integration test to validate parallel create operations via
transaction and batch bundles as well as direct POSTs
@hhund hhund added this to the 1.6.1 milestone Nov 19, 2024
@hhund hhund self-assigned this Nov 19, 2024

void checkDeleteAllowed(int index, Connection connection, Identity identity, Resource oldResource);
void checkDeleteAllowed(int index, Connection connection, Identity identity, Resource oldResource)

Check notice

Code scanning / CodeQL

Useless parameter Note

The parameter 'connection' is never used.
testCreateDuplicatesParallel(createOperation, createOperation, resourceDaoType, createdResourceMatcher);
}

private <R extends Resource> void testCreateDuplicatesParallel(Runnable createOperation1, Runnable createOperation2,

Check notice

Code scanning / CodeQL

Useless parameter Note test

The parameter 'createOperation2' is never used.
@hhund
Copy link
Member Author

hhund commented Nov 20, 2024

closed to rename branch

@hhund hhund closed this Nov 20, 2024
@hhund hhund deleted the 247_Duplicate_Resources branch November 20, 2024 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant