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

From: darrenk(at)insightdist(dot)com (Darren King)
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: AW: [HACKERS] varchar() vs char16 performance
Date: 1998-03-19 17:29:18
Message-ID: 9803191729.AA79216@ceodev
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> 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.
>

The char[248] types rip out just fine.

But that char16 is a whole new beast. It's tentacles are everywhere...

>From comments in various files, the char16 was the original name type
and was then replaced with 'name'. But there are still a few places
of inconsistency in the code, namely (*bad pun*) in the cache code.

There is this eqproc array in catcache.c that is a hack that has to
match the oids of the types from oid 16 to 30, except that F_CHAR16EQ
is still where F_NAMEEQ should be. Tried renaming it last night, but
initdb would blowup the first insert, so there is some other effect in
the caching code.

Still other incomplete conversions. In pg_proc.h the arg types for
char16eq, lt, le, gt, ge & ne are names (oid 19) when they should be
char16 (oid 20)! But char16eq is correctly defined to take char16
in pg_operator.h.

I'll work on this some more tonite.

darrenk

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Zeugswetter Andreas 1998-03-19 18:04:18 Re: [HACKERS] varchar() vs char16 performance
Previous Message Thomas G. Lockhart 1998-03-19 17:27:38 Re: AW: [HACKERS] varchar() vs char16 performance