[Tarantool-patches] [PATCH 0/7] box/console: add support for internal types
Oleg Babin
olegrok at tarantool.org
Fri May 8 19:04:26 MSK 2020
Hi! Thanks for patchset! I have a few comments.
I'm not sure that we should return errors in such way:
```
tarantool> x
{error = "[string \"return x\"]:1: variable \'x\' is not declared"};
```
Or is it expected behaviour?
Also `nil` value is ignored in some cases.
```
tarantool> nil
;
tarantool> nil, 2, 3
;
tarantool> 1, nil, 3
1, nil, 3;
```
And I've met strange output:
```
tarantool> box.space.test.index
{[0] = {unique = true, parts = {{type = "integer", is_nullable =
"false", fieldno = "3"}, {type = "unsigned", is_nullable = "false",
fieldno = "5"}}, type = "TREE", id = "0", space_id = "520", name =
"id"}, [1] = {unique = false, parts = {{type = "unsigned", is_nullable =
"false", fieldno = "1"}}, id = 1, space_id = 520, type = "TREE", name =
"bucket_id"}, [bucket_id]1
= !!!*anchor[id]0
= !!!*anchor};
```
"!!!*anchor" looks strange. Seems it occurs when you mix map and array.
On 08/05/2020 14:47, Cyrill Gorcunov wrote:
> In the series we implement support for internal taranool types
> such as ULL. To be able to do so we implement own serializer
> thus the output is simiar to encodings in yaml mode.
>
> Once things settle down we will drop serpent module. I guess
> I need to explain why serpent didn't fit: there is no interface
> inside serpent to fetch internal tarantool types and adding it
> means more work to do than implement an own serializer.
>
> issue https://github.com/tarantool/tarantool/issues/4682
> branch gorcunov/gh-4682-console-numbers
>
> Cyrill Gorcunov (7):
> box/console: console_session_vtab -- use designated initialization
> box/console: use tabs instead of spaces in consolelib
> box/console: rename format to format_yaml
> box/console: rename luaL_yaml_default to serializer_yaml
> box/console: implement lua serializer
> box/console: switch to new lua serializer
> test: extend console lua test
>
> src/box/CMakeLists.txt | 1 +
> src/box/lua/console.c | 111 +++-
> src/box/lua/console.lua | 75 +--
> src/box/lua/serialize_lua.c | 1021 +++++++++++++++++++++++++++++
> src/box/lua/serialize_lua.h | 67 ++
> test/app-tap/console_lua.test.lua | 28 +-
> 6 files changed, 1238 insertions(+), 65 deletions(-)
> create mode 100644 src/box/lua/serialize_lua.c
> create mode 100644 src/box/lua/serialize_lua.h
>
More information about the Tarantool-patches
mailing list