Re: "Some tests to cover hash_index" - Mailing list pgsql-hackers

From Ashutosh Sharma
Subject Re: "Some tests to cover hash_index"
Date
Msg-id CAE9k0PmvYW+NGTa_Q=YatySjsWRK8CToRCHbxBzOj47OYdAcdw@mail.gmail.com
Whole thread Raw
In response to Re: "Some tests to cover hash_index"  (Amit Kapila <amit.kapila16@gmail.com>)
Responses Re: "Some tests to cover hash_index"  (Ashutosh Sharma <ashu.coek88@gmail.com>)
Re: "Some tests to cover hash_index"  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
Hi All,

I have reverified the code coverage for hash index code using the test file (commit-hash_coverage_test) attached with this mailing list and have found that some of the  code in _hash_squeezebucket() function flow is not being covered. For this i have added a small testcase on top of 'commit hash_coverage_test' patch.  I have done this mainly to test Amit's WAL for hash index patch [1].

I have also removed the warning message that we used to get for hash index like 'WARNING: hash indexes are not WAL-logged and their use is discouraged' as this message is now no more visible w.r.t hash index after the WAL patch for hash index. Please have a look and let me know your thoughts.

[1] - https://www.postgresql.org/message-id/CAA4eK1JOBX%3DYU33631Qh-XivYXtPSALh514%2BjR8XeD7v%2BK3r_Q%40mail.gmail.com

With Regards,
Ashutosh Sharma
EnterpriseDB:http://www.enterprisedb.com

On Sat, Aug 6, 2016 at 9:41 AM, Amit Kapila <amit.kapila16@gmail.com> wrote:
On Thu, Aug 4, 2016 at 7:24 PM, Mithun Cy <mithun.cy@enterprisedb.com> wrote:
I am attaching the patch to improve some coverage of hash index code [1].
I have added some basic tests, which mainly covers overflow pages. It took 2 sec extra time in my machine in parallel schedule.




HitTotalCoverage
old testsLine Coverage780147852.7

Function Coverage638574.1
improvement after testsLine Coverage1181147879.9 %

Function Coverage788591.8 %




I think the code coverage improvement for hash index with these tests seems to be quite good, however time for tests seems to be slightly on higher side.  Do anybody have better suggestion for these tests?

diff --git a/src/test/regress/sql/concurrent_hash_index.sql b/src/test/regress/sql/concurrent_hash_index.sql

I wonder why you have included a new file for these tests, why can't be these added to existing hash_index.sql.

+--
+-- Cause some overflow insert and splits.
+--
+CREATE TABLE con_hash_index_table (keycol INT);
+CREATE INDEX con_hash_index on con_hash_index_table USING HASH (keycol);

The relation name con_hash_index* choosen in above tests doesn't seem to be appropriate, how about hash_split_heap* or something like that.

Register your patch in latest CF (https://commitfest.postgresql.org/10/)

--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com

pgsql-hackers by date:

Previous
From: Ryan Murphy
Date:
Subject: Re: Patch: initdb: "'" for QUOTE_PATH (non-windows)
Next
From: Ashutosh Sharma
Date:
Subject: Re: "Some tests to cover hash_index"