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: forUpdate and forShareLock #148

Merged
merged 12 commits into from
Mar 14, 2024
Merged

feat: forUpdate and forShareLock #148

merged 12 commits into from
Mar 14, 2024

Conversation

BobdenOs
Copy link
Contributor

@BobdenOs BobdenOs commented Aug 2, 2023

Description

forUpdate and forShareLock was not yet supported as SQLite does not have native support for user controlled locks of any kind. Postgres can do row level locking, but the forUpdate API is defined as column level locks using the of property. This implementation tries to solve the main issue that cqn4sql points the locking queries to the localized views. Which cause Postgres to throw a SQL error as the join condition can be null which is not allowed.

db-service/lib/cqn4sql.js Show resolved Hide resolved
@BobdenOs BobdenOs marked this pull request as ready for review February 28, 2024 13:10
@johannes-vogel johannes-vogel enabled auto-merge (squash) March 14, 2024 08:41
@johannes-vogel johannes-vogel merged commit 99a1170 into main Mar 14, 2024
4 of 6 checks passed
@johannes-vogel johannes-vogel deleted the locking branch March 14, 2024 08:44
@cap-bots cap-bots mentioned this pull request Mar 14, 2024
patricebender added a commit that referenced this pull request Mar 22, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>db-service: 1.7.0</summary>

##
[1.7.0](db-service-v1.6.4...db-service-v1.7.0)
(2024-03-22)


### Added

* also support lowercase matchespattern function
([#528](#528))
([6ea574e](6ea574e))
* forUpdate and forShareLock
([#148](#148))
([99a1170](99a1170))
* **hana:** drop prepared statements after end of transaction
([#537](#537))
([b1f864e](b1f864e))
* **orderby:** allow to disable collations with
[@cds](https://github.com/cds).collate: false
([#492](#492))
([820f971](820f971))


### Fixed

* **cqn2sql:** Smart quoting of columns inside UPSERT rows
([#519](#519))
([78fe10b](78fe10b))
* deep delete for views without navigation
([#434](#434))
([3ebc9c2](3ebc9c2))
* Getting rid of quirks mode
([#514](#514))
([c9aa6e8](c9aa6e8))
* issue with reused select cqns
([#505](#505))
([916d175](916d175))
* joins without columns are rejected
([#535](#535))
([eb9beda](eb9beda))
* **search:** dont search non string aggregations
([#527](#527))
([c87900c](c87900c))
* **search:** search on aggregated results in HAVING clause
([#524](#524))
([61d348e](61d348e))
</details>

<details><summary>sqlite: 1.6.0</summary>

##
[1.6.0](sqlite-v1.5.1...sqlite-v1.6.0)
(2024-03-22)


### Added

* forUpdate and forShareLock
([#148](#148))
([99a1170](99a1170))
* **hana:** drop prepared statements after end of transaction
([#537](#537))
([b1f864e](b1f864e))


### Fixed

* **`sqlite`:** use keyword list from compiler
([#526](#526))
([a227c61](a227c61))
</details>

<details><summary>postgres: 1.6.0</summary>

##
[1.6.0](postgres-v1.5.1...postgres-v1.6.0)
(2024-03-22)


### Added

* also support lowercase matchespattern function
([#528](#528))
([6ea574e](6ea574e))
* forUpdate and forShareLock
([#148](#148))
([99a1170](99a1170))


### Changed

* use new cds build API @sap/cds-dk &gt;= 7.5.0
([#508](#508))
([ef22ebe](ef22ebe))
</details>

<details><summary>hana: 0.1.0</summary>

##
[0.1.0](hana-v0.0.6...hana-v0.1.0)
(2024-03-22)


### Added

* also support lowercase matchespattern function
([#528](#528))
([6ea574e](6ea574e))
* forUpdate and forShareLock
([#148](#148))
([99a1170](99a1170))
* **hana:** drop prepared statements after end of transaction
([#537](#537))
([b1f864e](b1f864e))


### Fixed

* **`hana`:** use keyword list from compiler
([#525](#525))
([c6993d9](c6993d9))
* **hana:** improve search inside where clause detection
([#538](#538))
([51b8af3](51b8af3))
* **hana:** reduce service manager calls for failing tenants
([#533](#533))
([e95fd17](e95fd17))
* issue with reused select cqns
([#505](#505))
([916d175](916d175))
* joins without columns are rejected
([#535](#535))
([eb9beda](eb9beda))
* mass insert for unknown entities
([#540](#540))
([f2ea4af](f2ea4af))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: Johannes Vogel <[email protected]>
Co-authored-by: Patrice Bender <[email protected]>
This was referenced Jul 18, 2024
This was referenced Jan 28, 2025
@cap-bots cap-bots mentioned this pull request Jan 28, 2025
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.

3 participants