Closed chloe-zen closed 13 years ago
Thanks, merged.
Looks good, although could do with some docs ;)
I also wonder what happens when WATCH is used, maybe a test for that?
[I'm not intending to release this until there's docs, but I don't mind writing those myself -- won't be for a few days though.]
The core of this change has three parts: (1) Treating errors in bulk replies as special reply elements (AnyEvent::Redis::Error); (2) collecting CVs while reading the QUEUEd markers inside a transaction, and (3) matching these CVs to elements of the EXEC bulk reply. This means that each transaction command gets its own response. The EXEC still gets the full response, for compatibility.
There's a lot more in here, though, and I think it's all worthwhile. For review purposes, try "diff -w" so you can temporarily ignore the whitespace changes which only make the code consistent in style.