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

feat: Add atomic operations for Cloud Config parameters #9219

Merged
merged 3 commits into from
Jul 18, 2024

Conversation

dplewis
Copy link
Member

@dplewis dplewis commented Jul 17, 2024

Pull Request

Issue

Atomic operations aren't supported for Cloud Config

Closes: #8649

Approach

Skip sanitization of db results since it can't handle dot notation on atomic operations when using upsert. We aren't returning the results to the client anyway so it can be skipped.

await Parse.Config.save({ number: { __op: 'Increment', amount: 10 } });

Cloud Config uses dot notation to save data. Postgres only supports increment on dot notation currently.

Copy link

Thanks for opening this pull request!

@dplewis dplewis changed the title feat:Add atomic operations for Cloud Config parameters feat: Add atomic operations for Cloud Config parameters Jul 17, 2024
Copy link

codecov bot commented Jul 17, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 93.46%. Comparing base (69aba3b) to head (958ca9e).
Report is 39 commits behind head on alpha.

Additional details and impacted files
@@           Coverage Diff           @@
##            alpha    #9219   +/-   ##
=======================================
  Coverage   93.46%   93.46%           
=======================================
  Files         186      186           
  Lines       14762    14762           
=======================================
  Hits        13797    13797           
  Misses        965      965           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@mtrezza
Copy link
Member

mtrezza commented Jul 17, 2024

Does that mean atomic operations were already working?

@dplewis
Copy link
Member Author

dplewis commented Jul 17, 2024

Does that mean atomic operations were already working?

They cause an internal server error

@dplewis dplewis requested a review from a team July 18, 2024 00:09
Copy link
Member

@mtrezza mtrezza left a comment

Choose a reason for hiding this comment

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

Looks good!

@mtrezza mtrezza merged commit 35cadf9 into parse-community:alpha Jul 18, 2024
27 checks passed
parseplatformorg pushed a commit that referenced this pull request Jul 18, 2024
# [7.3.0-alpha.4](7.3.0-alpha.3...7.3.0-alpha.4) (2024-07-18)

### Features

* Add atomic operations for Cloud Config parameters ([#9219](#9219)) ([35cadf9](35cadf9))
@parseplatformorg
Copy link
Contributor

🎉 This change has been released in version 7.3.0-alpha.4

@parseplatformorg parseplatformorg added the state:released-alpha Released as alpha version label Jul 18, 2024
@dplewis dplewis deleted the config-atomic-op branch July 18, 2024 01:27
parseplatformorg pushed a commit that referenced this pull request Oct 3, 2024
# [7.3.0-beta.1](7.2.0...7.3.0-beta.1) (2024-10-03)

### Bug Fixes

* Custom object ID allows to acquire role privileges ([GHSA-8xq9-g7ch-35hg](GHSA-8xq9-g7ch-35hg)) ([#9317](#9317)) ([13ee52f](13ee52f))
* Parse Server `databaseOptions` nested keys incorrectly identified as invalid ([#9213](#9213)) ([77206d8](77206d8))
* Parse Server installation fails due to post install script incorrectly parsing required min. Node version ([#9216](#9216)) ([0fa82a5](0fa82a5))
* Parse Server option `maxLogFiles` doesn't recognize day duration literals such as `1d` to mean 1 day ([#9215](#9215)) ([0319cee](0319cee))
* Security upgrade path-to-regexp from 6.2.1 to 6.3.0 ([#9314](#9314)) ([8b7fe69](8b7fe69))

### Features

* Add atomic operations for Cloud Config parameters ([#9219](#9219)) ([35cadf9](35cadf9))
* Add Cloud Code triggers `Parse.Cloud.beforeSave` and `Parse.Cloud.afterSave` for Parse Config ([#9232](#9232)) ([90a1e4a](90a1e4a))
* Add Node 22 support ([#9187](#9187)) ([7778471](7778471))
* Add support for asynchronous invocation of `FilesAdapter.getFileLocation` ([#9271](#9271)) ([1a2da40](1a2da40))
@parseplatformorg
Copy link
Contributor

🎉 This change has been released in version 7.3.0-beta.1

@parseplatformorg parseplatformorg added the state:released-beta Released as beta version label Oct 3, 2024
parseplatformorg pushed a commit that referenced this pull request Oct 3, 2024
# [7.3.0](7.2.0...7.3.0) (2024-10-03)

### Bug Fixes

* Custom object ID allows to acquire role privileges ([GHSA-8xq9-g7ch-35hg](GHSA-8xq9-g7ch-35hg)) ([#9317](#9317)) ([13ee52f](13ee52f))
* Parse Server `databaseOptions` nested keys incorrectly identified as invalid ([#9213](#9213)) ([77206d8](77206d8))
* Parse Server installation fails due to post install script incorrectly parsing required min. Node version ([#9216](#9216)) ([0fa82a5](0fa82a5))
* Parse Server option `maxLogFiles` doesn't recognize day duration literals such as `1d` to mean 1 day ([#9215](#9215)) ([0319cee](0319cee))
* Security upgrade path-to-regexp from 6.2.1 to 6.3.0 ([#9314](#9314)) ([8b7fe69](8b7fe69))

### Features

* Add atomic operations for Cloud Config parameters ([#9219](#9219)) ([35cadf9](35cadf9))
* Add Cloud Code triggers `Parse.Cloud.beforeSave` and `Parse.Cloud.afterSave` for Parse Config ([#9232](#9232)) ([90a1e4a](90a1e4a))
* Add Node 22 support ([#9187](#9187)) ([7778471](7778471))
* Add support for asynchronous invocation of `FilesAdapter.getFileLocation` ([#9271](#9271)) ([1a2da40](1a2da40))
@parseplatformorg
Copy link
Contributor

🎉 This change has been released in version 7.3.0

@parseplatformorg parseplatformorg added the state:released Released as stable version label Oct 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
state:released Released as stable version state:released-alpha Released as alpha version state:released-beta Released as beta version
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add atomic operations for Cloud Config parameters
3 participants