Simplifying unknown-literal handling

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-hackers(at)postgreSQL(dot)org
Subject: Simplifying unknown-literal handling
Date: 2005-05-29 15:47:18
Message-ID: 4146.1117381638@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2005-05-29 16:06:50 Small change in LockAcquire API
Previous Message Tom Lane 2005-05-29 15:26:24 Re: compiling postgres with Visual Age compiler on OpenPower5 / Linux