Simplifying unknown-literal handling - Mailing list pgsql-hackers

From Tom Lane
Subject Simplifying unknown-literal handling
Date
Msg-id 4146.1117381638@sss.pgh.pa.us
Whole thread Raw
Responses Re: Simplifying unknown-literal handling  (Alvaro Herrera <alvherre@surnet.cl>)
List pgsql-hackers
For the past couple of releases we've had support for cstring
(null-terminated string) as a full fledged datatype: you set
typlen = -2 to indicate that strlen() must be used to calculate
the actual size of a Datum.

It occurs to me that we should change type UNKNOWN's internal
representation to be like cstring rather than like text.  The
advantage of this is that the places in the parser that currently
call unknownin and unknownout could be replaced by just
CStringGetDatum and DatumGetCString, respectively, thus saving
two palloc's and two memcpy's per string literal.  It's not much,
but considering that this happens every time we parse a string
literal, I think it'll add up to a savings worth the small amount
of effort needed.

Anyone see a reason not to change this?
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: compiling postgres with Visual Age compiler on OpenPower5 / Linux
Next
From: Tom Lane
Date:
Subject: Small change in LockAcquire API