• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tarantool / tarantool / 8570033295
88%

Build:
DEFAULT BRANCH: master
Ran 05 Apr 2024 12:59PM UTC
Jobs 1
Files 513
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

05 Apr 2024 12:47PM UTC coverage: 87.053% (+0.008%) from 87.045%
8570033295

push

github

sergepetrenko
box: forbid TCL statements in transactional triggers

User is not allowed to execute TCL statements in on_commit and
on_rollback triggers - it is documented UB. However, this prohibition
can be easily overseen: one could, for example, try to rollback current
transaction if something is not OK in on_commit trigger. So let's check
if TCL statements are not executed in transactional triggers.

The commit introduces a new helper `txn_check_can_complete` - it is
required because there are cases when transaction cannot be continued
(txn_check_can_continue will return error) but it's allowed to try to
commit or rollback it. Example: when MVCC aborts a transaction due to
conflict, the result is not observed by user. So he cannot execute new
statements in the transaction, but we cannot forbid to try to commit
the transaction - only then the error will be observed and the
transaction will be actually completed (rolled back due to conflict).
But after the attempt to commit the transaction, we must forbid to
try to complete it again - it will lead to UB.

Along the way, the commit removes unnecessary check in function
`box_txn_rollback`.

Closes #7331

NO_DOC=bugfix

67243 of 119649 branches covered (56.2%)

18 of 18 new or added lines in 2 files covered. (100.0%)

65 existing lines in 18 files now uncovered.

99926 of 114788 relevant lines covered (87.05%)

2431751.98 hits per line

Jobs
ID Job ID Ran Files Coverage
1 8570033295.1 05 Apr 2024 01:00PM UTC 0
87.05
GitHub Action Run
Source Files on build 8570033295
Detailed source file information is not available for this build.
  • Back to Repo
  • de80e026 on github
  • Prev Build on master (#8557537761)
  • Next Build on master (#8616810253)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc