繼續分析:
setup_dictionary();
展開:
其中:
cmd 是:"/home/pgsql/project/bin/postgres" --single -F -O -c search_path=pg_catalog -c exit_on_error=true -j template1 >/dev/null
dictionary_file 是:/home/pgsql/project/share/snowball_create.sql
/*
* load extra dictionaries (Snowball stemmers)
*/
static void
setup_dictionary(void)
{
PG_CMD_DECL;
char **line;
char **conv_lines;
fputs(_("creating dictionaries ... "), stdout);
fflush(stdout);
/*
* We use -j here to avoid backslashing stuff
*/
snprintf(cmd, sizeof(cmd),
"\"%s\" %s -j template1 >%s",
backend_exec, backend_options,
DEVNULL);
PG_CMD_OPEN;
conv_lines = readfile(dictionary_file);
for (line = conv_lines; *line != NULL; line++)
{
PG_CMD_PUTS(*line);
free(*line);
}
free(conv_lines);
PG_CMD_CLOSE;
check_ok();
}