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 | Resend email |
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 |
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 |