PostgreSQL Source Code
git master
|
#include "postgres_fe.h"
#include <ctype.h>
#include <sys/resource.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/wait.h>
#include <signal.h>
#include <unistd.h>
#include "common/logging.h"
#include "common/restricted_token.h"
#include "common/string.h"
#include "common/username.h"
#include "getopt_long.h"
#include "lib/stringinfo.h"
#include "libpq-fe.h"
#include "libpq/pqcomm.h"
#include "pg_config_paths.h"
#include "pg_regress.h"
#include "portability/instr_time.h"
Go to the source code of this file.
Data Structures | |
struct | _resultmap |
Macros | |
#define | TESTNAME_WIDTH 36 |
#define | WAIT_TICKS_PER_SECOND 20 |
#define | plan(x) emit_tap_output(PLAN, "1..%i", (x)) |
#define | note(...) emit_tap_output(NOTE, __VA_ARGS__) |
#define | note_detail(...) emit_tap_output(NOTE_DETAIL, __VA_ARGS__) |
#define | diag(...) emit_tap_output(DIAG, __VA_ARGS__) |
#define | note_end() emit_tap_output(NOTE_END, "\n"); |
#define | bail_noatexit(...) bail_out(true, __VA_ARGS__) |
#define | bail(...) bail_out(false, __VA_ARGS__) |
#define | psql_command(database, ...) |
#define | MAX_PARALLEL_TESTS 100 |
#define | ULONGPID(x) (unsigned long) (x) |
Typedefs | |
typedef struct _resultmap | _resultmap |
typedef enum TAPtype | TAPtype |
Enumerations | |
enum | TAPtype { DIAG = 0 , BAIL , NOTE , NOTE_DETAIL , NOTE_END , TEST_STATUS , PLAN , NONE } |
Functions | |
static bool | directory_exists (const char *dir) |
static void | make_directory (const char *dir) |
static void | test_status_print (bool ok, const char *testname, double runtime, bool parallel) |
static void | test_status_ok (const char *testname, double runtime, bool parallel) |
static void | test_status_failed (const char *testname, double runtime, bool parallel) |
static void | bail_out (bool noatexit, const char *fmt,...) pg_attribute_printf(2 |
static void static void | emit_tap_output (TAPtype type, const char *fmt,...) pg_attribute_printf(2 |
static void static void static void | emit_tap_output_v (TAPtype type, const char *fmt, va_list argp) pg_attribute_printf(2 |
static void static void static void static StringInfo | psql_start_command (void) |
static void | psql_add_command (StringInfo buf, const char *query,...) pg_attribute_printf(2 |
static void static void | psql_end_command (StringInfo buf, const char *database) |
static void | unlimit_core_size (void) |
void | add_stringlist_item (_stringlist **listhead, const char *str) |
static void | free_stringlist (_stringlist **listhead) |
static void | split_to_stringlist (const char *s, const char *delim, _stringlist **listhead) |
static void | stop_postmaster (void) |
static void | remove_temp (void) |
static void | signal_remove_temp (SIGNAL_ARGS) |
static const char * | make_temp_sockdir (void) |
static bool | string_matches_pattern (const char *str, const char *pattern) |
static void | load_resultmap (void) |
static const char * | get_expectfile (const char *testname, const char *file) |
static void | initialize_environment (void) |
PID_TYPE | spawn_process (const char *cmdline) |
static long | file_size (const char *file) |
static int | file_line_count (const char *file) |
bool | file_exists (const char *file) |
static char * | get_alternative_expectfile (const char *expectfile, int i) |
static int | run_diff (const char *cmd, const char *filename) |
static bool | results_differ (const char *testname, const char *resultsfile, const char *default_expectfile) |
static void | wait_for_tests (PID_TYPE *pids, int *statuses, instr_time *stoptimes, char **names, int num_tests) |
static void | log_child_failure (int exitstatus) |
static void | run_schedule (const char *schedule, test_start_function startfunc, postprocess_result_function postfunc) |
static void | run_single_test (const char *test, test_start_function startfunc, postprocess_result_function postfunc) |
static void | open_result_files (void) |
static void | drop_database_if_exists (const char *dbname) |
static void | create_database (const char *dbname) |
static void | drop_role_if_exists (const char *rolename) |
static void | create_role (const char *rolename, const _stringlist *granted_dbs) |
static void | help (void) |
int | regression_main (int argc, char *argv[], init_function ifunc, test_start_function startfunc, postprocess_result_function postfunc) |
Variables | |
char * | host_platform = HOST_TUPLE |
static char * | shellprog = SHELLPROG |
const char * | basic_diff_opts = "" |
const char * | pretty_diff_opts = "-U3" |
_stringlist * | dblist = NULL |
bool | debug = false |
char * | inputdir = "." |
char * | outputdir = "." |
char * | expecteddir = "." |
char * | bindir = PGBINDIR |
char * | launcher = NULL |
static _stringlist * | loadextension = NULL |
static int | max_connections = 0 |
static int | max_concurrent_tests = 0 |
static char * | encoding = NULL |
static _stringlist * | schedulelist = NULL |
static _stringlist * | extra_tests = NULL |
static char * | temp_instance = NULL |
static _stringlist * | temp_configs = NULL |
static bool | nolocale = false |
static bool | use_existing = false |
static char * | hostname = NULL |
static int | port = -1 |
static char | portstr [16] |
static bool | port_specified_by_user = false |
static char * | dlpath = PKGLIBDIR |
static char * | user = NULL |
static _stringlist * | extraroles = NULL |
static char * | config_auth_datadir = NULL |
static const char * | progname |
static char * | logfilename |
static FILE * | logfile |
static char * | difffilename |
static const char * | sockdir |
static const char * | temp_sockdir |
static char | sockself [MAXPGPATH] |
static char | socklock [MAXPGPATH] |
static StringInfo | failed_tests = NULL |
static bool | in_note = false |
static _resultmap * | resultmap = NULL |
static PID_TYPE | postmaster_pid = INVALID_PID |
static bool | postmaster_running = false |
static int | success_count = 0 |
static int | fail_count = 0 |
Definition at line 168 of file pg_regress.c.
Definition at line 167 of file pg_regress.c.
#define diag | ( | ... | ) | emit_tap_output(DIAG, __VA_ARGS__) |
Definition at line 165 of file pg_regress.c.
#define MAX_PARALLEL_TESTS 100 |
#define note | ( | ... | ) | emit_tap_output(NOTE, __VA_ARGS__) |
Definition at line 163 of file pg_regress.c.
#define note_detail | ( | ... | ) | emit_tap_output(NOTE_DETAIL, __VA_ARGS__) |
Definition at line 164 of file pg_regress.c.
#define note_end | ( | ) | emit_tap_output(NOTE_END, "\n"); |
Definition at line 166 of file pg_regress.c.
#define plan | ( | x | ) | emit_tap_output(PLAN, "1..%i", (x)) |
Definition at line 162 of file pg_regress.c.
#define psql_command | ( | database, | |
... | |||
) |
Definition at line 1185 of file pg_regress.c.
#define TESTNAME_WIDTH 36 |
Definition at line 77 of file pg_regress.c.
#define WAIT_TICKS_PER_SECOND 20 |
Definition at line 83 of file pg_regress.c.
typedef struct _resultmap _resultmap |
enum TAPtype |
Enumerator | |
---|---|
DIAG | |
BAIL | |
NOTE | |
NOTE_DETAIL | |
NOTE_END | |
TEST_STATUS | |
PLAN | |
NONE |
Definition at line 85 of file pg_regress.c.
void add_stringlist_item | ( | _stringlist ** | listhead, |
const char * | str | ||
) |
Definition at line 198 of file pg_regress.c.
References _stringlist::next, pg_malloc(), pg_strdup(), _stringlist::str, and str.
Referenced by regression_main(), and split_to_stringlist().
|
static |
Definition at line 253 of file pg_regress.c.
References BAIL, emit_tap_output_v(), exit(), fmt, va_end(), and va_start().
Referenced by ProcessConfigFileInternal().
|
static |
Definition at line 1954 of file pg_regress.c.
References buf, dbname, encoding, loadextension, _stringlist::next, nolocale, psql_add_command(), psql_command, psql_end_command(), psql_start_command(), and _stringlist::str.
Referenced by regression_main().
|
static |
Definition at line 1999 of file pg_regress.c.
References buf, _stringlist::next, psql_add_command(), psql_end_command(), psql_start_command(), and _stringlist::str.
Referenced by regression_main().
|
static |
Definition at line 1312 of file pg_regress.c.
References S_ISDIR, stat::st_mode, and stat.
Referenced by open_result_files(), and regression_main().
|
static |
Definition at line 1943 of file pg_regress.c.
References buf, dbname, psql_add_command(), psql_end_command(), and psql_start_command().
Referenced by regression_main().
|
static |
Definition at line 1988 of file pg_regress.c.
References buf, psql_add_command(), psql_end_command(), and psql_start_command().
Referenced by regression_main().
|
static |
Definition at line 329 of file pg_regress.c.
References emit_tap_output_v(), fmt, type, va_end(), and va_start().
Referenced by test_status_print().
|
static |
Definition at line 339 of file pg_regress.c.
References BAIL, DIAG, fflush(), fmt, fprintf, in_note, logfile, NOTE, NOTE_DETAIL, NOTE_END, generate_unaccent_rules::stdout, type, va_end(), and vfprintf().
Referenced by bail_out(), and emit_tap_output().
bool file_exists | ( | const char * | file | ) |
Definition at line 1301 of file pg_regress.c.
Referenced by isolation_start_test(), psql_start_test(), and results_differ().
|
static |
|
static |
Definition at line 1260 of file pg_regress.c.
References diag.
Referenced by regression_main(), and run_diff().
|
static |
Definition at line 219 of file pg_regress.c.
References free.
Referenced by regression_main(), and run_schedule().
|
static |
Definition at line 1335 of file pg_regress.c.
References free, i, malloc, and snprintf.
Referenced by results_differ().
|
static |
Definition at line 688 of file pg_regress.c.
References _resultmap::next, _resultmap::resultfile, resultmap, _resultmap::test, and _resultmap::type.
Referenced by results_differ().
|
static |
Definition at line 2013 of file pg_regress.c.
References _, printf, and progname.
Referenced by regression_main().
|
static |
Definition at line 717 of file pg_regress.c.
References DEFAULT_PGSOCKET_DIR, dlpath, encoding, free, hostname, inputdir, load_resultmap(), make_temp_sockdir(), nolocale, note, outputdir, pghost, pgport, port, psprintf(), setenv, snprintf, sockdir, temp_instance, unsetenv, and user.
Referenced by regression_main().
|
static |
Definition at line 614 of file pg_regress.c.
References bail, buf, host_platform, i, inputdir, MAXPGPATH, _resultmap::next, pg_malloc(), pg_strdup(), _resultmap::resultfile, resultmap, snprintf, string_matches_pattern(), _resultmap::test, and _resultmap::type.
Referenced by initialize_environment().
|
static |
Definition at line 1614 of file pg_regress.c.
References diag, pg_strsignal(), WEXITSTATUS, WIFEXITED, WIFSIGNALED, and WTERMSIG.
Referenced by run_schedule(), and run_single_test().
|
static |
Definition at line 1325 of file pg_regress.c.
References bail, mkdir, S_IRWXG, S_IRWXO, and S_IRWXU.
Referenced by open_result_files(), and regression_main().
|
static |
Definition at line 499 of file pg_regress.c.
References bail, mkdtemp(), port, pqsignal(), psprintf(), remove_temp(), SIGHUP, signal_remove_temp(), SIGPIPE, snprintf, socklock, sockself, temp_sockdir, and UNIXSOCK_PATH.
Referenced by initialize_environment().
|
static |
Definition at line 1910 of file pg_regress.c.
References bail, difffilename, directory_exists(), logfile, logfilename, make_directory(), MAXPGPATH, outputdir, pg_strdup(), and snprintf.
Referenced by regression_main().
|
static |
Definition at line 1126 of file pg_regress.c.
References appendStringInfoChar(), appendStringInfoString(), appendStringInfoVA(), generate_unaccent_rules::args, buf, StringInfoData::data, enlargeStringInfo(), initStringInfo(), pfree(), va_end(), and va_start().
Referenced by create_database(), create_role(), drop_database_if_exists(), and drop_role_if_exists().
|
static |
Definition at line 1163 of file pg_regress.c.
References appendStringInfo(), bail, buf, destroyStringInfo(), and fflush().
Referenced by create_database(), create_role(), drop_database_if_exists(), and drop_role_if_exists().
|
static |
Definition at line 1114 of file pg_regress.c.
References appendStringInfo(), bindir, buf, and makeStringInfo().
Referenced by create_database(), create_role(), drop_database_if_exists(), and drop_role_if_exists().
int regression_main | ( | int | argc, |
char * | argv[], | ||
init_function | ifunc, | ||
test_start_function | startfunc, | ||
postprocess_result_function | postfunc | ||
) |
Definition at line 2063 of file pg_regress.c.
References add_stringlist_item(), appendStringInfo(), appendStringInfoString(), bail, bindir, buf, config_auth_datadir, create_database(), create_role(), StringInfoData::data, dblist, debug, diag, difffilename, directory_exists(), dlpath, drop_database_if_exists(), drop_role_if_exists(), encoding, exit(), expecteddir, extra_tests, extraroles, fail_count, fflush(), file_size(), free_stringlist(), get_progname(), get_restricted_token(), getopt_long(), help(), hostname, i, initialize_environment(), initStringInfo(), inputdir, INVALID_PID, kill, launcher, loadextension, logfile, logfilename, make_absolute_path(), make_directory(), max_concurrent_tests, max_connections, MAXPGPATH, _stringlist::next, no_argument, nolocale, note, open_result_files(), optarg, optind, outputdir, pfree(), pg_log_error_hint, pg_logging_init(), pg_strdup(), PG_TEXTDOMAIN, pg_usleep(), plan, port, port_specified_by_user, portstr, postmaster_pid, postmaster_running, PQPING_NO_ATTEMPT, PQPING_OK, PQpingParams(), pretty_diff_opts, progname, required_argument, rmtree(), run_schedule(), run_single_test(), schedulelist, set_pglocale_pgservice(), setenv, SIGKILL, snprintf, sockdir, spawn_process(), split_to_stringlist(), sprintf, stop_postmaster(), _stringlist::str, success_count, temp_configs, temp_instance, true, ULONGPID, unlimit_core_size(), use_existing, user, values, wait_seconds, and WAIT_TICKS_PER_SECOND.
Referenced by main().
|
static |
Definition at line 466 of file pg_regress.c.
References Assert, socklock, sockself, and temp_sockdir.
Referenced by make_temp_sockdir(), and signal_remove_temp().
|
static |
Definition at line 1401 of file pg_regress.c.
References bail, basic_diff_opts, difffilename, file_exists(), file_line_count(), fprintf, free, get_alternative_expectfile(), get_expectfile(), i, MAXPGPATH, pretty_diff_opts, run_diff(), snprintf, and strlcpy().
Referenced by run_schedule(), and run_single_test().
|
static |
Definition at line 1369 of file pg_regress.c.
References bail, fflush(), file_size(), filename, WEXITSTATUS, and WIFEXITED.
Referenced by results_differ().
|
static |
Definition at line 1637 of file pg_regress.c.
References bail, diag, free_stringlist(), i, INSTR_TIME_GET_MILLISEC, INSTR_TIME_SET_CURRENT, INSTR_TIME_SUBTRACT, log_child_failure(), max_concurrent_tests, max_connections, MAX_PARALLEL_TESTS, _stringlist::next, note_detail, note_end, pg_free(), pg_strdup(), PID_TYPE, results_differ(), _stringlist::str, test(), test_status_failed(), test_status_ok(), and wait_for_tests().
Referenced by regression_main().
|
static |
Definition at line 1843 of file pg_regress.c.
References diag, INSTR_TIME_GET_MILLISEC, INSTR_TIME_SET_CURRENT, INSTR_TIME_SUBTRACT, log_child_failure(), _stringlist::next, PID_TYPE, results_differ(), _stringlist::str, test(), test_status_failed(), test_status_ok(), and wait_for_tests().
Referenced by regression_main().
|
static |
Definition at line 478 of file pg_regress.c.
References pqsignal(), remove_temp(), and SIG_DFL.
Referenced by make_temp_sockdir().
PID_TYPE spawn_process | ( | const char * | cmdline | ) |
Definition at line 1198 of file pg_regress.c.
References bail, bail_noatexit, exit(), fflush(), psprintf(), and shellprog.
Referenced by ecpg_start_test(), isolation_start_test(), psql_start_test(), and regression_main().
|
static |
Definition at line 234 of file pg_regress.c.
References add_stringlist_item(), free, pg_strdup(), strsep(), and token.
Referenced by regression_main().
|
static |
Definition at line 431 of file pg_regress.c.
References _, bail_noatexit, bindir, buf, fflush(), MAXPGPATH, postmaster_running, snprintf, and temp_instance.
Referenced by regression_main().
|
static |
|
static |
Definition at line 309 of file pg_regress.c.
References appendStringInfo(), appendStringInfoChar(), fail_count, failed_tests, makeStringInfo(), and test_status_print().
Referenced by run_schedule(), and run_single_test().
|
static |
Definition at line 301 of file pg_regress.c.
References success_count, and test_status_print().
Referenced by run_schedule(), and run_single_test().
|
static |
Definition at line 278 of file pg_regress.c.
References emit_tap_output(), fail_count, success_count, TEST_STATUS, and TESTNAME_WIDTH.
Referenced by test_status_failed(), and test_status_ok().
|
static |
|
static |
Definition at line 1547 of file pg_regress.c.
References bail, free, i, INSTR_TIME_SET_CURRENT, INVALID_PID, note_detail, pg_malloc(), and PID_TYPE.
Referenced by run_schedule(), and run_single_test().
const char* basic_diff_opts = "" |
Definition at line 65 of file pg_regress.c.
Referenced by results_differ().
char* bindir = PGBINDIR |
Definition at line 103 of file pg_regress.c.
Referenced by psql_start_command(), psql_start_test(), regression_main(), and stop_postmaster().
|
static |
Definition at line 122 of file pg_regress.c.
Referenced by regression_main().
_stringlist* dblist = NULL |
Definition at line 98 of file pg_regress.c.
Referenced by do_start_worker(), get_database_list(), isolation_init(), isolation_start_test(), psql_init(), psql_start_test(), rebuild_database_list(), and regression_main().
Definition at line 99 of file pg_regress.c.
Referenced by regression_main().
|
static |
Definition at line 128 of file pg_regress.c.
Referenced by open_result_files(), regression_main(), and results_differ().
|
static |
Definition at line 119 of file pg_regress.c.
Referenced by initialize_environment(), and regression_main().
|
static |
Definition at line 108 of file pg_regress.c.
Referenced by create_database(), initialize_environment(), and regression_main().
char* expecteddir = "." |
Definition at line 102 of file pg_regress.c.
Referenced by ecpg_start_test(), psql_start_test(), and regression_main().
|
static |
Definition at line 110 of file pg_regress.c.
Referenced by regression_main().
|
static |
Definition at line 121 of file pg_regress.c.
Referenced by regression_main().
|
static |
Definition at line 142 of file pg_regress.c.
Referenced by regression_main(), test_status_failed(), and test_status_print().
|
static |
Definition at line 133 of file pg_regress.c.
Referenced by test_status_failed().
char* host_platform = HOST_TUPLE |
Definition at line 53 of file pg_regress.c.
Referenced by load_resultmap().
|
static |
Definition at line 115 of file pg_regress.c.
Referenced by check_hostname(), initialize_environment(), passwordFromFile(), pg_getaddrinfo_all(), and regression_main().
Definition at line 134 of file pg_regress.c.
Referenced by emit_tap_output_v().
char* inputdir = "." |
Definition at line 100 of file pg_regress.c.
Referenced by ecpg_start_test(), initialize_environment(), isolation_start_test(), load_resultmap(), psql_start_test(), and regression_main().
char* launcher = NULL |
Definition at line 104 of file pg_regress.c.
Referenced by isolation_start_test(), psql_start_test(), and regression_main().
|
static |
Definition at line 105 of file pg_regress.c.
Referenced by create_database(), and regression_main().
|
static |
Definition at line 127 of file pg_regress.c.
Referenced by doLog(), emit_tap_output_v(), open_result_files(), regression_main(), and write_syslogger_file().
|
static |
Definition at line 126 of file pg_regress.c.
Referenced by open_result_files(), and regression_main().
|
static |
Definition at line 107 of file pg_regress.c.
Referenced by regression_main(), and run_schedule().
|
static |
Definition at line 106 of file pg_regress.c.
Referenced by regression_main(), and run_schedule().
Definition at line 113 of file pg_regress.c.
Referenced by create_database(), initialize_environment(), and regression_main().
char* outputdir = "." |
Definition at line 101 of file pg_regress.c.
Referenced by ecpg_start_test(), initialize_environment(), isolation_start_test(), open_result_files(), psql_start_test(), and regression_main().
|
static |
Definition at line 116 of file pg_regress.c.
Referenced by auth_delay_checks(), auth_failed(), auth_peer(), BackendInitialize(), be_gssapi_get_auth(), be_gssapi_get_delegation(), be_gssapi_get_enc(), be_gssapi_get_princ(), be_gssapi_read(), be_gssapi_write(), be_tls_close(), be_tls_get_certificate_hash(), be_tls_get_cipher(), be_tls_get_cipher_bits(), be_tls_get_peer_issuer_name(), be_tls_get_peer_serial(), be_tls_get_peer_subject_name(), be_tls_get_version(), be_tls_open_server(), be_tls_read(), be_tls_write(), check_hba(), check_hostname(), CheckMD5Auth(), CheckPasswordAuth(), CheckPWChallengeAuth(), CheckRADIUSAuth(), CheckSASLAuth(), ClientAuthentication(), conninfo_uri_parse_options(), do_connect(), ECPGconnect(), hba_getauthmethod(), ident_inet(), inet_client_addr(), inet_client_port(), inet_server_addr(), inet_server_port(), initialize_environment(), log_disconnections(), main(), make_temp_sockdir(), my_SSL_set_fd(), passwordFromFile(), PerformAuthentication(), PerformRadiusTransaction(), pq_getkeepalivescount(), pq_getkeepalivesidle(), pq_getkeepalivesinterval(), pq_gettcpusertimeout(), pq_init(), pq_setkeepalivescount(), pq_setkeepalivesidle(), pq_setkeepalivesinterval(), pq_settcpusertimeout(), process_startup_options(), ProcessSSLStartup(), ProcessStartupPacket(), read_or_wait(), regression_main(), scram_get_mechanisms(), scram_init(), secure_close(), secure_open_gssapi(), secure_open_server(), secure_raw_read(), secure_raw_write(), secure_read(), secure_write(), sepgsql_client_auth(), and set_authn_id().
Definition at line 118 of file pg_regress.c.
Referenced by regression_main().
|
static |
Definition at line 117 of file pg_regress.c.
Referenced by PerformRadiusTransaction(), PQconnectPoll(), and regression_main().
|
static |
Definition at line 138 of file pg_regress.c.
Referenced by regression_main().
Definition at line 139 of file pg_regress.c.
Referenced by regression_main(), and stop_postmaster().
const char* pretty_diff_opts = "-U3" |
Definition at line 66 of file pg_regress.c.
Referenced by regression_main(), and results_differ().
|
static |
Definition at line 125 of file pg_regress.c.
Referenced by help(), and regression_main().
|
static |
Definition at line 136 of file pg_regress.c.
Referenced by get_expectfile(), and load_resultmap().
|
static |
Definition at line 109 of file pg_regress.c.
Referenced by regression_main().
|
static |
Definition at line 56 of file pg_regress.c.
Referenced by spawn_process().
|
static |
Definition at line 129 of file pg_regress.c.
Referenced by initialize_environment(), and regression_main().
|
static |
Definition at line 132 of file pg_regress.c.
Referenced by make_temp_sockdir(), and remove_temp().
|
static |
Definition at line 131 of file pg_regress.c.
Referenced by make_temp_sockdir(), and remove_temp().
|
static |
Definition at line 141 of file pg_regress.c.
Referenced by regression_main(), test_status_ok(), and test_status_print().
|
static |
Definition at line 112 of file pg_regress.c.
Referenced by regression_main().
|
static |
Definition at line 111 of file pg_regress.c.
Referenced by initialize_environment(), regression_main(), and stop_postmaster().
|
static |
Definition at line 130 of file pg_regress.c.
Referenced by make_temp_sockdir(), and remove_temp().
Definition at line 114 of file pg_regress.c.
Referenced by regression_main().
|
static |
Definition at line 120 of file pg_regress.c.
Referenced by _becomeUser(), _doSetSessionAuth(), check_conn_params(), connect_pg_server(), conninfo_uri_parse_options(), create_foreign_modify(), do_connect(), ECPGconnect(), exec_command_password(), GetConnection(), initialize_environment(), LockGXact(), main(), make_new_connection(), pgfdw_security_check(), postgresAcquireSampleRowsFunc(), postgresAnalyzeForeignTable(), postgresBeginDirectModify(), postgresBeginForeignScan(), postgresExecForeignTruncate(), postgresGetAnalyzeInfoForForeignTable(), PQchangePassword(), PQencryptPassword(), PQencryptPasswordConn(), regression_main(), ShowUsage(), and UserMappingPasswordRequired().