Thread: plpgsql direct from C?

plpgsql direct from C?

From
"James Harper"
Date:
Is there an API method to be able to execute pl/pgsql (or any other
language) code directly from C?

Eg (please excuse the line wrapping, and the fact that this doesn't
represent a case where this would actually be useful!)

result = PQexecPL("plpgsql", "IF $1 = 'xyzzy" THEN SELECT * FROM fnord
END IF;", "xyzzy");

?

Thanks

James

Re: plpgsql direct from C?

From
Doug McNaught
Date:
"James Harper" <james.harper@bendigoit.com.au> writes:

> Is there an API method to be able to execute pl/pgsql (or any other
> language) code directly from C?
>
> Eg (please excuse the line wrapping, and the fact that this doesn't
> represent a case where this would actually be useful!)
>
> result = PQexecPL("plpgsql", "IF $1 = 'xyzzy" THEN SELECT * FROM fnord
> END IF;", "xyzzy");

Not currently.  Any server-side code has to be in a function, so such
an API would have to create a temporary function (which you might or
might not have privileges to do), call it, and then drop it.  It's
theoretically possible I guess, but would be ugly and slow.

-Doug