@ -801,6 +801,7 @@ errmsg(const char *fmt,...)
CHECK_STACK_DEPTH ( ) ;
oldcontext = MemoryContextSwitchTo ( edata - > assoc_context ) ;
edata - > message_id = fmt ;
EVALUATE_MESSAGE ( edata - > domain , message , false , true ) ;
MemoryContextSwitchTo ( oldcontext ) ;
@ -830,6 +831,7 @@ errmsg_internal(const char *fmt,...)
CHECK_STACK_DEPTH ( ) ;
oldcontext = MemoryContextSwitchTo ( edata - > assoc_context ) ;
edata - > message_id = fmt ;
EVALUATE_MESSAGE ( edata - > domain , message , false , false ) ;
MemoryContextSwitchTo ( oldcontext ) ;
@ -853,6 +855,7 @@ errmsg_plural(const char *fmt_singular, const char *fmt_plural,
CHECK_STACK_DEPTH ( ) ;
oldcontext = MemoryContextSwitchTo ( edata - > assoc_context ) ;
edata - > message_id = fmt_singular ;
EVALUATE_MESSAGE_PLURAL ( edata - > domain , message , false ) ;
MemoryContextSwitchTo ( oldcontext ) ;
@ -1361,6 +1364,7 @@ elog_finish(int elevel, const char *fmt,...)
recursion_depth + + ;
oldcontext = MemoryContextSwitchTo ( edata - > assoc_context ) ;
edata - > message_id = fmt ;
EVALUATE_MESSAGE ( edata - > domain , message , false , false ) ;
MemoryContextSwitchTo ( oldcontext ) ;
@ -1420,6 +1424,7 @@ format_elog_string(const char *fmt,...)
oldcontext = MemoryContextSwitchTo ( ErrorContext ) ;
edata - > message_id = fmt ;
EVALUATE_MESSAGE ( edata - > domain , message , false , true ) ;
MemoryContextSwitchTo ( oldcontext ) ;
@ -1458,6 +1463,11 @@ EmitErrorReport(void)
* where it would have much less information available . emit_log_hook is
* intended for custom log filtering and custom log message transmission
* mechanisms .
*
* The log hook has access to both the translated and original English
* error message text , which is passed through to allow it to be used
* as a message identifier . Note that the original text is not available
* for detail , detail_log , hint and context text elements .
*/
if ( edata - > output_to_server & & emit_log_hook )
( * emit_log_hook ) ( edata ) ;