From: Sabin Coanda <sabin.coanda@deuromedia.ro>
To: pgsql-sql@postgresql.org
Subject: Re: plpgsql language not aware of standard_conforming_strings ?
Date: Mon, 12 Nov 2007 13:10:50 +0200
Message-ID: <fh9cbj$2pd2$1@news.hub.org> (raw)
References: <fh99cq$2cfn$1@news.hub.org>
"Sabin Coanda" <sabin.coanda@deuromedia.ro> wrote in message
news:fh99cq$2cfn$1@news.hub.org...
...
>
> How can I get my desired function that means when I call test( 'a\b' ) it
> will return 'a\\b' ?
>
The problem seems to be the constant evaluation in plpgsql functions which
is not aware of standard_conforming_strings.
An answer may be to build my own replace function, that doesn't use constant
evaluation inside.
For instance:
CREATE OR REPLACE FUNCTION myreplace(sText varchar, sSrc varchar, sDst
varchar) RETURNS varchar AS $BODY$
BEGIN
RETURN replace( sText, sSrc, sDst );
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
Using this function will give the expected result, when
standard_conforming_strings = 'on', so
SELECT myreplace( 'a\b', '\', '\\' ); will give the result 'a\\b' as
expected.
In fact this is an workaround :((. It would be nice to make the language to
works like that :).
Regards,
Sabin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: sabin.coanda@deuromedia.ro
Subject: Re: plpgsql language not aware of standard_conforming_strings ?
In-Reply-To: <fh9cbj$2pd2$1@news.hub.org>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox