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

Add support for EVAL_RO #1862

Merged
merged 10 commits into from
Feb 2, 2022
Merged

Add support for EVAL_RO #1862

merged 10 commits into from
Feb 2, 2022

Conversation

dvora-h
Copy link
Collaborator

@dvora-h dvora-h commented Jan 5, 2022

Pull Request check-list

Please make sure to review and check all of these items:

  • Does $ tox pass with this change (including linting)?
  • Do the CI tests pass with this change (enable it first in your forked repo and wait for the github action build to finish)?
  • Is the new or changed code fully tested?
  • Is a documentation update included (if this change modifies existing APIs, or introduces new ones)?
  • Is there an example added to the examples folder (if applicable)?

NOTE: these things are not required to open a PR and can be done
afterwards / while the PR is open.

Description of change

closes #1804

@dvora-h dvora-h added feature New feature redis-7 labels Jan 5, 2022
@dvora-h dvora-h requested a review from chayim January 5, 2022 14:20
@codecov-commenter
Copy link

codecov-commenter commented Jan 5, 2022

Codecov Report

Merging #1862 (48d626b) into master (15f315a) will decrease coverage by 0.61%.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #1862      +/-   ##
==========================================
- Coverage   93.60%   92.99%   -0.62%     
==========================================
  Files          76       76              
  Lines       16214    16399     +185     
==========================================
+ Hits        15177    15250      +73     
- Misses       1037     1149     +112     
Impacted Files Coverage Δ
redis/commands/core.py 89.95% <100.00%> (+0.01%) ⬆️
tests/test_scripting.py 100.00% <100.00%> (ø)
tests/test_ssl.py 48.46% <0.00%> (-5.67%) ⬇️
redis/connection.py 86.78% <0.00%> (-1.56%) ⬇️
tests/test_cluster.py 98.16% <0.00%> (-0.38%) ⬇️
redis/ocsp.py 0.00% <0.00%> (ø)
redis/client.py 89.37% <0.00%> (ø)
tests/test_search.py 99.07% <0.00%> (+0.05%) ⬆️
redis/sentinel.py 86.16% <0.00%> (+0.17%) ⬆️
... and 4 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 15f315a...48d626b. Read the comment docs.

Copy link
Contributor

@chayim chayim left a comment

Choose a reason for hiding this comment

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

I think the same idea as EVALSHA/EVALSHA_RO applies here. This function and EVAL should call the same underlying function - just in with a different command. Something private.

WDYT?

@dvora-h dvora-h requested a review from chayim January 13, 2022 12:40
@@ -3881,6 +3881,9 @@ class ScriptCommands:
https://redis.com/ebook/part-3-next-steps/chapter-11-scripting-redis-with-lua/
"""

def _eval(self, command, script, numkeys, *keys_and_args):
Copy link
Contributor

Choose a reason for hiding this comment

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

type hints...

@@ -3881,6 +3881,9 @@ class ScriptCommands:
https://redis.com/ebook/part-3-next-steps/chapter-11-scripting-redis-with-lua/
"""

def _eval(self, command, script, numkeys, *keys_and_args):
return self.execute_command(command, script, numkeys, *keys_and_args)

def eval(self, script, numkeys, *keys_and_args):
Copy link
Contributor

Choose a reason for hiding this comment

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

type hints

@dvora-h dvora-h requested a review from chayim January 19, 2022 08:27
@dvora-h dvora-h merged commit 58b28e4 into redis:master Feb 2, 2022
@dvora-h dvora-h deleted the add-eval-ro branch February 2, 2022 11:25
dvora-h added a commit to dvora-h/redis-py that referenced this pull request Feb 2, 2022
* add sort_ro

* mark test as onlynon cluster

* delete mark test as onlynoncluster

* add eval_ro

* fix linters

* delete sort_ro

* fix pr comment

* add type hints

* add type hints

* linters
dvora-h added a commit to dvora-h/redis-py that referenced this pull request Feb 2, 2022
* add sort_ro

* mark test as onlynon cluster

* delete mark test as onlynoncluster

* add eval_ro

* fix linters

* delete sort_ro

* fix pr comment

* add type hints

* add type hints

* linters
dvora-h added a commit that referenced this pull request Feb 2, 2022
* add redis5 and redis4 dockers

* redis versions testenv

* path changes

* fix linters

* fix tests

* fixing linter

* Increased pubsub's wait_for_messages timeout to prevent flaky tests (#1893)

