From: | Gregory Stark <stark(at)enterprisedb(dot)com> |
---|---|
To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | <pgsql-hackers(at)postgreSQL(dot)org> |
Subject: | Re: VARATT_EXTERNAL_GET_POINTER is not quite there yet |
Date: | 2008-02-21 09:11:38 |
Message-ID: | 87ir0ivflh.fsf@oxford.xeocode.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
> After much experimentation I was able to get it to work by invoking
> memcpy through a function pointer, which seems to be sufficient to
> disable this particular compiler's built-in intelligence about memcpy.
> I can't say that I find this a nice clean solution; but does anyone have
> a better one?
I'm thinking instead of having struct varlena (which you're not allowed to
safely use any members of anyways) we should just have a typedef to void*.
That would make things like DATUM_GET_TEXT_PP slightly more sane as well.
text* would just be a typedef to void* which could be passed to VARDATA_ANY
and VARDATA_ANY_EXHDR but not manipulated directly.
--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com
Get trained by Bruce Momjian - ask me about EnterpriseDB's PostgreSQL training!
From | Date | Subject | |
---|---|---|---|
Next Message | Magnus Hagander | 2008-02-21 09:18:38 | Re: Permanent settings |
Previous Message | Gevik Babakhani | 2008-02-21 08:04:56 | Re: Which MemoryContext? |