MCPcopy Create free account
hub / github.com/apache/cloudberry / SyncVariables

Function SyncVariables

src/bin/psql/command.c:3669–3705  ·  view source on GitHub ↗

* SyncVariables * * Make psql's internal variables agree with connection state upon * establishing a new connection. */

Source from the content-addressed store, hash-verified

3667 * establishing a new connection.
3668 */
3669void
3670SyncVariables(void)
3671{
3672 char vbuf[32];
3673 const char *server_version;
3674
3675 /* get stuff from connection */
3676 pset.encoding = PQclientEncoding(pset.db);
3677 pset.popt.topt.encoding = pset.encoding;
3678 pset.sversion = PQserverVersion(pset.db);
3679
3680 setFmtEncoding(pset.encoding);
3681
3682 SetVariable(pset.vars, "DBNAME", PQdb(pset.db));
3683 SetVariable(pset.vars, "USER", PQuser(pset.db));
3684 SetVariable(pset.vars, "HOST", PQhost(pset.db));
3685 SetVariable(pset.vars, "PORT", PQport(pset.db));
3686 SetVariable(pset.vars, "ENCODING", pg_encoding_to_char(pset.encoding));
3687
3688 /* this bit should match connection_warnings(): */
3689 /* Try to get full text form of version, might include "devel" etc */
3690 server_version = PQparameterStatus(pset.db, "server_version");
3691 /* Otherwise fall back on pset.sversion */
3692 if (!server_version)
3693 {
3694 formatPGVersionNumber(pset.sversion, true, vbuf, sizeof(vbuf));
3695 server_version = vbuf;
3696 }
3697 SetVariable(pset.vars, "SERVER_VERSION_NAME", server_version);
3698
3699 snprintf(vbuf, sizeof(vbuf), "%d", pset.sversion);
3700 SetVariable(pset.vars, "SERVER_VERSION_NUM", vbuf);
3701
3702 /* send stuff to it, too */
3703 PQsetErrorVerbosity(pset.db, pset.verbosity);
3704 PQsetErrorContextVisibility(pset.db, pset.show_context);
3705}
3706
3707/*
3708 * UnsyncVariables

Callers 3

mainFunction · 0.85
CheckConnectionFunction · 0.85
do_connectFunction · 0.85

Calls 13

PQclientEncodingFunction · 0.85
PQserverVersionFunction · 0.85
setFmtEncodingFunction · 0.85
SetVariableFunction · 0.85
PQdbFunction · 0.85
PQuserFunction · 0.85
PQhostFunction · 0.85
PQportFunction · 0.85
pg_encoding_to_charFunction · 0.85
PQparameterStatusFunction · 0.85
formatPGVersionNumberFunction · 0.85
PQsetErrorVerbosityFunction · 0.85

Tested by

no test coverage detected