Re: pageinspect: Hash index support

Ashutosh Sharma <ashu.coek88@gmail.com>

From: Ashutosh Sharma <ashu.coek88@gmail.com>
To: Jesper Pedersen <jesper.pedersen@redhat.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, Michael Paquier <michael.paquier@gmail.com>, Jeff Janes <jeff.janes@gmail.com>, Alvaro Herrera <alvherre@2ndquadrant.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2017-01-05T12:13:50Z
Lists: pgsql-hackers
Hi Jesper,

> * Rename convert_ovflblkno_to_bitno to _hash_ovflblkno_to_bitno
>
> Such that there is only 1 method, which is exposed

Okay, Thanks. It makes sense.

>
> * Readded pageinspect--1.6.sql
>
> In order to have the latest pageinspect interface in 1 file, as we need
> something to install from.

I think there should be no problem even if we simply add
pageinspect--1.5--1.6.sql file instead of removing 1.5.sql as with the
latest changes to the create extension infrastructure in postgresql it
automatically finds a lower version script if unable to find the
default version script and then upgrade it to the latest version.

> Removing --1.5.sql otherwise would give
>
> test=# CREATE EXTENSION "pageinspect";
> ERROR:  extension "pageinspect" has no installation script nor update path
> for version "1.6"

I didn't get this. Do you mean to say that if you add 1.6.sql and do
not remove 1.5.sql you get this error when trying to add pageinspect
module. I didn't
get any such error. See below,

postgres=# create extension pageinspect WITH VERSION '1.6';
CREATE EXTENSION

>
> * Minor documentation changes
>
> Look it over, and maybe there is a simple test case we can add for this.

Peter has already written a test-case-[1] based on your earlier patch
for supporting hash index with pageinspect module. Once the latest
patch (v10) becomes stable i will share a separete patch having a
test-case for hash index. Infact I will try to modify an already
existing patch by Peter.

[1]-https://www.postgresql.org/message-id/bcf8c21b-702e-20a7-a4b0-236ed2363d84%402ndquadrant.com

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


Commits

  1. Fix incorrect typecast.

  2. In pageinspect/hashfuncs.c, avoid crashes on alignment-picky machines.

  3. pageinspect: Support hash indexes.

  4. Add uuid to the set of types supported by contrib/btree_gist.

  5. Allow CREATE EXTENSION to follow extension update paths.