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

Support for Redis LIST #338

Closed
bmatican opened this issue Jun 19, 2018 · 10 comments
Closed

Support for Redis LIST #338

bmatican opened this issue Jun 19, 2018 · 10 comments
Labels
kind/enhancement This is an enhancement of an existing feature

Comments

@bmatican
Copy link
Contributor

We should support the LIST data type and at least some subset of the commands for it, ideally both LPUSH/LPOP and RPUSH/RPOP so it could be used as a queue. See: #329 (comment) for a user requirement.

https://redis.io/commands#list

@bmatican bmatican added this to To Do in YCQL via automation Jun 19, 2018
@kmuthukk kmuthukk added the kind/enhancement This is an enhancement of an existing feature label Jun 20, 2018
@ddorian
Copy link
Contributor

ddorian commented Jun 20, 2018

It would be great to support LTRIM on YQL too.

@rkarthik007
Copy link
Collaborator

Hi @ddorian, great suggestion. Do you mind opening a separate issue for that so we track it?

Guessing you are referring to something like: https://www.w3schools.com/sql/func_sqlserver_ltrim.asp

@kmuthukk
Copy link
Collaborator

Hi @rkarthik007

[I had this confusion too in a separate context. LTRIM in SQL is a string function, and in Redis it is a list function.]

Here I think @ddorian is asking for the Redis LTRIM (https://redis.io/commands/ltrim). So we can just track this in this same github issue. I think @bmatican just gave a few sample commands like (LPUSH/LPOP), but we should just plan on implementing LTRIM also as part of the LIST implementation in YEDIS.

regards,
Kannna

@kmuthukk
Copy link
Collaborator

But yes, @ddorian , if you were referring to LTRIM in the YCQL (Cassandra-compatible API), then please could you create a separate issue for that?

@ddorian
Copy link
Contributor

ddorian commented Jun 20, 2018

@kmuthukk @rkarthik007 I meant having the same functionality of this issue on YQL too.
I said LTRIM cause that was mentioned on the linked comment on the post.

@schoudhury
Copy link
Contributor

@ddorian YQL refers to YugaByte's internal Query Layer that forms the basis for our multiple APIs (and is not an API in itself). The APIs we have today are YCQL (Cassandra-compatible), YEDIS (Redis-compatible) and PostgreSQL. Can you pls confirm that when you are referring to YQL you actually mean YCQL?

@ddorian
Copy link
Contributor

ddorian commented Jun 20, 2018

@schoudhury My bad, I meant the YCQL.

@kmuthukk
Copy link
Collaborator

kmuthukk commented Jun 20, 2018

@ddorian, @rkarthik007 :

Ok, so my misunderstanding. Part of it is due to the terminology. Let me elaborate:

YQL (YugaByte Query Layer) is a component name we have been using to refer to the multi-model query layer component in our implementation and it implements/exposes the following user facing APIs:

  • YCQL (Cassandra-compatible) - YugaByte Cloud Query Language (based on Cassandra with some newer extensions such as JSON, secondary indexes, multi-table txns)
  • YEDIS (Redis-compatible) - YugaByte Dictionary Service (based on Redis with some newer extensions such as a Time Series data type).
  • Postgres (SQL)

So to make sure, you are asking for LTRIM (list trim) support in YCQL list type?

@ddorian
Copy link
Contributor

ddorian commented Jun 20, 2018

@kmuthukk
Yes. Cassandra layer, list functions (append, ltrim, append_if_not_exists). Based on previous discussions that YCQL would be most featureful query-layer.

yugabyte-ci pushed a commit that referenced this issue Sep 8, 2018
Summary: Adding support for LPOP, RPOP, LPUSH, RPUSH, LLEN. Main modifications are to the ExtendList and ReplaceInList functions in doc_write_batch.cc.

Test Plan: New unit test in redisserver-test.cc

Reviewers: mikhail, rahuldesirazu, mihnea

Reviewed By: mihnea

Subscribers: kannan, yql

Differential Revision: https://phabricator.dev.yugabyte.com/D5405
@bmatican bmatican added this to To do in YEDIS Oct 8, 2020
@m-iancu
Copy link
Contributor

m-iancu commented Mar 6, 2022

This is partially done in 0d9feb2. Closing as no current plans to extend support beyond that.

@m-iancu m-iancu closed this as completed Mar 6, 2022
YCQL automation moved this from To Do to Done Mar 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement This is an enhancement of an existing feature
Projects
YCQL
  
Done
YEDIS
To do
Status: Done
Development

No branches or pull requests

7 participants