Re: Pluggable Storage - Andres's take

From: Haribabu Kommi <kommi(dot)haribabu(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Pluggable Storage - Andres's take
Date: 2018-09-28 02:21:08
Message-ID: CAJrrPGfbh32BuiFYV0go06AQoWkkHmzB=HOG8wQa3R2WERT9_w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox
Thread:
Lists: pgsql-hackers

On Fri, Sep 21, 2018 at 5:40 PM Haribabu Kommi <kommi(dot)haribabu(at)gmail(dot)com>
wrote:

>
> On Fri, Sep 21, 2018 at 5:05 PM Andres Freund <andres(at)anarazel(dot)de> wrote:
>
>> Hi,
>>
>> On 2018-09-21 16:57:43 +1000, Haribabu Kommi wrote:
>>
>> > For example, in the sequential scan, the heap returns the slot with
>> > the tuple or with value array of all the columns and then the data gets
>> > filtered and later removed the unnecessary columns with projection.
>> > This works fine for the row based storage. For columnar storage, if
>> > the storage knows that upper layers needs only particular columns,
>> > then they can directly return the specified columns and there is no
>> > need of projection step. This will help the columnar storage also
>> > to return proper columns in a faster way.
>>
>> I think this is an important feature, but I feel fairly strongly that we
>> should only tackle it in a second version. This patchset is already
>> pretty darn large. It's imo not just helpful for columnar, but even for
>> heap - we e.g. spend a lot of time deforming columns that are never
>> accessed. That's particularly harmful when the leading columns are all
>> NOT NULL and fixed width, but even if not, it's painful.
>>
>
> OK. Thanks for your opinion.
> Then I will first try to cleanup the open items of the existing patch.
>

Here I attached further cleanup patches.
1. Re-arrange the GUC variable
2. Added a check function hook for default_table_access_method GUC
3. Added a new hook validate_index. I tried to change the function
validate_index_heapscan to slotify, but that have many problems as it
is accessing some internals of the heapscandesc structure and accessing
the buffer and etc.

So I added a new hook and provided a callback to handle the index insert.
Please check and let me know comments?

I will further add the new API's that are discussed for Zheap storage and
share the patch.

Regards,
Haribabu Kommi
Fujitsu Australia

Attachment Content-Type Size
0003-validate-index-scan-hook-addition.patch application/octet-stream 23.4 KB
0001-Movting-GUC-variable-declartion-to-proper-place.patch application/octet-stream 1.8 KB
0002-check_default_table_access_method-hook-to-verify-the.patch application/octet-stream 4.7 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Langote 2018-09-28 02:25:07 Re: heap_sync seems rather oblivious to partitioned tables (wal_level=minimal)
Previous Message Haribabu Kommi 2018-09-28 02:15:41 Re: New function pg_stat_statements_reset_query() to reset statistics of a specific query