Skip to content

Commit ed04684

Browse files
committed
Describe supported Tarantool versions with limitations
For those who interested to dig to a topic himself I recommend to start with: - search using of helper functions like utils.tarantool_supports_* in source code base - search conditions with `_TARANTOOL` in source codebase - supported Tarantool versions by tuple-keydef module [1] - supported Tarantool versions by tuple-merger module [2] - source code for compatibility layer in CRUD - "Select: support jsonpath indexes (#158)" (27d825f) - JSON paths support in Tarantool [3] - release notes 1. https://github.com/tarantool/tuple-keydef#compatibility 2. https://github.com/tarantool/tuple-merger#backward-and-forward-compatibility-guarantees 3. https://www.tarantool.io/en/doc/latest/reference/reference_lua/json_paths/ 4. https://www.tarantool.io/en/doc/latest/release/
1 parent 9a5427e commit ed04684

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed

README.md

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,100 @@ The `CRUD` module allows to perform CRUD operations on the cluster.
88
It also provides the `crud-storage` role for
99
[Tarantool Cartridge](https://github.com/tarantool/cartridge).
1010

11+
# Supported Tarantool versions
12+
13+
CRUD depends on Tarantool features like key_def, merger, UUID modules and JSON
14+
paths support. We do our best to provide uniform support for all supported
15+
Tarantool version with help of compatibility layer, runtime feature detection
16+
etc. but anyway some Tarantool versions has limited support in CRUD. Please
17+
consult with a list below to choose a Tarantool version compatible with CRUD
18+
module before use:
19+
20+
- 1.10: since 1.10.7-91-g9ee14eca5 with tuple-merger and tuple-keydef modules
21+
and without UUID keys comparison
22+
- 2.2: since 2.2.0-268-gc7915eccd with key_def and merger modules and without
23+
UUID keys comparison
24+
- 2.3: since 2.3.2-99-g487289ad2 with key_def and merger modules and without
25+
UUID keys comparison
26+
- 2.5: since 2.5.0-275-g9be50ae74 with key_def and merger modules
27+
- 2.6: since 2.6.2-99-gf92b9e21
28+
- 2.7: since 2.7.1-102-g84edc33fb
29+
- 2.8: since 2.8.0-113-gb3d4648d8
30+
31+
For more information see the table below that describes Tarantool's versions
32+
and features for what CRUD module depends on:
33+
34+
| Branch | merger | tuple-merger | key_def | tuple-keydef | UUID | JSON paths |
35+
|--------|----------------------------------|----------------------|--------------|----------------------|--------------|-----------------------|
36+
| 1.10 | Unsupported | 1.10.7-91-g9ee14eca5 | Unsupported | 1.10.7-85-g840c13293 | Unsupported | Unsupported |
37+
| 2.2 | 2.2.0-268-gc7915eccd | Unsupported | All versions | Unsupported | Unsupported | Unsupported |
38+
| 2.3 | 2.3.2-99-g487289ad2<sup>1</sup> | Unsupported | All version | Unsupported | Unsupported | Unsupported |
39+
| 2.5 | 2.5.0-275-g9be50ae74<sup>1</sup> | 2.5.1-150-g98ff9aae0 | All version | 2.5.1-145-geea90d7ce | All versions | Unsupported |
40+
| 2.6 | All versions | 2.6.0-193-g3dc6a76c8 | All version | 2.6.0-188-g4a12985f1 | All versions | 2.6.2-99-gf92b9e21 |
41+
| 2.7 | All versions | All versions | All version | All versions | All versions | 2.7.1-102-g84edc33fb |
42+
| 2.8 | All versions | All versions | All version | All versions | All versions | 2.8.0-113-gb3d4648d8 |
43+
44+
1. Due to Tarantool's SEGFAULT, see
45+
https://github.com/tarantool/tarantool/issues/4954. For Tarantool versions
46+
higher 2.x and lower 2.3.3 CRUD uses another implementation of select module,
47+
see `crud/select/compat/select_old.lua`.
48+
49+
<!--
50+
- 1.10
51+
- tuple-keydef: since 1.10.7-85-g840c13293
52+
- tuple-merger: since 1.10.7-91-g9ee14eca5
53+
- key_def: since 2.2.0-255-g22db9c264
54+
- merger: TODO
55+
- JSON paths: since 1.10.0-132-g658c8d852
56+
- UUID: TODO
57+
- 2.2
58+
- tuple-keydef: unsupported
59+
- tuple-merger: unsupported
60+
- key_def: introduced in 2.2.0-255-g22db9c264, but use is blocked till 2.2.2
61+
due to https://github.com/tarantool/tarantool/issues/3398
62+
- merger: TODO
63+
- JSON paths: TODO
64+
- UUID: TODO
65+
- 2.3
66+
- tuple-keydef: unsupported
67+
- tuple-merger: unsupported
68+
- key_def: since 2.2.0-255-g22db9c264
69+
- merger: since 2.3.3 due to Tarantool's SEGFAULT, see
70+
https://github.com/tarantool/tarantool/issues/4954. For Tarantool versions
71+
higher 2.x and lower 2.3.3 CRUD uses another implementation of select
72+
module, see `crud/select/compat/select_old.lua`.
73+
- JSON paths: TODO
74+
- UUID: TODO
75+
- 2.5
76+
- tuple-keydef: since 2.5.1-145-geea90d7ce
77+
- tuple-merger: since 2.5.1-150-g98ff9aae0
78+
- key_def: since 2.2.0-255-g22db9c264
79+
- merger: TODO
80+
- JSON paths: TODO
81+
- UUID: TODO
82+
- 2.6
83+
- tuple-keydef: since 2.6.0-188-g4a12985f1
84+
- tuple-merger: since 2.6.0-193-g3dc6a76c8
85+
- key_def: since 2.2.0-255-g22db9c264
86+
- merger: TODO
87+
- JSON paths: since 2.6.3 (according to comment in CRUD source code)
88+
- UUID: TODO
89+
- 2.7
90+
- tuple-keydef: all versions
91+
- tuple-merger: all versions
92+
- key_def: since 2.2.0-255-g22db9c264
93+
- merger: TODO
94+
- JSON paths: since 2.7.2 (according to comment in CRUD source code)
95+
- UUID: TODO
96+
- 2.8
97+
- tuple-keydef: all versions
98+
- tuple-merger: all versions
99+
- key_def: since 2.2.0-255-g22db9c264
100+
- merger: TODO
101+
- JSON paths: since 2.8.1 (according to comment in CRUD source code)
102+
- UUID: TODO
103+
-->
104+
11105
## API
12106

13107
The CRUD operations should be called from router.

0 commit comments

Comments
 (0)