Skip to content

Rework transaction response handling in glide core and all clients #1397

@Yury-Fridlyand

Description

@Yury-Fridlyand

Describe the feature

Glide receives response for all commands in a transaction, but ignores all of them if an error present and returns that error (only the first error if there are multiple of them).
It should return all responses along with all errors received.

Use Case

127.0.0.1:6379> multi
OK
127.0.0.1:6379(TX)> get 1
QUEUED
127.0.0.1:6379(TX)> get hash
QUEUED
127.0.0.1:6379(TX)> ping pong pang
QUEUED
127.0.0.1:6379(TX)> exec
1) (nil)
2) (error) WRONGTYPE Operation against a key holding the wrong kind of value
3) (error) ERR wrong number of arguments for 'ping' command

Proposed Solution

No response

Other Information

This feature may depend on tuple type support #1188

Acknowledgements

  • I may be able to implement this feature request
  • This feature might incur a breaking change

Client version used

N/A

Environment details (OS name and version, etc.)

N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    Optimization 🐌Optimization matter such as cleaner code, performance etc

    Type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions