From: | Gregory Stark <stark(at)enterprisedb(dot)com> |
---|---|
To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "PostgreSQL-development Hackers" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: [PATCHES] Eliminate more detoast copies for packed varlenas |
Date: | 2007-09-24 14:15:01 |
Message-ID: | 87abrcf8uy.fsf@oxford.xeocode.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-patches |
"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
> (It might be interesting to make textin produce a packed result when
> possible, just to see what breaks; but I would be afraid to try to do
> that for production...)
Reassuringly all checks pass with a hack like that in place. (attached)
I think the right approach here is to define a new type text_packed * (which
would just be a char* or varattrib_1b* or something like that). Then
PG_GETARG_*_PP would return one of these new pointers.
This does leave us with warnings whenever an old-style function calls a
new-style function but I think there would be relatively few of those since
we'll tackle the higher traffic areas first which will be the lower level
functions.
The benefit is that it will give us a warning if we try to pass a pointer from
a new-style function to an old-style function which isn't prepared to receive
it.
Attachment | Content-Type | Size |
---|---|---|
debug-packed-varlena_v0.patch | text/x-diff | 832 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2007-09-24 14:32:19 | Re: Bytea as C string in pg_convert? |
Previous Message | Dave Page | 2007-09-24 13:18:38 | Re: CREATE DATABASE cannot be executed from a function or multi-command string |
From | Date | Subject | |
---|---|---|---|
Next Message | ITAGAKI Takahiro | 2007-09-25 01:07:41 | Re: ilike multi-byte pattern cache |
Previous Message | Simon Riggs | 2007-09-24 10:30:37 | Re: [HACKERS] 'Waiting on lock' |