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

tarantool / tarantool / 6671816984
88%

Build:
DEFAULT BRANCH: master
Ran 27 Oct 2023 08:26PM UTC
Jobs 1
Files 508
Run time 49s
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

27 Oct 2023 08:14PM UTC coverage: 86.334% (+0.03%) from 86.307%
6671816984

push

github

alyapunov
box: support tuple formats in IPROTO `call` and `eval` request arguments

Since tuple format cannot be created in IPROTO thread, we only save the
tuple format data and later create a tuple format map from it when
processing `call` and `eval` requests.

Closes #8633

@TarantoolBot document
Title: Tuple formats in IPROTO

New MsgPack extension was added, `MP_TUPLE`, which is used exclusively
in IPROTO. It has the following structure:
+----------+-----------------+----------+
|MP_EXT = 7|      MP_UINT    | MP_ARRAY |
+----------+-----------------+----------+
            ^                 ^
            format identifier tuple data

New IPROTO features were added:
* `IPROTO_FEATURE_DML_TUPLE_EXTENSION = 7` — tuples in `IPROTO_DATA` are
   encoded as `MP_TUPLE` and tuple format is sent in response to DML
   requests.
* `IPROTO_FEATURE_CALL_RET_TUPLE_EXTENSION = 8` —tuples in `IPROTO_DATA`
  are encoded as `MP_TUPLE` and tuple format is sent in response to `call`
  and `eval` requests.
* `IPROTO_FEATURE_CALL_ARG_TUPLE_EXTENSION = 9` — tuples in `IPROTO_TUPLE`
  of `call` and `eval` requests are encoded as `MP_TUPLE` with their
  formats encoded as described below.

The `IPROTO_FEATURE_DML_TUPLE_EXTENSION` feature can be enabled in
`net.box` by setting the `fetch_schema` option to `false` when creating a
new connection.

A new IPROTO key for bodies of responses with data and bodies of `call` and
`eval` requests: `IPROTO_TUPLE_FORMATS = 0x60` — a `MP_MAP` consisting of
`MP_UINT` keys (format identifiers) and `MP_STRING` values (tuple format
clauses).

A new backward compatibility option was added (and a new page,
`https://tarantool.io/compat/box_tuple_extension`, needs to be created for
it): `BOX_TUPLE_EXTENSION_BRIEF` — it controls the
`IPROTO_FEATURE_CALL_RET_TUPLE_EXTENSION` and
`IPROTO_FEATURE_CALL_ARG_TUPLE_EXTENSION` feature bits. It was added for
clients that assume to receive `MP_ARRAY`s in `call` and `eval` requests
arguments and response data.

Pleas... (continued)

65311 of 117558 branches covered (0.0%)

53 of 53 new or added lines in 4 files covered. (100.0%)

97247 of 112641 relevant lines covered (86.33%)

2656950.07 hits per line

Jobs
ID Job ID Ran Files Coverage
1 6671816984.1 27 Oct 2023 08:26PM UTC 0
86.33
GitHub Action Run
Source Files on build 6671816984
Detailed source file information is not available for this build.
  • Back to Repo
  • d79e7a3c on github
  • Prev Build on master (#6669417289)
  • Next Build on master (#6706099968)
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