Re: Trouble Escaping Quotes - Mailing list pgsql-admin

From Joshua D. Drake
Subject Re: Trouble Escaping Quotes
Date
Msg-id 41F02CA4.10100@commandprompt.com
Whole thread Raw
In response to Trouble Escaping Quotes  ("Haron, Charles" <charles.haron@cognitive.com>)
List pgsql-admin
Haron, Charles wrote:
> Hello,
>
> I'm using a perl function in my PosgreSQL database to send an email.
> However, field data containing single quotes causes the function to fail.
> I'm having trouble escaping the quotes.  Sample function definition follows.

You escape single quotes in PostgreSQL with 2 single quotes... e.g;

print 'foo';

Should be:

print ''foo''; (not double quotes, two single quotes)

Sincerely,

Joshua D. Drake


>
>
> If company_name is Bob's Fixit, the function will fail.
>
> CREATE OR REPLACE FUNCTION public.send_rma(rma_info)
>   RETURNS void AS
> '
>     use Mail::Sender;
>     my ($rma_data) = @_;
>     my ($sender) = new Mail::Sender {
>       smtp => \'192.168.1.1\',
>       from => \'supp@cog.com\',
>      on_errors => \'die\'
>     };
>
>     $sender->Open({
>       to => \'pgsql-admin@postgresql.org\',
>       cc => \'supp@cog.com\',
>       subject => "RMA Request $rma_data->{\'rma\'}"
>     });
>
>     $sender->SendLineEnc("[RMA]");
>     $sender->SendLineEnc("$rma_data->{\'rma\'}");
>
>     $sender->SendLineEnc("[CASE NUMBER]");
>     $sender->SendLineEnc("$rma_data->{\'case_number\'}");
>
>     $sender->SendLineEnc("[COMPANY NAME]");
>     $sender->SendLineEnc("$rma_data->{\'company_name\'}");
>
>     $sender->Close();
>
> '
>   LANGUAGE 'plperlu' STABLE;
>
>
> Thanks,
> Chuck
>
> ***********************
>
> Confidentiality notice:  This electronic transmission message is intended only for the use of the individual or
entityto whom it is addressed.  This information should be treated as proprietary, confidential, legally privileged and
exemptfrom disclosure under applicable law.  If the reader of this message is not the intended recipient, (or the
employeeor agent responsible for delivering the message to the intended recipient), you are hereby notified that any
use,dissemination, distribution, or copying of this message is strictly prohibited.  If you have received this
communicationin error, please immediately notify us by telephone (720) 221-9421 or by return e-mail and delete this
message. Thank you for your cooperation. 
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
>       joining column's datatypes do not match


--
Command Prompt, Inc., your source for PostgreSQL replication,
professional support, programming, managed services, shared
and dedicated hosting. Home of the Open Source Projects plPHP,
plPerlNG, pgManage,  and pgPHPtoolkit.
Contact us now at: +1-503-667-4564 - http://www.commandprompt.com


Attachment

pgsql-admin by date:

Previous
From: "Haron, Charles"
Date:
Subject: Trouble Escaping Quotes
Next
From: "Iain"
Date:
Subject: Re: installing postgres7.3