Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-hackers by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group