Обсуждение: ErrorContextCallback
Hi! Sorry if I post this mail to the wrong list, I checked each by it's theme and this seems to be the best. I have a strange problem with an errorcontextcallback: Given the following code fragment: mycallback->previous = error_context_stack; elog(DEBUG1,"1"); mycallback->callback = plpgj_ErrorContextCallback; elog(DEBUG1,"2"); mycallback->arg = "hello world!"; elog(DEBUG1,"3"); error_context_stack = mycallback; elog(DEBUG1,"4"); and the callback function logs "callback", the following apears in the log: DEBUG: 1 DEBUG: 2 DEBUG: 3 ERROR: callback Can anybody tell me why this happens? Thanks, Laszlo
Вложения
Laszlo Hornyak <kocka@forgeahead.hu> writes: > and the callback function logs "callback", the following apears in the log: > ERROR: callback > Can anybody tell me why this happens? Sure you didn't "elog(ERROR)" rather than "elog(LOG)" inside the callback function? In any case, you can't expect useful help without showing us the callback function. regards, tom lane
On Mon, 9 Aug 2004, Laszlo Hornyak wrote: > Hi! > > Sorry if I post this mail to the wrong list, I checked each by it's > theme and this seems to be the best. > I have a strange problem with an errorcontextcallback: > Given the following code fragment: > mycallback->previous = error_context_stack; > elog(DEBUG1,"1"); > mycallback->callback = plpgj_ErrorContextCallback; > elog(DEBUG1,"2"); > mycallback->arg = "hello world!"; > elog(DEBUG1,"3"); > error_context_stack = mycallback; Its only at the lijne above that you're updating error_context_stack. > elog(DEBUG1,"4"); Every call to elog() (errfinish), calls the callbacks registered in error_context_stack, if my memory serves me correctly. It might not be relevant to the problem you're solving, but have you looked at Tom's try/catch code in HEAD? Gavin