plpgsql direct from C?

Started by James Harperabout 20 years ago2 messagesgeneral
Jump to latest
#1James Harper
james.harper@bendigoit.com.au

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

#2Doug McNaught
doug@mcnaught.org
In reply to: James Harper (#1)
Re: plpgsql direct from C?

"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