Re: AW: [HACKERS] varchar() vs char16 performance - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: AW: [HACKERS] varchar() vs char16 performance
Date
Msg-id 199803191950.OAA14676@candle.pha.pa.us
Whole thread Raw
In response to Re: AW: [HACKERS] varchar() vs char16 performance  ("Thomas G. Lockhart" <lockhart@alumni.caltech.edu>)
List pgsql-hackers
> 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.

Agreed.

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

From postgres.h:

    #define VARSIZE(PTR)    (((struct varlena *)(PTR))->vl_len)
    #define VARDATA(PTR)    (((struct varlena *)(PTR))->vl_dat)
    #define VARHDRSZ        sizeof(int32)

I have gone throught the code before 6.3, and changed many hard-coded
4's to use these macros.
--
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)

pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] Re: [PATCHES] patches for 6.2.1p6
Next
From: James Hughes
Date:
Subject: Re: [HACKERS] VACUUM ANALYZE Problem