Re: SPI_exec does not return!
От | Jan Wieck |
---|---|
Тема | Re: SPI_exec does not return! |
Дата | |
Msg-id | 200107181054.f6IAsYd20969@jupiter.us.greatbridge.com обсуждение исходный текст |
Ответ на | SPI_exec does not return! (Markus Wagner <wagner@imsd.uni-mainz.de>) |
Список | pgsql-sql |
Markus Wagner wrote: > Hi, > > if I do a SELECT on a non-existing table, SPI_exec won't return. > I get, e. g. in pgaccess, an error message "<table> does not exist", > and my code below the function call is never reached. Right, the SPI_exec() call in turn calls the PostgreSQL parser and that raises an elog(ERROR) which longjmp()'s back into the backends main loop waiting for the next client query. > > So why return error codes for SPI_exec when you cannot evaluate them? What do you want here? No error, just an empty result of unspecified format? If the parser cannot determine(due to nonexistance of a table) which datatype the columns of the result set at least should have, whatelse could he do than trowing an ERROR? > > The background: > > I need to distinguish different client connections within a trigger > function. > To do this, I create a temporary table within a "login" function. > My trigger must check for the existence of this function. > I cannot think of any other method, since there is no "connection id" or > something like that! Unfortunately PL/pgSQL doesn't have global variables. PL/Tcl can have. If you cannot code a part of the login mechanism in PL/Tcl, setting a global variable and returning that in another PL/Tcl function, you could create atemp table with the same name in every connection and fill the connection-ID into that. Jan -- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #================================================== JanWieck@Yahoo.com # _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com
В списке pgsql-sql по дате отправления: