Tarantool development patches archive
 help / color / mirror / Atom feed
From: Alexander Turenko <alexander.turenko@tarantool.org>
To: Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
Cc: tarantool-patches@freelists.org
Subject: [tarantool-patches] Re: [PATCH v2 3/3] lua-yaml: treat an empty document/value as null
Date: Tue, 5 Feb 2019 06:30:01 +0300	[thread overview]
Message-ID: <20190205033000.omywtlgxzpbcplgx@tkn_work_nb> (raw)
In-Reply-To: <0a841ae0-f03f-5406-5a2e-d3fc81843784@tarantool.org>

Hi!

Thanks. Your scepsis pushed me to rethink the change and I decided to
discard this patch. See below for more info.

WBR, Alexander Turenko.

On Fri, Jan 25, 2019 at 12:26:49AM +0300, Vladislav Shpilevoy wrote:
> Thanks for the patch!
> 
> On 22/01/2019 05:12, Alexander Turenko wrote:
> > It improves our compatibility with the YAML standard.
> > 
> > yaml.encode('') result changed from
> > 
> > ---
> > ...
> > 
> > to
> > 
> > --- ''
> > ...
> > 
> > yaml.decode('') returns zero values count before, now it returns
> > box.NULL. yaml.decode('- ') returns {''} before, now {box.NULL}.
> > 
> > This commit touches many tests and test result files, which use console,
> > without behaviour changes. It also adds two test cases to
> > app-tap/console.test.lua.
> 
> Not sure if it makes sense listing factual changes here, because
> literally the same I see below and in "git diff --stat".

The idea of the message was to mark which test changes are just due to
the change and which one are specifically designed to test the new
feature. I tried to clarify that and would rewrite as follows (but
dropped the patch, see below).

```
Several test cases were added to the app-tap/console.test.lua test,
other test and test result changes are just induced by the encode/decode
behaviour change.
```

> 
> > ---
> >   test/app-tap/console.test.lua   |   16 +-
> >   test/app/fio.result             |    2 +-
> >   test/app/socket.result          |   26 +-
> >   test/box/access.result          |    8 +-
> >   test/box/role.result            |    8 +-
> >   test/box/sequence.result        |    2 +-
> >   test/vinyl/errinj_tx.result     |   10 +-
> >   test/vinyl/hermitage.result     |  122 ++--
> >   test/vinyl/mvcc.result          | 1066 +++++++++++++++----------------
> >   test/vinyl/mvcc.test.lua        |    4 +-
> >   test/vinyl/tx_conflict.result   |    2 +-
> >   test/vinyl/tx_conflict.test.lua |    2 +-
> >   test/vinyl/tx_gap_lock.result   |  189 +++---
> >   test/vinyl/tx_gap_lock.test.lua |    3 +-
> >   test/vinyl/tx_serial.result     |    2 +-
> >   test/vinyl/tx_serial.test.lua   |    2 +-
> >   third_party/lua-yaml/lyaml.cc   |   22 +-
> >   17 files changed, 747 insertions(+), 739 deletions(-)
> > 
> > diff --git a/test/vinyl/mvcc.result b/test/vinyl/mvcc.result
> > index 1941744b9..db7fc8e83 100644
> > --- a/test/vinyl/mvcc.result
> > +++ b/test/vinyl/mvcc.result
> > @@ -41,29 +41,29 @@ t = box.space.test
> >   --
> >   c1:begin()
> >   ---
> > -- 
> > +- null
> 
> How about to start returning nothing instead of returning null so
> as to do not change the tests (or at least make the diff smaller)?
> 
> I see, that most of the diff is from txn_proxy, which always does
> return 'something'. You can change it so as to do not just return, but
> check if a result is not null, and only then return. Otherwise do nothing
> or empty return.
> 
> I am sure it will work since space:get(), for example, still can
> return nothing (!= null), and this is why other tests didn't fail.

Changing tests is not the main question here. The question is what is
the right thing to do with encoding of an empty document. It is null
according to the standard. But our approach allows to encode null and
empty values set differently.

I factored out this patch from the Alex's Kh. original commit to discuss
it separately. After a yesterday discussion with Vladimir I understood
that current approach has its benefit (see above). So there are no
reason to change it at least until it will be requested by someone. I
dropped the patch from the patchset.

  reply	other threads:[~2019-02-05  3:30 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-22  2:12 [tarantool-patches] [PATCH v2 0/3] lua-yaml null/boolean fixes Alexander Turenko
2019-01-22  2:12 ` [tarantool-patches] [PATCH v2 1/3] lua-yaml: verify arguments count Alexander Turenko
2019-01-24 21:26   ` [tarantool-patches] " Vladislav Shpilevoy
2019-02-05  3:29     ` Alexander Turenko
2019-02-05 19:36       ` Vladislav Shpilevoy
2019-02-11 13:32         ` Alexander Turenko
2019-02-15 21:28           ` Vladislav Shpilevoy
2019-01-22  2:12 ` [tarantool-patches] [PATCH v2 2/3] lua-yaml: fix boolean/null representation in yaml Alexander Turenko
2019-01-24 21:26   ` [tarantool-patches] " Vladislav Shpilevoy
2019-01-24 21:32     ` Vladislav Shpilevoy
2019-02-05  3:29     ` Alexander Turenko
2019-02-05 19:36       ` Vladislav Shpilevoy
2019-02-15 21:06         ` Vladislav Shpilevoy
2019-02-15 21:23           ` Alexander Turenko
2019-02-18 18:55         ` Alexander Turenko
2019-02-22 15:14           ` Vladislav Shpilevoy
2019-01-22  2:12 ` [tarantool-patches] [PATCH v2 3/3] lua-yaml: treat an empty document/value as null Alexander Turenko
2019-01-24 21:26   ` [tarantool-patches] " Vladislav Shpilevoy
2019-02-05  3:30     ` Alexander Turenko [this message]
2019-01-24 21:26 ` [tarantool-patches] Re: [PATCH v2 0/3] lua-yaml null/boolean fixes Vladislav Shpilevoy
2019-02-25 11:27 ` Kirill Yukhin
2019-03-05 16:40   ` Alexander Turenko
2019-03-06  7:21     ` 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=20190205033000.omywtlgxzpbcplgx@tkn_work_nb \
    --to=alexander.turenko@tarantool.org \
    --cc=tarantool-patches@freelists.org \
    --cc=v.shpilevoy@tarantool.org \
    --subject='[tarantool-patches] Re: [PATCH v2 3/3] lua-yaml: treat an empty document/value as null' \
    /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