Skip to content

box: export txn savepoint symbols#11903

Merged
sergepetrenko merged 1 commit intotarantool:masterfrom
drewdzzz:box_txn_svp_c_api
Oct 10, 2025
Merged

box: export txn savepoint symbols#11903
sergepetrenko merged 1 commit intotarantool:masterfrom
drewdzzz:box_txn_svp_c_api

Conversation

@drewdzzz
Copy link
Contributor

@drewdzzz drewdzzz commented Oct 8, 2025

When txn savepoint machinery was implemented, its functions were marked with API_EXPORT qualifier and they were added to extra/exports list. However, they were decalred out of cond public scope, so they weren't exported actually - the commit fixes that mistake.

Along the way, the commit covers exported functions controlling transaction flow with tests.

Closes #11731

@drewdzzz drewdzzz requested a review from a team as a code owner October 8, 2025 11:29
@drewdzzz
Copy link
Contributor Author

drewdzzz commented Oct 8, 2025

Are we going to back port this fix? To which version will it be backported (I will update doc request accordingly).

@drewdzzz drewdzzz force-pushed the box_txn_svp_c_api branch 2 times, most recently from f607c3b to 914333d Compare October 8, 2025 11:45
@sergepetrenko
Copy link
Collaborator

@drewdzzz, this is a bugfix, so it should go to all currently supported versions. That is, 3.2 and newer

@sergepetrenko sergepetrenko added backport/3.2 Automatically create a 3.2 backport PR backport/3.3 Automatically create a 3.3 backport PR backport/3.4 Automatically create a 3.4 backport PR backport/3.5 Automatically create a 3.5 backport PR labels Oct 8, 2025
@coveralls
Copy link

coveralls commented Oct 8, 2025

Coverage Status

coverage: 87.61% (-0.02%) from 87.633%
when pulling 18e8835 on drewdzzz:box_txn_svp_c_api
into 940559a
on tarantool:master
.

@Gumix Gumix removed their assignment Oct 8, 2025
@drewdzzz
Copy link
Contributor Author

drewdzzz commented Oct 8, 2025

@sergepetrenko updated doc request:

Since: 3.2.3, 3.3.4, 3.4.2, 3.5.1, 3.6.0

I hope doc team won't be confused...

When txn savepoint machinery was implemented, its functions were marked
with API_EXPORT qualifier and they were added to `extra/exports` list.
However, they were decalred out of `cond public` scope, so they weren't
exported actually - the commit fixes that mistake.

Along the way, the commit covers exported functions controlling
transaction flow with tests.

Closes tarantool#11731

@TarantoolBot document

Title: Fix txn savepoint methods in C API
Since: 3.2.3, 3.3.4, 3.4.2, 3.5.1, 3.6.0

Current documentation contains incorrect definitions of savepoint
related functions. The correct ones are:

```c
API_EXPORT box_txn_savepoint_t *
box_txn_savepoint(void);

API_EXPORT int
box_txn_rollback_to_savepoint(box_txn_savepoint_t *savepoint);
```

Also, these functions were not exported by mistake. So we should delete
them from docs of old Tarantool versions or write a note explaining that
these methods were forgotten and one can find them in newer versions.
Copy link
Collaborator

@sergepetrenko sergepetrenko 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 the fix!

@@ -0,0 +1,4 @@
## bugfix/box
Copy link
Collaborator

Choose a reason for hiding this comment

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

we use /core instead of /box in the changelogs now.

@sergepetrenko sergepetrenko added the full-ci Enables all tests for a pull request label Oct 10, 2025
@sergepetrenko sergepetrenko merged commit 8a1dad8 into tarantool:master Oct 10, 2025
59 checks passed
@TarantoolBot
Copy link
Collaborator

Backport failed for release/3.2, because it was unable to cherry-pick the commit(s).

Please cherry-pick the changes locally and resolve any conflicts.

git fetch origin release/3.2
git worktree add -d .worktree/backport/release/3.2/11903 origin/release/3.2
cd .worktree/backport/release/3.2/11903
git switch --create backport/release/3.2/11903
git cherry-pick -x 8a1dad8aa00c16d8c48722533e77ff7640398623

@TarantoolBot
Copy link
Collaborator

Backport failed for release/3.3, because it was unable to cherry-pick the commit(s).

Please cherry-pick the changes locally and resolve any conflicts.

git fetch origin release/3.3
git worktree add -d .worktree/backport/release/3.3/11903 origin/release/3.3
cd .worktree/backport/release/3.3/11903
git switch --create backport/release/3.3/11903
git cherry-pick -x 8a1dad8aa00c16d8c48722533e77ff7640398623

@TarantoolBot
Copy link
Collaborator

Backport failed for release/3.4, because it was unable to cherry-pick the commit(s).

Please cherry-pick the changes locally and resolve any conflicts.

git fetch origin release/3.4
git worktree add -d .worktree/backport/release/3.4/11903 origin/release/3.4
cd .worktree/backport/release/3.4/11903
git switch --create backport/release/3.4/11903
git cherry-pick -x 8a1dad8aa00c16d8c48722533e77ff7640398623

@TarantoolBot
Copy link
Collaborator

Successfully created backport PR for release/3.5:

@TarantoolBot
Copy link
Collaborator

Backport summary

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport/3.2 Automatically create a 3.2 backport PR backport/3.3 Automatically create a 3.3 backport PR backport/3.4 Automatically create a 3.4 backport PR backport/3.5 Automatically create a 3.5 backport PR full-ci Enables all tests for a pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

savepoint-related functions are not available via C API

6 participants