* Fixing TypeError in GraphCommands.explain (#1901)

* Fixing AttributeError in UnixDomainSocketConnection (#1903)

* Fixing AttributeError on some connection errors (#1905)

* cluster script fixes to support future cluster versions and redis unstable (#1900)

* Fixing LMOVE, BLMOVE returning an incorrect response (#1906)

* Raising ConnectionError on invalid ocsp certificates - with status information (#1907)

* 4.1.2 (#1904)

* adding cluster env timeout time (#1908)

* Update changes file with changes since 4.0.0-beta2 (#1915)

* Fixing volume for unstable_cluster docker (#1914)

* Change json.clear test multi to be up to date with redisjson (#1922)

* fix json clear test

* fix json clear test

* Add support for BZMPOP (#1851)

* add bzmpop

* add comment

* fix pr comment

* fix linters

* fix pr comments

* add client no-evict (#1856)

* Add support for ZINTERCARD (#1857)

* add zintercard

* fix pr comment

* linters

* Add support for EVAL_RO (#1862)

* add sort_ro

* mark test as onlynon cluster

* delete mark test as onlynoncluster

* add eval_ro

* fix linters

* delete sort_ro

* fix pr comment

* add type hints

* add type hints

* linters

* Add support for EVALSHA_RO (#1863)

* add evalsha-ro

* fix pr comment

* add type hints

* add type hints

* Fix naming conventions (#1872)

* fix naming convention

* fix worng changes

* change ports to resolve conflict with unstable_cluster

Co-authored-by: Chayim I. Kirshen <c@kirshen.com>
Co-authored-by: Chayim <chayim@users.noreply.github.com>
Co-authored-by: Bar Shaul <88437685+barshaul@users.noreply.github.com>
Co-authored-by: Varun Chopra <v@chopraaa.com>
dvora-h added a commit that referenced this pull request Feb 6, 2022
* add type hints for json commands

* Change json.clear test multi to be up to date with redisjson (#1922)

* fix json clear test

* fix json clear test

* Add support for BZMPOP (#1851)

* add bzmpop

* add comment

* fix pr comment

* fix linters

* fix pr comments

* add client no-evict (#1856)

* Add support for ZINTERCARD (#1857)

* add zintercard

* fix pr comment

* linters

* Add support for EVAL_RO (#1862)

* add sort_ro

* mark test as onlynon cluster

* delete mark test as onlynoncluster

* add eval_ro

* fix linters

* delete sort_ro

* fix pr comment

* add type hints

* add type hints

* linters

* Add support for EVALSHA_RO (#1863)

* add evalsha-ro

* fix pr comment

* add type hints

* add type hints

* Fix naming conventions (#1872)

* fix naming convention

* fix worng changes

* fix naming convention in rootPath
gkorland pushed a commit that referenced this pull request Feb 8, 2022
* add redis5 and redis4 dockers

* redis versions testenv

* path changes

* fix linters

* fix tests

* fixing linter

* Increased pubsub's wait_for_messages timeout to prevent flaky tests (#1893)

* Fixing TypeError in GraphCommands.explain (#1901)

* Fixing AttributeError in UnixDomainSocketConnection (#1903)

* Fixing AttributeError on some connection errors (#1905)

* cluster script fixes to support future cluster versions and redis unstable (#1900)

* Fixing LMOVE, BLMOVE returning an incorrect response (#1906)

* Raising ConnectionError on invalid ocsp certificates - with status information (#1907)

* 4.1.2 (#1904)

* adding cluster env timeout time (#1908)

* Update changes file with changes since 4.0.0-beta2 (#1915)

* Fixing volume for unstable_cluster docker (#1914)

* Change json.clear test multi to be up to date with redisjson (#1922)

* fix json clear test

* fix json clear test

* Add support for BZMPOP (#1851)

* add bzmpop

* add comment

* fix pr comment

* fix linters

* fix pr comments

* add client no-evict (#1856)

* Add support for ZINTERCARD (#1857)

* add zintercard

* fix pr comment

* linters

* Add support for EVAL_RO (#1862)

* add sort_ro

* mark test as onlynon cluster

* delete mark test as onlynoncluster

* add eval_ro

* fix linters

* delete sort_ro

* fix pr comment

* add type hints

* add type hints

* linters

* Add support for EVALSHA_RO (#1863)

* add evalsha-ro

* fix pr comment

* add type hints

* add type hints

* Fix naming conventions (#1872)

* fix naming convention

* fix worng changes

* change ports to resolve conflict with unstable_cluster

Co-authored-by: Chayim I. Kirshen <c@kirshen.com>
Co-authored-by: Chayim <chayim@users.noreply.github.com>
Co-authored-by: Bar Shaul <88437685+barshaul@users.noreply.github.com>
Co-authored-by: Varun Chopra <v@chopraaa.com>
(cherry picked from commit 0d26117)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for EVAL RO
3 participants