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

Tracking issue for the Redis JSON support #1805

Open
24 of 26 tasks
PragmaTwice opened this issue Oct 15, 2023 · 2 comments
Open
24 of 26 tasks

Tracking issue for the Redis JSON support #1805

PragmaTwice opened this issue Oct 15, 2023 · 2 comments
Labels
enhancement type enhancement help wanted Good for newcomers

Comments

@PragmaTwice
Copy link
Member

PragmaTwice commented Oct 15, 2023

Motivation

After #1803, we have basic support of RedisJSON, but massive amount of commands remain unsupported:

We need to support all of these commands to make our JSON support more complete and powerful.

Other pull requests related to JSON:

Call for Contribution

Feel free to pick up any issue and finish it!

You can request to be assigned with any issue from this list and try to implement it.

How to implement

  1. Check the RedisJSON document and the document for the specific command (e.g. JSON.SET)
  2. Check the document of Kvrocks data structures design and Add support of new command JSON.SET and JSON.GET #1803 to understand how Kvrocks implements Redis data types upon RocksDB. (and also the document of jsoncons which is used in kvrocks to parse/serialize JSON.)
  3. Add corresponding methods to types/json.h, types.redis_json.h/cc, and command interface (Parse and Execute function) to commands/cmd_json.cc. (Note: types/json.h is just wrapper functions of jsoncons library which is not related to storage, while types/redis_json.h is about how to encode/decode JSON from storage (IO operations))
  4. Add corresponding C++ unit test cases and Golang unit test cases for your newly implemented command.
  5. Open your pull requests and we will review them promptly!
@PragmaTwice PragmaTwice added the enhancement type enhancement label Oct 15, 2023
@PragmaTwice PragmaTwice changed the title Tracking issue for Redis JSON support Tracking issue for the Redis JSON support Oct 15, 2023
@PragmaTwice PragmaTwice pinned this issue Oct 15, 2023
@PragmaTwice PragmaTwice added the help wanted Good for newcomers label Oct 21, 2023
@Kelvinyu1117
Copy link

Kelvinyu1117 commented Nov 4, 2023

I found that some of the commands were marked as deprecated in the Redis document, do you guys still want to support it?
For example:
JSON.RESP

@git-hulk
Copy link
Member

git-hulk commented Nov 7, 2023

@Kelvinyu1117 I think we can complete the active commands first and the deprecated commands are also good to support if users did have solid reasons. cc @PragmaTwice

@PragmaTwice PragmaTwice unpinned this issue Dec 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement type enhancement help wanted Good for newcomers
Projects
None yet
Development

No branches or pull requests

3 participants