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

tarantool / tarantool / 9127363977
88%

Build:
DEFAULT BRANCH: master
Ran 17 May 2024 11:31AM 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

17 May 2024 11:16AM UTC coverage: 87.103% (+0.002%) from 87.101%
9127363977

push

github

locker
vinyl: fix bug when tuple not committed to unique nullable index

A unique nullable key definition extended with primary key parts
(cmp_def) assumes that two tuples are equal *without* comparing
primary key fields if all secondary key fields are equal and not
nulls, see tuple_compare_slowpath(). This is a hack required to
ignore the uniqueness constraint for nulls in memtx. The memtx
engine can't use the secondary key definition as is (key_def) for
comparing tuples in the index tree, as it does for a non-nullable
unique index, because this wouldn't allow insertion of any
duplicates, including nulls. It couldn't use cmp_def without this
hack, either, because then conflicting tuples with the same
secondary key fields would always compare as not equal due to
different primary key parts.

For Vinyl, this hack isn't required because it explicitly skips
the uniqueness check if any of the indexed fields are nulls, see
vy_check_is_unique_secondary(). Furthermore, this hack is harmful
because Vinyl relies on the fact that two tuples compare as equal by
cmp_def if and only if *all* key fields (both secondary and primary)
are equal. For example, this is used in the transaction manager,
which overwrites statements equal by cmp_def, see vy_tx_set_entry().

Let's disable this hack by resetting unique_part_count in cmp_def.

Closes #9769

NO_DOC=bug fix

67431 of 119853 branches covered (56.26%)

1 of 0 new or added lines in 0 files covered. (NaN%)

31 existing lines in 11 files now uncovered.

100162 of 114993 relevant lines covered (87.1%)

2404166.2 hits per line

Jobs
ID Job ID Ran Files Coverage
1 9127363977.1 17 May 2024 11:31AM UTC 0
87.1
GitHub Action Run
Source Files on build 9127363977
Detailed source file information is not available for this build.
  • Back to Repo
  • 2e689063 on github
  • Prev Build on master (#9126517782)
  • Next Build on master (#9127740030)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc