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

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

Closed
rtsisyk opened this issue Aug 26, 2016 · 1 comment · Fixed by #167
Closed

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

rtsisyk opened this issue Aug 26, 2016 · 1 comment · Fixed by #167
Assignees
Labels
feature A new functionality php7

Comments

@rtsisyk
Copy link
Contributor

rtsisyk commented Aug 26, 2016

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.

tarantool/tarantool#1296

@rtsisyk rtsisyk added the feature A new functionality label Aug 26, 2016
@bigbes bigbes added the php7 label Sep 6, 2016
@bigbes bigbes self-assigned this Sep 6, 2016
@mejedi
Copy link

mejedi commented Sep 26, 2016

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, he should say so explicitly.

@Totktonada Totktonada added this to the PHP 7.* + bugfixes milestone Mar 23, 2020
@LeonidVas LeonidVas self-assigned this Jul 8, 2020
LeonidVas added a commit that referenced this issue Jul 16, 2020
Added support for a new binary protocol command for "call" (used
since 1.7.2).
The old version of "call" has been moved to "call_16".

Closes #101
@LeonidVas LeonidVas linked a pull request Jul 16, 2020 that will close this issue
LeonidVas added a commit that referenced this issue Jul 16, 2020
Added support for a new binary protocol command for "call" (used
since tarantool 1.7.2). Unlike the old version, returned data is
not converted to tuples (like in case of using "eval").
The set_modern_call_mode method was added to switch the "call"
to modern mode and back.

Closes #101
LeonidVas added a commit that referenced this issue Jul 16, 2020
Added support for a new binary protocol command for "call" (used
since tarantool 1.7.2). Unlike the old version, returned data is
not converted to tuples (like in case of using "eval").
The set_modern_call_mode method was added to switch the "call"
to modern mode and back.

Closes #101
LeonidVas added a commit that referenced this issue Jul 17, 2020
* Added support for a new binary protocol command for "call" (used
  since tarantool 1.7.2). Unlike the old version, returned data is
  not converted to tuples (like in case of using "eval").
* The use_17_call method was added to switch the "call" to call_17
  mode and back.

Closes #101
LeonidVas added a commit that referenced this issue Jul 21, 2020
* Added support for a new binary protocol command for "call" (used
  since tarantool 1.7.2). Unlike the old version, returned data is
  not converted to tuples (like in case of using "eval").
  Default - call_16 mode.
* Added options to "call" method. It can be used to force
  call_16 / call_17 mode.

Example:
``` php
$c = new Tarantool('localhost', 3301);
$c->connect();
$c->call("test_call", array(), array('call_17' => true));
$c->close();
```

Closes #101
LeonidVas added a commit that referenced this issue Jul 21, 2020
* Added support for a new binary protocol command for "call" (used
  since tarantool 1.7.2). Unlike the old version, returned data is
  not converted to tuples (like in case of using "eval").
  Default - call_16 mode.
* Added options to "call" method. It can be used to force
  call_16 / call_17 mode.

Example:
``` php
$c = new Tarantool('localhost', 3301);
$c->connect();
$c->call("test_call", array(), array('call_17' => true));
$c->close();
```

Closes #101
LeonidVas added a commit that referenced this issue Jul 21, 2020
* Added support for a new binary protocol command for "call" (used
  since tarantool 1.7.2). Unlike the old version, returned data is
  not converted to tuples (like in case of using "eval").
  Default - call_16 mode.
* Added options to "call" method. It can be used to force
  call_16 / call_17 mode.

Example:
``` php
$c = new Tarantool('localhost', 3301);
$c->connect();
$c->call("test_call", array(), array('call_17' => true));
$c->close();
```

Closes #101
LeonidVas added a commit that referenced this issue Jul 21, 2020
* Added support for a new binary protocol command for "call" (used
  since tarantool 1.7.2). Unlike the old version, returned data is
  not converted to tuples (like in case of using "eval").
  Default - call_16 mode.
* Added options to "call" method. It can be used to force
  call_16 / call_17 mode.

Example:
``` php
$c = new Tarantool('localhost', 3301);
$c->connect();
$c->call("test_call", array(), array('call_17' => true));
$c->close();
```

Closes #101
LeonidVas added a commit that referenced this issue Jul 21, 2020
* Added support for a new binary protocol command for "call" (used
  since tarantool 1.7.2). Unlike the old version, returned data is
  not converted to tuples (like in case of using "eval").
  Default - call_16 mode.
* Added options to "call" method. It can be used to force
  call_16 / call_17 mode.

Example:
``` php
$c = new Tarantool('localhost', 3301);
$c->connect();
$c->call("test_call", array(), array('call_17' => true));
$c->close();
```

Closes #101
LeonidVas added a commit that referenced this issue Jul 24, 2020
* Added support for a new binary protocol command for "call" (used
  since tarantool 1.7.2). Unlike the old version, returned data is
  not converted to tuples (like in case of using "eval").
  Default - call_16 mode.
* Added options to "call" method. It can be used to force
  call_16 / call_17 mode.

Example:
``` php
$c = new Tarantool('localhost', 3301);
$c->connect();
$c->call("test_call", array(), array('call_17' => true));
$c->close();
```

Closes #101
LeonidVas added a commit that referenced this issue Jul 27, 2020
* Added support for a new binary protocol command for "call" (used
  since tarantool 1.7.2). Unlike the old version, returned data is
  not converted to tuples (like in case of using "eval").
  Default - call_16 mode.
* Added options to "call" method. It can be used to force
  call_16 / call_17 mode.

Example:
``` php
$c = new Tarantool('localhost', 3301);
$c->connect();
$c->call("test_call", array(), array('call_16' => false));
$c->close();
```

Closes #101
Totktonada pushed a commit that referenced this issue Jul 27, 2020
* Added support for a new binary protocol command for "call" (used
  since tarantool 1.7.2). Unlike the old version, returned data is
  not converted to tuples (like in case of using "eval").
  Default - call_16 mode.
* Added options to "call" method. It can be used to force
  call_16 / call_17 mode.

Example:
``` php
$c = new Tarantool('localhost', 3301);
$c->connect();
$c->call("test_call", array(), array('call_16' => false));
$c->close();
```

Closes #101
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A new functionality php7
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants