pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
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 





view thread (3+ messages)  latest in thread

Message-ID: <fh9cbj$2pd2$1@news.hub.org>
Permalink:  ../fh9cbj$2pd2$1@news.hub.org/
Also on:    postgresql.org/message-id/fh9cbj$2pd2$1@news.hub.org

 · 

reply

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