Tarantool development patches archive
 help / color / mirror / Atom feed
From: Olga Arkhangelskaia <arkholga@tarantool.org>
To: Igor Munkin <imun@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org, alexander.turenko@tarantool.org
Subject: Re: [Tarantool-patches] [PATCH 1/1] box: fixed box.info:memory()
Date: Thu, 2 Jul 2020 13:01:13 +0300	[thread overview]
Message-ID: <16d471e3-d578-7b12-6a4f-08814a2f1b64@tarantool.org> (raw)
In-Reply-To: <20200701213447.GE5559@tarantool.org>

Hi Igor!

Thanks for the review!

I am sorry for  the confusion with the subject. It is box: fix 
box.info:memory().

I have fixed issue number all over the patch and added the paragraph  
about arguments to the commit messae/

Now it looks like:

Fix the output of box.info:memory(). It used to return the same table as 
the
box.info().

Any box.info.xxx() is the same as box.info[“xxx”]().
E.g. box.info.memory() ->
getmetatable(box.info.memory).__call(box.info.memory)[1]
After __index and __call metamethods, the final function that fills 
xxx-table,
has the only argument - empty table to fill.
When box.info:xxx() is invoked it automatically passes one argument:
box.info[“xxx”](box.info). So the resulting call has 2 arguments on the 
stack.
box.info:xxx()->getmetatable(box.info.xxx).__call(box.info.xxx, box.info)
When function tries to fill box.info table - __call metamethod of 
box.info is
trigged.

box.info.gc does not have this problem because of an extra table that is
created in the beginning of the bottom function. box.info.memory follows
the same way.

[1] https://www.lua.org/manual/5.1/manual.html#2.8

Closes 4688

02.07.2020 0:34, Igor Munkin пишет:
> Olya,
>
> Thanks for the patch! I see the patch subject differs from the
> corresponding commit subject you've pushed to the upstream. What is the
> final one? Please also consider several nits I left below.
>
> On 29.06.20, Olga Arkhangelskaia wrote:
>> Fix box.info:memory() output. Now it has the same output as box.info.memory().
>> ---
>> Closes 4668
>>   src/box/lua/info.c                            |  1 +
>>   test/box-tap/gh-4668-box-info-memory.test.lua | 15 +++++++++++++++
> Typo: s/gh-4668/gh-4688/.
>
>>   2 files changed, 16 insertions(+)
>>   create mode 100755 test/box-tap/gh-4668-box-info-memory.test.lua
>>
> <snipped>
>
>> diff --git a/test/box-tap/gh-4668-box-info-memory.test.lua b/test/box-tap/gh-4668-box-info-memory.test.lua
>> new file mode 100755
>> index 000000000..1a13fa903
>> --- /dev/null
>> +++ b/test/box-tap/gh-4668-box-info-memory.test.lua
>> @@ -0,0 +1,15 @@
>> +#!/usr/bin/env tarantool
>> +--
>> +-- gh-4668: box.info:memory() displayed full content of box.info
> Ditto.
>
>> +--
>> +local tap = require('tap')
>> +local test = tap.test("Tarantool 4668")
> Ditto.
>
>> +test:plan(1)
>> +
>> +box.cfg()
>> +
>> +a = box.info.memory()
>> +b = box.info:memory()
>> +
>> +test:is(table.concat(a), table.concat(b), "box.info:memory")
>> +os.exit(0)
>> -- 
>> 2.20.1 (Apple Git-117)
>>

  reply	other threads:[~2020-07-02 10:01 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20200629121118.21596-1-arkholga@tarantool.org>
2020-06-29 12:11 ` Olga Arkhangelskaia
2020-07-01 21:34   ` Igor Munkin
2020-07-02 10:01     ` Olga Arkhangelskaia [this message]
2020-07-09  1:08       ` Alexander Turenko
2020-07-09 13:57         ` Olga Arkhangelskaia
2020-07-15 14:40           ` Alexander Turenko
2020-07-16 17:56             ` Igor Munkin
2020-07-16 20:29               ` Olga Arkhangelskaia
2020-07-16 20:56                 ` Alexander Turenko
2020-07-16 21:04                 ` Igor Munkin
2020-07-17  6:38                   ` Olga Arkhangelskaia
2020-07-01 21:34 ` [Tarantool-patches] [PATCH 0/1] fix box.info:memory() Igor Munkin
2020-07-09  1:08   ` Alexander Turenko
2020-07-09 14:02     ` Olga Arkhangelskaia
2020-07-16 18:16     ` Igor Munkin
2020-07-16 18:29       ` Alexander Turenko
2020-07-17  6:18 ` Kirill Yukhin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=16d471e3-d578-7b12-6a4f-08814a2f1b64@tarantool.org \
    --to=arkholga@tarantool.org \
    --cc=alexander.turenko@tarantool.org \
    --cc=imun@tarantool.org \
    --cc=tarantool-patches@dev.tarantool.org \
    --subject='Re: [Tarantool-patches] [PATCH 1/1] box: fixed box.info:memory()' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox