33#define fprintf(file, fmt, msg) GUC_flex_fatal(msg)
static sigjmp_buf * GUC_flex_fatal_jmp
static unsigned int ConfigFileLineno
static int GUC_flex_fatal(const char *msg)
static void FreeConfigVariable(ConfigVariable *item)
static const char * GUC_flex_fatal_errmsg
62%option never-interactive
68%option prefix="GUC_yy"
77INTEGER {SIGN}?({DIGIT}+|0x{HEXDIGIT}+){UNIT_LETTER}*
79EXPONENT [Ee]{SIGN}?{DIGIT}+
80REAL {SIGN}?{DIGIT}*"."{DIGIT}*{EXPONENT}?
82LETTER [A-Za-z_\200-\377]
83LETTER_OR_DIGIT [A-Za-z_0-9\200-\377]
85ID {LETTER}{LETTER_OR_DIGIT}*
86QUALIFIED_ID {ID}"."{ID}
88UNQUOTED_STRING {LETTER}({LETTER_OR_DIGIT}|[-._:/])*
89STRING \'([^'\\\n]|\\.|\'\')*\'
146 "config file processing",
177 int depth,
int elevel,
193 errmsg(
"empty configuration file name: \"%s\"",
210 errmsg(
"could not open configuration file \"%s\": maximum nesting depth exceeded",
230 errmsg(
"configuration file recursion in \"%s\"",
246 errmsg(
"could not open configuration file \"%s\": %m",
257 (
errmsg(
"skipping missing configuration file \"%s\"",
298 (*tail_p)->
next = item;
353 volatile bool OK =
true;
372 elog(elevel,
"%s at file \"%s\" line %u",
388 elog(elevel,
"yylex_init() failed: %m");
497 (*tail_p)->
next = item;
518 errmsg(
"syntax error in file \"%s\" line %u, near end of line",
528 errmsg(
"syntax error in file \"%s\" line %u, near token \"%s\"",
548 errmsg(
"too many syntax errors found, abandoning file \"%s\"",
583 int depth,
int elevel,
680 for (
i = 0,
j = 0;
i <
len;
i++)
715 s[
i + k] >=
'0' && s[
i + k] <=
'7' && k < 3;
727 else if (s[
i] ==
'\'' && s[
i + 1] ==
'\'')
static void cleanup(void)
#define Assert(condition)
char * AbsoluteConfigLocation(const char *location, const char *calling_file)
char ** GetConfFilesInDir(const char *includedir, const char *calling_file, int elevel, int *num_filenames, char **err_msg)
#define CONF_FILE_MAX_DEPTH
int errcode_for_file_access(void)
int errcode(int sqlerrcode)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
FILE * AllocateFile(const char *name, const char *mode)
#define palloc_object(type)
void FreeConfigVariables(ConfigVariable *list)
void record_config_file_error(const char *errmsg, const char *config_file, int lineno, ConfigVariable **head_p, ConfigVariable **tail_p)
bool ParseConfigFp(FILE *fp, const char *config_file, int depth, int elevel, ConfigVariable **head_p, ConfigVariable **tail_p)
char * DeescapeQuotedString(const char *s)
bool ParseConfigFile(const char *config_file, bool strict, const char *calling_file, int calling_lineno, int depth, int elevel, ConfigVariable **head_p, ConfigVariable **tail_p)
bool ParseConfigDirectory(const char *includedir, const char *calling_file, int calling_lineno, int depth, int elevel, ConfigVariable **head_p, ConfigVariable **tail_p)
void ProcessConfigFile(GucContext context)
ConfigVariable * ProcessConfigFileInternal(GucContext context, bool applySettings, int elevel)
int guc_name_compare(const char *namea, const char *nameb)
char * pstrdup(const char *in)
void pfree(void *pointer)
MemoryContext CurrentMemoryContext
void MemoryContextDelete(MemoryContext context)
#define AllocSetContextCreate
#define ALLOCSET_DEFAULT_SIZES
static MemoryContext MemoryContextSwitchTo(MemoryContext context)
static char * config_file
char * psprintf(const char *fmt,...)
struct yy_buffer_state * YY_BUFFER_STATE
struct ConfigVariable * next