Re: [HACKERS] Red-Black tree traversal tests - Mailing list pgsql-hackers

From Aleksander Alekseev
Subject Re: [HACKERS] Red-Black tree traversal tests
Date
Msg-id 20170801095446.GA22764@e733.localdomain
Whole thread Raw
In response to [HACKERS] Red-Black tree traversal tests  (Victor Drobny <v.drobny@postgrespro.ru>)
Responses Re: [HACKERS] Red-Black tree traversal tests  (Aleksander Alekseev <a.alekseev@postgrespro.ru>)
List pgsql-hackers
Hi Victor,

> Postgres now has its own red-black tree implementation. This tree has 4
> types of traversals. In the attachment, you can find module test that
> checks the correctness of tree traversal strategies.
>
> I hope that someone can find it useful.

Great job! However, according to lcov report, some procedures declared
in rbtree.c are still not test covered even with your patch,
particularly:

* rb_find
* rb_leftmost
* rb_delete + dependencies (rb_delete_fixup, etc)

You can generate a corresponding report using this script [1].

I must say, I was a little surprised that rb_find is not used anywhere
in PostgreSQL code. Turned out that rbtree currently is used only by GIN
and it uses a small subset of all procedures.

If it's not too much trouble perhaps you could write a few more test so
we would have 100% test coverage for rbtree, could modify it safely and
be sure that it actually works when someone will need the rest of its
functionality?

[1]: https://github.com/afiskon/pgscripts/blob/master/code-coverage.sh


--
Best regards,
Aleksander Alekseev

pgsql-hackers by date:

Previous
From: Etsuro Fujita
Date:
Subject: Re: [HACKERS] map_partition_varattnos() and whole-row vars
Next
From: Aleksander Alekseev
Date:
Subject: Re: [HACKERS] Red-Black tree traversal tests