mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-09 10:59:36 +02:00
c8e8b5a6e2
To avoid minimize risk inside the postmaster, we subject this feature to a number of significant limitations. We very much wish to avoid doing any complex processing inside the postmaster, due to the posssibility that the crashed backend has completely corrupted shared memory. To that end, no encoding conversion is done; instead, we just replace anything that doesn't look like an ASCII character with a question mark. We limit the amount of data copied to 1024 characters, and carefully sanity check the source of that data. While these restrictions would doubtless be unacceptable in a general-purpose logging facility, even this limited facility seems like an improvement over the status quo ante. Marti Raudsepp, reviewed by PDXPUG and myself
22 lines
571 B
C
22 lines
571 B
C
/*-----------------------------------------------------------------------
|
|
* ascii.h
|
|
*
|
|
* Portions Copyright (c) 1999-2011, PostgreSQL Global Development Group
|
|
*
|
|
* src/include/utils/ascii.h
|
|
*
|
|
*-----------------------------------------------------------------------
|
|
*/
|
|
|
|
#ifndef _ASCII_H_
|
|
#define _ASCII_H_
|
|
|
|
#include "fmgr.h"
|
|
|
|
extern Datum to_ascii_encname(PG_FUNCTION_ARGS);
|
|
extern Datum to_ascii_enc(PG_FUNCTION_ARGS);
|
|
extern Datum to_ascii_default(PG_FUNCTION_ARGS);
|
|
extern void ascii_safe_strncpy(char *dest, const char *src, int len);
|
|
|
|
#endif /* _ASCII_H_ */
|