[tarantool-patches] [PATCH] Replace net.box usage with console in tarantoolctl eval
Serge Petrenko
sergepetrenko at tarantool.org
Wed Jul 4 12:59:02 MSK 2018
Net.box usage for console is deprecated in 1.10,
replaced it with console.
Closes: #3490
---
https://github.com/tarantool/tarantool/tree/sergepetrenko/gh-3490-tarantoolctl-replace-netbox
https://github.com/tarantool/tarantool/issues/3490
extra/dist/tarantoolctl.in | 28 ++++++++++++++++++++++------
1 file changed, 22 insertions(+), 6 deletions(-)
diff --git a/extra/dist/tarantoolctl.in b/extra/dist/tarantoolctl.in
index 507ebe8bf..463d3e0a1 100755
--- a/extra/dist/tarantoolctl.in
+++ b/extra/dist/tarantoolctl.in
@@ -647,13 +647,29 @@ local function stdin_isatty()
end
local function execute_remote(uri, code)
- local remote = netbox.connect(uri, {
- console = true, connect_timeout = TIMEOUT_INFINITY
- })
- if remote == nil then
- return nil
+ local err, ret
+ console.on_start(function(self)
+ local cmd = string.format(
+ "require('console').connect('%s', { connect_timeout = %s })",
+ uri, TIMEOUT_INFINITY
+ )
+ err = self:eval(cmd)
+ err = yaml.decode(err)[1]
+ if type(err) == 'table' and err.error then
+ err = false
+ else
+ ret = self:eval(code)
+ end
+ self.running = false
+ end)
+ console.on_client_disconnect(function(self) self.running = false end)
+
+ console.start()
+
+ if not err then
+ return false
end
- return true, remote:eval(code)
+ return true, ret
end
local function connect()
--
2.15.2 (Apple Git-101.1)
More information about the Tarantool-patches
mailing list