maria-developers team mailing list archive
Mailing list archive
Re: MDEV-23766: Optimizer tracing code is prone to producing invalid JSON
On Tue, Nov 02, 2021 at 02:19:05AM +0200, Sergei Krivonos wrote:
> Applied fixes by your tests patch 638930f85f… <https://github.com/MariaDB/server/commit/638930f85ff40bd39354da81e53e7278a4b28487>
#1: Please check out the commit adding unit tests:
It turns out it is not that hard to add them. Any comments/ways to improve
#2: In the above commit, note that two last unit tests show a scenario that is
not currently checked.
#3: What is the point of functions Json_writer::on_add_str(), Json_writer::on_start_array,
I would understand if all the checking code was isolated in these functions.
But it isn't. Please either remove the functions or explain the reasoning.
#4 See the input below about the commit comment. Please change (feel free to
force-push into the branch after that).
I think this is all the input, and the patch will be ready for pushing once all
of this is addressed.
> > Item #2: please improve the commit comment as was requested in my previous
> > e-mail:
> > On Thu, Oct 28, 2021 at 04:58:35PM +0300, Sergey Petrunia wrote:
> >> First, input on the commit comment. Please consider it as a request applying
> >> to ALL further commits to the MariaDB codebase.
> >>> MDEV-23766: implemented requested debug checks
> >> Imagine somebody looking at this in a few years. Will they know what checks
> >> were requested? They might get a clue by looking at the Jira text, but the
> >> idea to make the commit comments concise and self-contained descriptions.
> >> Something like this:
> >> Line #1: one-line description of the patch:
> >>>> MDEV-23766: Make attempts to write invalid JSON cause assertion failures
> >> Subsequent lines:
> >>>> Make JSON writing API (class Json_writer) check the produced JSON document
> >>>> is valid. The following checks are made:
> >>>> - JSON objects must contain named members
> >>>> - JSON arrays must contain unnamed members.
> >>>> - (TODO: add other restrictions we're enforcing).
Sergei Petrunia, Software Developer
MariaDB Corporation | Skype: sergefp | Blog: http://petrunia.net