Re: Escaping in C-language functions - Mailing list pgsql-general

From Andreas Scherbaum
Subject Re: Escaping in C-language functions
Date
Msg-id 3CAB2AF6.D7EDA003@htl.de
Whole thread Raw
In response to Re: Escaping in C-language functions  (Jan Wieck <janwieck@yahoo.com>)
List pgsql-general
Jan Wieck wrote:

> > >>>i have a C-language function and need to escape some strings returned
> > >>>from SPI_getvalue to insert into another query string.
> > >>>Is there a proper way to do the escaping or should i use
> > >>>my own functions for that?
> > >>>Or i'm totally wrong and there's a better way to get the values
> > >>>from a row and insert it into another table?
> > >>
> > >
> > >>If you are using 7.2, see section 1.3.2. (Escaping strings for inclusion
> > >>in SQL queries) at:
> > >>http://www.us.postgresql.org/users-lounge/docs/7.2/postgres/libpq-exec.html
> > >>
> > >>If you are using < 7.2, you'll have to create your own function. See
> > >>fe-exec.c in current sources for the 7.2 function.
> > >
> > >
> > > I'm inside a C-language function (on the server side), not inside a
> > > application written in C.

[...]

>     There is a builtin function
>
>         quote_literal(text) returns text

Any idea (or a short example code) how to use this function inside
a trigger function written in C?

The value is returned from SPI_getbinval (Datum) or SPI_getvalue (char i
think).
But in the last method i have a problem with \0.


Best regards

--
                                  Andreas 'ads' Scherbaum

pgsql-general by date:

Previous
From: Steve Lane
Date:
Subject: Postgres/PHP, Apache child processes dying
Next
From: Jan Wieck
Date:
Subject: Re: do foreign key checks lock parent table ?