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 по дате отправления:

Предыдущее
От: Bhuvan A
Дата:
Сообщение: Re: CAST(ipaddress as text) -- HOW?
Следующее
От: Raymond Chui
Дата:
Сообщение: What is the syntax turn off auto commit?