Re: pgcrypto: PGP armor headers - Mailing list pgsql-hackers

From Marko Tiikkaja
Subject Re: pgcrypto: PGP armor headers
Date
Msg-id 54242256.8060500@joh.to
Whole thread Raw
In response to Re: pgcrypto: PGP armor headers  (Heikki Linnakangas <hlinnakangas@vmware.com>)
List pgsql-hackers
On 9/25/14 4:08 PM, Heikki Linnakangas wrote:
> On 09/25/2014 04:56 PM, Marko Tiikkaja wrote:
>> On 9/25/14 3:50 PM, Heikki Linnakangas wrote:
>>> On 09/10/2014 04:35 PM, Marko Tiikkaja wrote:
>>> It might've been a tad more efficient to return
>>> the StringInfo buffer directly from pgp_armor/dearmor, and avoid the
>>> extra palloc and memcpy, but this isn't performance critical enough for
>>> it to really matter.
>>
>> I couldn't see any way of doing that without breaking the VARDATA
>> abstraction.  I even went looking for similar cases in the source code,
>> but couldn't find any.  If you can come up with a way, feel free to
>> change that -- I'd like to learn myself.
>
> You could first append VARHDRSZ zeros to the StringInfo, then append the
> base64-encoded data, and last replace the zeros with the real length,
> using SET_VARSIZE.

That's assuming that VARDATA() is at exactly VARHDRSZ bytes.  I couldn't 
find any callers making that assumption.


.marko



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: Scaling shared buffer eviction
Next
From: Simon Riggs
Date:
Subject: Re: INSERT ... ON CONFLICT {UPDATE | IGNORE}