tarantool / tarantool-python

Python client library for Tarantool
https://www.tarantool.io
BSD 2-Clause "Simplified" License
100 stars 48 forks source link

Support new CALL command with EVAL-style marshalling (1.7.1+) #82

Closed rtsisyk closed 7 years ago

rtsisyk commented 8 years ago

Tarantool 1.7.1 adds a new implementation of CALL command which supports EVAL-style marshalling, i.e. returned data is not converted to tuples anymore. Old CALL command (code = 6) is deprecated. Please detect Tarantool version on connect and use code=10 for CALL if remote version >= 1.7.1.

https://github.com/tarantool/tarantool/issues/1296

mejedi commented 8 years ago

After internal discussions we decided that selecting old or new CALL automatically based on the server version is a bad idea after all. Client code will notice the difference in semantics.

Instead we suggest the following: make call behave in 1.7 semantics by default. Add connection option to configure calls semantics. If user wants 1.6 CALL-s, she should say so explicitly.