RISKO Gergely wrote:
[Charset iso-8859-1,iso- unsupported, skipping...]
> I found a funny bug in postgres with c functions. (or feature??)
> Let's say we have got an function like this:
> CREATE FUNCTION hupper(text)
> RETURNS text
> AS '/fun.so'
> LANGUAGE 'c';
This is actually neither a feature, nor a bug in Postgres.
Your function is violating some coding rules.
The text argument handed into is actually residing inside the
shared buffer cache. So you're not supposed to change it!
Your function isn't safe for compressed or toasted values. If
you accidentially have big data in that column, it might
crash the backend completely.
A function returning text has to allocate the return value
Look into utils/adt/*.c for examples how to deal correctly
with text attributes.
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck(at)Yahoo(dot)com #
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
In response to
pgsql-hackers by date
|Next:||From: Tom Lane||Date: 2001-07-03 21:11:46|
|Subject: Re: Buffer access rules, and a probable bug |
|Previous:||From: Alex Pilosov||Date: 2001-07-03 20:32:21|
|Subject: Re: New SQL Datatype RECURRINGCHAR|