Skip to content

Conversation

@Gozala
Copy link
Contributor

@Gozala Gozala commented Jun 25, 2025

Current implementation draft of the transaction API.


Summary by cubic

Introduced a new memory transaction API that enables consistent, multi-space read and single-space write operations with commit and abort support.

  • New Features
    • Added IStorageManagerV2 and IStorageTransaction interfaces for transactional memory operations.
    • Implemented transaction lifecycle management, including commit, abort, and consistency checks.
    • Provided transaction readers and writers for safe, isolated access to memory spaces.

Copy link
Contributor

@seefeldb seefeldb left a comment

Choose a reason for hiding this comment

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

Looks great already.

path.slice(0, at).join(".")
}" in "${address.space}", because target is not an object`,
)
: new NotFound(
Copy link
Contributor

Choose a reason for hiding this comment

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

should this be a different error type?

or maybe add a field to the error that has an optional path that if the document did exist, it shows what part of the path matched (so the reader can use that as hint from where on the construct things)

@ellyxir
Copy link
Contributor

ellyxir commented Jul 3, 2025

can we link to ticket in linear?

@Gozala Gozala marked this pull request as ready for review July 3, 2025 22:09
@Gozala Gozala merged commit a752c50 into main Jul 3, 2025
7 checks passed
@Gozala Gozala deleted the feat/memory-transaction branch July 3, 2025 22:27
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.

4 participants