Skip to content

Describe supported Tarantool versions with limitations #210

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 6 commits into from

Conversation

ligurio
Copy link
Member

@ligurio ligurio commented Sep 3, 2021

What has been done? Why? What problem is being solved?

I didn't forget about

  • Tests
  • Changelog (?)
  • Documentation

Closes #217

@ligurio ligurio marked this pull request as draft September 3, 2021 11:39
@ligurio ligurio force-pushed the ligurio/update-test-matrix branch 9 times, most recently from d1d1f57 to 1cf734f Compare September 6, 2021 14:22
@ligurio ligurio marked this pull request as ready for review September 6, 2021 15:13
@ligurio ligurio force-pushed the ligurio/update-test-matrix branch from d9f8ac3 to df83166 Compare September 6, 2021 15:15
@ligurio ligurio requested a review from Totktonada September 7, 2021 12:30
@ligurio ligurio force-pushed the ligurio/update-test-matrix branch from df83166 to c77247b Compare September 7, 2021 12:41
@ligurio
Copy link
Member Author

ligurio commented Sep 9, 2021

@Totktonada gentle reminder

README.md Outdated
Comment on lines 20 to 22
- 1.10: since 1.10.7-91-g9ee14eca5 with tuple-merger<sup>1</sup> and
tuple-keydef<sup>2</sup> modules, without UUID keys comparison and without
Jsonpath indexes
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see information about minimal tarantool version I can use with crud. It generally works without keydef and merger (built-in or external), correct? So, say, I can use it on 1.10.3 if I don't want JSON path indexes, UUID, decimal and sorting by a collation different than 'unicode' or 'unicode_ci'. Correct?

After PR #198 this rule splits to two:

  • For all functions except min/max, <..as stated above..>.
  • For min / max there is additional requirement <...>.

The compatibility guarantees were changed and I want to know how exactly. Any formal unambiguous form to present this information is okay.

@ligurio ligurio force-pushed the ligurio/update-test-matrix branch from c77247b to 46999e4 Compare September 10, 2021 16:57
@ligurio ligurio force-pushed the ligurio/update-test-matrix branch from 46999e4 to 140e7a5 Compare September 22, 2021 12:50
@ligurio ligurio changed the title Update test matrix (add 2.5 and 2.6 back) Describe supported Tarantool versions with limitations Sep 24, 2021
@ligurio ligurio force-pushed the ligurio/update-test-matrix branch 4 times, most recently from 0c4ef33 to cb17e8e Compare September 24, 2021 15:43
@filonenko-mikhail
Copy link

What is the reason to make so big information noise on the first Readme lines?

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/
Update and upsert: support JSON paths
Update: allow update absent nullable fields

1. tarantool/tarantool#1261
2. tarantool/tarantool#3378
@ligurio ligurio force-pushed the ligurio/update-test-matrix branch from 4052104 to 7226ff7 Compare December 6, 2021 18:54
@ligurio
Copy link
Member Author

ligurio commented Dec 6, 2021

@filonenko-mikhail There are many different point of views how it looks in a README. Yours is only one of these. I think that a first question which should be answered here is "why and who does need such information in a readme?" and then it should be easier to answer to yours question.

CRUD depends on different Tarantool features that were supported in different Tarantool versions. We decided to describe what CRUD features works on tarantool versions and how good this support is. Imagine you are tarantool's user and you want to start using crud on tarantool 1.10, but you dont' want to upgrade a major version. In such case you may go to our table and read that CRUD supports Tarantool since 1.10.7, it doesn't have uuid keys comparison support and doesn't have UUID support. Looks as a useful information for CRUD's users. This information available as an additional section in the README.

  1. Due to a limited support of Tarantool's features by CRUD in different Tarantool's versions we need to understand how source code of CRUD maps to support of Tarantool versions. Take a look at compat layer in repository, it is full of conditions for different versions. The goal of added table is to help us to control compat layer without pain. I think that table may be interested to a small number of users so I have added it under spoiler.

@filonenko-mikhail
Copy link

What is the plan to support such information up to date?
And if the plan is exists, why this pr still not in master?

@ligurio ligurio marked this pull request as draft March 21, 2022 15:32
@ligurio ligurio requested a review from Totktonada March 21, 2022 15:35
@ligurio ligurio closed this May 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Describe supported Tarantool versions with limitations
4 participants