Re: Performance Enhancement/Fix for Array Utility Functions - Mailing list pgsql-hackers

From Kevin Grittner
Subject Re: Performance Enhancement/Fix for Array Utility Functions
Date
Msg-id 4C5AB3F5020000250003426F@gw.wicourts.gov
Whole thread Raw
In response to Re: Performance Enhancement/Fix for Array Utility Functions  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: Performance Enhancement/Fix for Array Utility Functions
List pgsql-hackers
Robert Haas <robertmhaas@gmail.com> wrote:
> On Wed, Jul 28, 2010 at 1:20 AM, Mike Lewis
> <mikelikespie@gmail.com> wrote:
>>>
>>> > 1. As-is, it's a significant *pessimization* for small arrays,
>>> > because the heap_tuple_untoast_attr_slice code does a
>>> > palloc/copy even when one is not needed because the data is
>>> > already not toasted.  I think there needs to be a code path
>>> > that avoids that.
>>>
>>> This seems like it shouldn't be too hard to fix, and I think it
>>> should be fixed.
>>
>> Do you have any suggestions where to start?  I do agree that this
>> should be fixed as well.   I don't have too much time to dedicate
>> to this project.  I can try to put in some time this weekend
>> though if it isn't looking too bad.
> 
> Perhaps you could check VARATT_IS_EXTENDED.  If that's true, then
> slice it, but if it's false, then just use the original datum. 
> You might want to wrap that up in a function rather than cramming
> it all in the macro definition, though.
As Mike hasn't been able to find the time to get to this yet, I'm
marking this as "Returned with Feedback".  Hopefully the issues can
be addressed in the next five weeks and we can pick it up again in
the next CommitFest.
-Kevin


pgsql-hackers by date:

Previous
From: Merlin Moncure
Date:
Subject: remove upsert example from docs
Next
From: Josh Berkus
Date:
Subject: Re: pg_stat_user_functions' notion of user