Skip to content
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

Select: jsonpath indexes #158

Merged
merged 28 commits into from
Jun 22, 2021
Merged

Select: jsonpath indexes #158

merged 28 commits into from
Jun 22, 2021

Conversation

mRrvz
Copy link
Contributor

@mRrvz mRrvz commented May 26, 2021

Added jsonpath indexes support for queries. Closes #12

@mRrvz mRrvz changed the title Jsonpath indexes Select: jsonpath indexes May 26, 2021
Copy link
Contributor

@olegrok olegrok left a comment

Choose a reason for hiding this comment

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

Thanks for your patch. See several comments below.

crud/common/utils.lua Outdated Show resolved Hide resolved
crud/common/utils.lua Outdated Show resolved Hide resolved
crud/common/utils.lua Outdated Show resolved Hide resolved
crud/select/executor.lua Outdated Show resolved Hide resolved
crud/common/utils.lua Outdated Show resolved Hide resolved
@mRrvz mRrvz requested a review from olegrok June 17, 2021 18:31
crud/common/utils.lua Outdated Show resolved Hide resolved
crud/common/utils.lua Outdated Show resolved Hide resolved
@olegrok
Copy link
Contributor

olegrok commented Jun 18, 2021

I suggest to rebase create some temporary branch based on https://github.com/tarantool/crud/tree/perf-test and verify your patch against performance degradation.

@mRrvz mRrvz requested a review from olegrok June 18, 2021 13:40
crud/select/executor.lua Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
crud/select/filters.lua Outdated Show resolved Hide resolved
Copy link
Contributor

@olegrok olegrok left a comment

Choose a reason for hiding this comment

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

Thanks for your fixes. Consider last (I hope) comment below. And fix backward compatibility - I see that test for 1.10.6-1-g52c786b fails.

crud/select/filters.lua Show resolved Hide resolved
crud/select.lua Outdated Show resolved Hide resolved
crud/select/executor.lua Outdated Show resolved Hide resolved
Copy link
Contributor

@olegrok olegrok left a comment

Choose a reason for hiding this comment

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

Hooooray! 🥇

Thanks for your patch. @dokshina take a look please.

crud/select/executor.lua Outdated Show resolved Hide resolved
crud/select/executor.lua Outdated Show resolved Hide resolved
@mRrvz mRrvz requested a review from dokshina June 21, 2021 17:36
Copy link
Contributor

@dokshina dokshina left a comment

Choose a reason for hiding this comment

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

Bless you! Thanks a lot for this patch.

Copy link
Contributor

@dokshina dokshina left a comment

Choose a reason for hiding this comment

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

Bless you!

@dokshina dokshina merged commit 27d825f into master Jun 22, 2021
@dokshina dokshina deleted the jsonpath-indexes branch June 22, 2021 09:44
ligurio added a commit that referenced this pull request Sep 3, 2021
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]
- source code for compatibility layer in CRUD
- "Select: support jsonpath indexes (#158)" (27d825f)

1. https://github.com/tarantool/tuple-keydef#compatibility
ligurio added a commit that referenced this pull request Sep 3, 2021
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)

1. https://github.com/tarantool/tuple-keydef#compatibility
2.
https://github.com/tarantool/tuple-merger#backward-and-forward-compatibility-guarantees
ligurio added a commit that referenced this pull request Sep 3, 2021
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)

1. https://github.com/tarantool/tuple-keydef#compatibility
2.
https://github.com/tarantool/tuple-merger#backward-and-forward-compatibility-guarantees
ligurio added a commit that referenced this pull request Sep 3, 2021
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]

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/
ligurio added a commit that referenced this pull request Sep 3, 2021
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]

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/
ligurio added a commit that referenced this pull request Sep 3, 2021
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]

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/
ligurio added a commit that referenced this pull request Sep 6, 2021
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]

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/
ligurio added a commit that referenced this pull request Sep 6, 2021
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/
ligurio added a commit that referenced this pull request Sep 6, 2021
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/
ligurio added a commit that referenced this pull request Sep 7, 2021
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/
ligurio added a commit that referenced this pull request Sep 10, 2021
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/
ligurio added a commit that referenced this pull request Sep 22, 2021
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/
ligurio added a commit that referenced this pull request Sep 24, 2021
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/
ligurio added a commit that referenced this pull request Dec 6, 2021
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/
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.

[2pt] Support JSON path
3 participants