Overview
This release offers support of a space / an index names in requests. We also
support update
and upsert
operations that use field names. See details
below.
Breaking changes
This release should not break existing code.
New features
Space / index names
Supported requests using a space / an index name in addition to a numeric
identifier (#7, #137).
Say, the following request:
client.syncOps().select(512, 0, Collections.singletonList(1),
0, 1, Iterator.EQ);
Now can be written in this way:
client.syncOps().select("my_space", "primary", Collections.singletonList(1),
0, 1, Iterator.EQ);
The client now keeps an actual schema on its side and guarantees that space /
index names are always resolved against an actual schema (not older than
server's schema at the moment when a request is registered on the client).
Consider String space/index resolution for details how schema reload
works.
Field names
Aside of that we verified that update
and upsert
operations with field
names work correctly with the connector (at least in 1.9.3 and 1.9.4
versions). This feature was introduced in tarantool-2.3.0-72-g9ee5cf82a
(#220).
Say, when a space has the following format:
tarantool> unpack(box.space.my_space:format())
---
- {'name': 'id', 'type': 'unsigned'}
- {'name': 'value', 'type': 'string'}
...
The following request:
client.syncOps().update("my_space", Collections.singletonList(1),
Arrays.asList("=", 2, "hello"));
Can be written in this way (when using tarantool-2.3.0.72 or above):
client.syncOps().update("my_space", Collections.singletonList(1),
Arrays.asList("=", "value", "hello"));
Consider the documentation issue for more information about this feature.