Skip to content

Backport #192: Valkey::Future placeholders for pipelined/multi to release-1.0 - #205

Merged
Aryex merged 1 commit into
release-1.0from
backport/release-1.0/future-object-support
Jul 30, 2026
Merged

Backport #192: Valkey::Future placeholders for pipelined/multi to release-1.0#205
Aryex merged 1 commit into
release-1.0from
backport/release-1.0/future-object-support

Conversation

@Aryex

@Aryex Aryex commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Backports Add Valkey::Future placeholders for commands queued inside pipelined/multi #192 (f1199aef) to release-1.0.
  • Adds Valkey::Future placeholders returned by commands queued inside pipelined / multi, so callers can reference each queued reply after the batch resolves.
  • Also carries the collateral changes from that PR: nested-array arg flattening, stricter build_command_args argument-type checks, Integer() coercion for setex/set/getex/setrange/incrby/decrby numeric args, and the scripting use-after-free fix.

Cherry-picked cleanly with git cherry-pick -x — no conflicts.

@Aryex
Aryex marked this pull request as ready for review July 30, 2026 00:47
…ed`/`multi` (#192)

* Nested array args fix

Signed-off-by: Sasidharan Gopal <sasidharan.gopal94@gmail.com>

* Adress review comments:  simplify comments, move doc to method, rename flattened var

Signed-off-by: Sasidharan Gopal <sasidharan.gopal94@gmail.com>

* Initial commit for future object support

Signed-off-by: Sasidharan Gopal <sasidharan.gopal94@gmail.com>

* Reject unsupported command argument types (nil, Array, Hash, etc.) in build_command_args instead of silently coercing via to_s, matching redis-rb/redis-client's behavior (fixes #191)

Signed-off-by: Sasidharan Gopal <sasidharan.gopal94@gmail.com>

* Fixing CI tests

Signed-off-by: Sasidharan Gopal <sasidharan.gopal94@gmail.com>

* Fixing real use-after-free-bug in scripting commands flow

Signed-off-by: Sasidharan Gopal <sasidharan.gopal94@gmail.com>

* Wrap ttl/offset/increment args in Integer() in setex/set/getex/setrange/incrby/decrby. Matches redis-rb's own handling of these same arguments - without it, any object that isn't a literal Integer but is numeric-convertible now raises under build_command_args' stricter argument-type check instead of being silently coerced.

Signed-off-by: Sasidharan Gopal <sasidharan.gopal94@gmail.com>

---------

Signed-off-by: Sasidharan Gopal <sasidharan.gopal94@gmail.com>
(cherry picked from commit f1199ae)
Signed-off-by: Alex Le <alex.le@improving.com>
@Aryex
Aryex force-pushed the backport/release-1.0/future-object-support branch from adc4c43 to a438ea5 Compare July 30, 2026 00:47
@Aryex Aryex self-assigned this Jul 30, 2026

@jamesx-improving jamesx-improving left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM

@currantw currantw left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Backport only. ✅

@Aryex
Aryex merged commit c22935c into release-1.0 Jul 30, 2026
18 checks passed
@Aryex
Aryex deleted the backport/release-1.0/future-object-support branch July 30, 2026 15:02
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.

4 participants