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

tarantool / tarantool / 14306176422

07 Apr 2025 09:50AM UTC coverage: 87.484% (+0.006%) from 87.478%
14306176422

push

github

locker
box: release array and schema in box_insert_arrow

According to the documentation to the Apache Arrow C data interface:

> Consumers MUST call a base structure’s release callback when they
> won’t be using it anymore[^1]

`box_insert_arrow()` is clearly a consumer so it must move or release
the input Arrow array and schema to conform to the specification while
currently it does not. This patch fixes this issue.

Note that for performance reasons (to avoid extra copying), the engine
callback that implements batch insertion should be allowed to move the
input Arrow array and schema to a private location. To allow for that,
we have to move the code that encodes the input Arrow in the IPC format
for xlog from `txn_add_redo()` to `space_execute_insert_arrow()`.

Closes #11338

[^1]: https://arrow.apache.org/docs/format/CDataInterface.html#release-callback-semantics-for-consumers

NO_DOC=bug fix
NO_CHANGELOG=batch insertion isn't implemented in CE

(cherry picked from commit bf5bce363)

69941 of 123821 branches covered (56.49%)

17 of 20 new or added lines in 3 files covered. (85.0%)

55 existing lines in 21 files now uncovered.

102971 of 117703 relevant lines covered (87.48%)

2173842.46 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

90.51
/src/box/engine.c


Source Not Available

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