Thread: Re: [HACKERS] varchar() vs char16 performance

Re: [HACKERS] varchar() vs char16 performance

From
Zeugswetter Andreas
Date:
>> I had thought that char2-16 add _no_ functionality over the char() and
>> varchar() types; Tatsuo points out at least one capability which they
>> have. Are there any others?
>>
>> They give and take a char * pointer to a C function like
>> create function upper(char16)
>> returning char16 as '/u/my/upper.so' language 'sql';
>> whereas char() gives a varlena pointer.

>I don't really see this as a big deal since, for example, only 16 bytes
>are allocated for a char16, so it is not guaranteed to be zero delimited
>and you have to make a working copy to use libc functions anyway. Also,
>that is really an implementation detail or annoyance rather than a
>user-visible feature.

I thought almost all postgresql users write their C extensions ;-)
it is ***the*** feature of postgresql. I am not saying that this is a real problem.
It is just one thing that will be different, but ok for me :-)

>With the macros that are provided for the varlena structure
>manipulations, things are pretty convenient. Are there more macros which
>could be helpful here??