mirror of
https://github.com/postgres/postgres.git
synced 2025-05-13 01:13:08 -04:00
Use appendStringInfoString and appendPQExpBufferStr where possible
This changes various places where appendPQExpBuffer was used in places where it was possible to use appendPQExpBufferStr, and likewise for appendStringInfo and appendStringInfoString. This is really just a stylistic improvement, but there are also small performance gains to be had from doing this. Discussion: http://postgr.es/m/CAKJS1f9P=M-3ULmPvr8iCno8yvfDViHibJjpriHU8+SXUgeZ=w@mail.gmail.com
This commit is contained in:
parent
5683b34956
commit
8abc13a889
@ -1531,7 +1531,7 @@ deparseFromExprForRel(StringInfo buf, PlannerInfo *root, RelOptInfo *foreignrel,
|
||||
{
|
||||
Assert(fpinfo->jointype == JOIN_INNER);
|
||||
Assert(fpinfo->joinclauses == NIL);
|
||||
appendStringInfo(buf, "%s", join_sql_o.data);
|
||||
appendStringInfoString(buf, join_sql_o.data);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -1552,7 +1552,7 @@ deparseFromExprForRel(StringInfo buf, PlannerInfo *root, RelOptInfo *foreignrel,
|
||||
{
|
||||
Assert(fpinfo->jointype == JOIN_INNER);
|
||||
Assert(fpinfo->joinclauses == NIL);
|
||||
appendStringInfo(buf, "%s", join_sql_i.data);
|
||||
appendStringInfoString(buf, join_sql_i.data);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -1861,7 +1861,7 @@ deparseDirectUpdateSql(StringInfo buf, PlannerInfo *root,
|
||||
{
|
||||
List *ignore_conds = NIL;
|
||||
|
||||
appendStringInfo(buf, " FROM ");
|
||||
appendStringInfoString(buf, " FROM ");
|
||||
deparseFromExprForRel(buf, root, foreignrel, true, rtindex,
|
||||
&ignore_conds, params_list);
|
||||
remote_conds = list_concat(remote_conds, ignore_conds);
|
||||
@ -1944,7 +1944,7 @@ deparseDirectDeleteSql(StringInfo buf, PlannerInfo *root,
|
||||
{
|
||||
List *ignore_conds = NIL;
|
||||
|
||||
appendStringInfo(buf, " USING ");
|
||||
appendStringInfoString(buf, " USING ");
|
||||
deparseFromExprForRel(buf, root, foreignrel, true, rtindex,
|
||||
&ignore_conds, params_list);
|
||||
remote_conds = list_concat(remote_conds, ignore_conds);
|
||||
|
@ -63,7 +63,7 @@ sepgsql_database_post_create(Oid databaseId, const char *dtemplate)
|
||||
* check db_database:{getattr} permission
|
||||
*/
|
||||
initStringInfo(&audit_name);
|
||||
appendStringInfo(&audit_name, "%s", quote_identifier(dtemplate));
|
||||
appendStringInfoString(&audit_name, quote_identifier(dtemplate));
|
||||
sepgsql_avc_check_perms_label(tcontext,
|
||||
SEPG_CLASS_DB_DATABASE,
|
||||
SEPG_DB_DATABASE__GETATTR,
|
||||
@ -101,7 +101,7 @@ sepgsql_database_post_create(Oid databaseId, const char *dtemplate)
|
||||
* check db_database:{create} permission
|
||||
*/
|
||||
resetStringInfo(&audit_name);
|
||||
appendStringInfo(&audit_name, "%s",
|
||||
appendStringInfoString(&audit_name,
|
||||
quote_identifier(NameStr(datForm->datname)));
|
||||
sepgsql_avc_check_perms_label(ncontext,
|
||||
SEPG_CLASS_DB_DATABASE,
|
||||
|
@ -676,7 +676,7 @@ quote_object_name(const char *src1, const char *src2,
|
||||
if (src1)
|
||||
{
|
||||
temp = quote_identifier(src1);
|
||||
appendStringInfo(&result, "%s", temp);
|
||||
appendStringInfoString(&result, temp);
|
||||
if (src1 != temp)
|
||||
pfree((void *) temp);
|
||||
}
|
||||
|
@ -702,7 +702,7 @@ sepgsql_audit_log(bool denied,
|
||||
appendStringInfo(&buf, " %s", av_name);
|
||||
}
|
||||
}
|
||||
appendStringInfo(&buf, " }");
|
||||
appendStringInfoString(&buf, " }");
|
||||
|
||||
/*
|
||||
* Call external audit module, if loaded
|
||||
|
@ -518,9 +518,9 @@ pg_decode_truncate(LogicalDecodingContext *ctx, ReorderBufferTXN *txn,
|
||||
|| change->data.truncate.cascade)
|
||||
{
|
||||
if (change->data.truncate.restart_seqs)
|
||||
appendStringInfo(ctx->out, " restart_seqs");
|
||||
appendStringInfoString(ctx->out, " restart_seqs");
|
||||
if (change->data.truncate.cascade)
|
||||
appendStringInfo(ctx->out, " cascade");
|
||||
appendStringInfoString(ctx->out, " cascade");
|
||||
}
|
||||
else
|
||||
appendStringInfoString(ctx->out, " (no-flags)");
|
||||
|
@ -86,9 +86,9 @@ heap_desc(StringInfo buf, XLogReaderState *record)
|
||||
int i;
|
||||
|
||||
if (xlrec->flags & XLH_TRUNCATE_CASCADE)
|
||||
appendStringInfo(buf, "cascade ");
|
||||
appendStringInfoString(buf, "cascade ");
|
||||
if (xlrec->flags & XLH_TRUNCATE_RESTART_SEQS)
|
||||
appendStringInfo(buf, "restart_seqs ");
|
||||
appendStringInfoString(buf, "restart_seqs ");
|
||||
appendStringInfo(buf, "nrelids %u relids", xlrec->nrelids);
|
||||
for (i = 0; i < xlrec->nrelids; i++)
|
||||
appendStringInfo(buf, " %u", xlrec->relids[i]);
|
||||
|
@ -822,7 +822,7 @@ ExplainPrintJIT(ExplainState *es, int jit_flags,
|
||||
if (for_workers)
|
||||
appendStringInfo(es->str, "JIT for worker %u:\n", worker_num);
|
||||
else
|
||||
appendStringInfo(es->str, "JIT:\n");
|
||||
appendStringInfoString(es->str, "JIT:\n");
|
||||
es->indent += 1;
|
||||
|
||||
ExplainPropertyInteger("Functions", NULL, ji->created_functions, es);
|
||||
|
@ -1723,7 +1723,7 @@ pg_get_partkeydef_worker(Oid relid, int prettyFlags,
|
||||
{
|
||||
case PARTITION_STRATEGY_HASH:
|
||||
if (!attrsOnly)
|
||||
appendStringInfo(&buf, "HASH");
|
||||
appendStringInfoString(&buf, "HASH");
|
||||
break;
|
||||
case PARTITION_STRATEGY_LIST:
|
||||
if (!attrsOnly)
|
||||
|
@ -500,19 +500,19 @@ CreateReplicationSlot(PGconn *conn, const char *slot_name, const char *plugin,
|
||||
/* Build query */
|
||||
appendPQExpBuffer(query, "CREATE_REPLICATION_SLOT \"%s\"", slot_name);
|
||||
if (is_temporary)
|
||||
appendPQExpBuffer(query, " TEMPORARY");
|
||||
appendPQExpBufferStr(query, " TEMPORARY");
|
||||
if (is_physical)
|
||||
{
|
||||
appendPQExpBuffer(query, " PHYSICAL");
|
||||
appendPQExpBufferStr(query, " PHYSICAL");
|
||||
if (reserve_wal)
|
||||
appendPQExpBuffer(query, " RESERVE_WAL");
|
||||
appendPQExpBufferStr(query, " RESERVE_WAL");
|
||||
}
|
||||
else
|
||||
{
|
||||
appendPQExpBuffer(query, " LOGICAL \"%s\"", plugin);
|
||||
if (PQserverVersion(conn) >= 100000)
|
||||
/* pg_recvlogical doesn't use an exported snapshot, so suppress */
|
||||
appendPQExpBuffer(query, " NOEXPORT_SNAPSHOT");
|
||||
appendPQExpBufferStr(query, " NOEXPORT_SNAPSHOT");
|
||||
}
|
||||
|
||||
res = PQexec(conn, query->data);
|
||||
|
@ -1481,14 +1481,14 @@ pgwin32_CommandLine(bool registration)
|
||||
appendPQExpBuffer(cmdLine, " -e \"%s\"", event_source);
|
||||
|
||||
if (registration && do_wait)
|
||||
appendPQExpBuffer(cmdLine, " -w");
|
||||
appendPQExpBufferStr(cmdLine, " -w");
|
||||
|
||||
/* Don't propagate a value from an environment variable. */
|
||||
if (registration && wait_seconds_arg && wait_seconds != DEFAULT_WAIT)
|
||||
appendPQExpBuffer(cmdLine, " -t %d", wait_seconds);
|
||||
|
||||
if (registration && silent_mode)
|
||||
appendPQExpBuffer(cmdLine, " -s");
|
||||
appendPQExpBufferStr(cmdLine, " -s");
|
||||
|
||||
if (post_opts)
|
||||
{
|
||||
|
@ -425,7 +425,7 @@ buildDefaultACLCommands(const char *type, const char *nspname,
|
||||
|
||||
if (strlen(initacls) != 0 || strlen(initracls) != 0)
|
||||
{
|
||||
appendPQExpBuffer(sql, "SELECT pg_catalog.binary_upgrade_set_record_init_privs(true);\n");
|
||||
appendPQExpBufferStr(sql, "SELECT pg_catalog.binary_upgrade_set_record_init_privs(true);\n");
|
||||
if (!buildACLCommands("", NULL, NULL, type,
|
||||
initacls, initracls, owner,
|
||||
prefix->data, remoteVersion, sql))
|
||||
@ -433,7 +433,7 @@ buildDefaultACLCommands(const char *type, const char *nspname,
|
||||
destroyPQExpBuffer(prefix);
|
||||
return false;
|
||||
}
|
||||
appendPQExpBuffer(sql, "SELECT pg_catalog.binary_upgrade_set_record_init_privs(false);\n");
|
||||
appendPQExpBufferStr(sql, "SELECT pg_catalog.binary_upgrade_set_record_init_privs(false);\n");
|
||||
}
|
||||
|
||||
if (!buildACLCommands("", NULL, NULL, type,
|
||||
|
@ -554,7 +554,7 @@ RestoreArchive(Archive *AHX)
|
||||
*/
|
||||
if (strncmp(dropStmt, "ALTER TABLE", 11) == 0)
|
||||
{
|
||||
appendPQExpBuffer(ftStmt,
|
||||
appendPQExpBufferStr(ftStmt,
|
||||
"ALTER TABLE IF EXISTS");
|
||||
dropStmt = dropStmt + 11;
|
||||
}
|
||||
@ -4870,7 +4870,7 @@ CloneArchive(ArchiveHandle *AH)
|
||||
* any data to/from the database.
|
||||
*/
|
||||
initPQExpBuffer(&connstr);
|
||||
appendPQExpBuffer(&connstr, "dbname=");
|
||||
appendPQExpBufferStr(&connstr, "dbname=");
|
||||
appendConnStrVal(&connstr, PQdb(AH->connection));
|
||||
pghost = PQhost(AH->connection);
|
||||
pgport = PQport(AH->connection);
|
||||
|
@ -149,7 +149,7 @@ _connectDB(ArchiveHandle *AH, const char *reqdb, const char *requser)
|
||||
}
|
||||
|
||||
initPQExpBuffer(&connstr);
|
||||
appendPQExpBuffer(&connstr, "dbname=");
|
||||
appendPQExpBufferStr(&connstr, "dbname=");
|
||||
appendConnStrVal(&connstr, newdb);
|
||||
|
||||
do
|
||||
|
@ -1205,7 +1205,7 @@ setup_connection(Archive *AH, const char *dumpencoding,
|
||||
{
|
||||
PQExpBuffer query = createPQExpBuffer();
|
||||
|
||||
appendPQExpBuffer(query, "SET TRANSACTION SNAPSHOT ");
|
||||
appendPQExpBufferStr(query, "SET TRANSACTION SNAPSHOT ");
|
||||
appendStringLiteralConn(query, AH->sync_snapshot_id, conn);
|
||||
ExecuteSqlStatement(AH, query->data);
|
||||
destroyPQExpBuffer(query);
|
||||
@ -1315,7 +1315,7 @@ expand_schema_name_patterns(Archive *fout,
|
||||
|
||||
for (cell = patterns->head; cell; cell = cell->next)
|
||||
{
|
||||
appendPQExpBuffer(query,
|
||||
appendPQExpBufferStr(query,
|
||||
"SELECT oid FROM pg_catalog.pg_namespace n\n");
|
||||
processSQLNamePattern(GetConnection(fout), query, cell->val, false,
|
||||
false, NULL, "n.nspname", NULL, NULL);
|
||||
@ -3733,7 +3733,7 @@ dumpPolicy(Archive *fout, PolicyInfo *polinfo)
|
||||
if (polinfo->polwithcheck != NULL)
|
||||
appendPQExpBuffer(query, " WITH CHECK (%s)", polinfo->polwithcheck);
|
||||
|
||||
appendPQExpBuffer(query, ";\n");
|
||||
appendPQExpBufferStr(query, ";\n");
|
||||
|
||||
appendPQExpBuffer(delqry, "DROP POLICY %s", fmtId(polinfo->polname));
|
||||
appendPQExpBuffer(delqry, " ON %s;\n", fmtQualifiedDumpable(tbinfo));
|
||||
@ -4560,7 +4560,7 @@ getNamespaces(Archive *fout, int *numNamespaces)
|
||||
init_acl_subquery->data,
|
||||
init_racl_subquery->data);
|
||||
|
||||
appendPQExpBuffer(query, ") ");
|
||||
appendPQExpBufferStr(query, ") ");
|
||||
|
||||
destroyPQExpBuffer(acl_subquery);
|
||||
destroyPQExpBuffer(racl_subquery);
|
||||
@ -5248,7 +5248,7 @@ getAccessMethods(Archive *fout, int *numAccessMethods)
|
||||
query = createPQExpBuffer();
|
||||
|
||||
/* Select all access methods from pg_am table */
|
||||
appendPQExpBuffer(query, "SELECT tableoid, oid, amname, amtype, "
|
||||
appendPQExpBufferStr(query, "SELECT tableoid, oid, amname, amtype, "
|
||||
"amhandler::pg_catalog.regproc AS amhandler "
|
||||
"FROM pg_am");
|
||||
|
||||
@ -8128,7 +8128,7 @@ getTransforms(Archive *fout, int *numTransforms)
|
||||
|
||||
query = createPQExpBuffer();
|
||||
|
||||
appendPQExpBuffer(query, "SELECT tableoid, oid, "
|
||||
appendPQExpBufferStr(query, "SELECT tableoid, oid, "
|
||||
"trftype, trflang, trffromsql::oid, trftosql::oid "
|
||||
"FROM pg_transform "
|
||||
"ORDER BY 3,4");
|
||||
@ -8255,7 +8255,7 @@ getTableAttrs(Archive *fout, TableInfo *tblinfo, int numTables)
|
||||
|
||||
resetPQExpBuffer(q);
|
||||
|
||||
appendPQExpBuffer(q,
|
||||
appendPQExpBufferStr(q,
|
||||
"SELECT\n"
|
||||
"a.attnum,\n"
|
||||
"a.attname,\n"
|
||||
@ -8272,29 +8272,29 @@ getTableAttrs(Archive *fout, TableInfo *tblinfo, int numTables)
|
||||
"pg_catalog.format_type(t.oid, a.atttypmod) AS atttypname,\n");
|
||||
|
||||
if (fout->remoteVersion >= 120000)
|
||||
appendPQExpBuffer(q,
|
||||
appendPQExpBufferStr(q,
|
||||
"a.attgenerated,\n");
|
||||
else
|
||||
appendPQExpBuffer(q,
|
||||
appendPQExpBufferStr(q,
|
||||
"'' AS attgenerated,\n");
|
||||
|
||||
if (fout->remoteVersion >= 110000)
|
||||
appendPQExpBuffer(q,
|
||||
appendPQExpBufferStr(q,
|
||||
"CASE WHEN a.atthasmissing AND NOT a.attisdropped "
|
||||
"THEN a.attmissingval ELSE null END AS attmissingval,\n");
|
||||
else
|
||||
appendPQExpBuffer(q,
|
||||
appendPQExpBufferStr(q,
|
||||
"NULL AS attmissingval,\n");
|
||||
|
||||
if (fout->remoteVersion >= 100000)
|
||||
appendPQExpBuffer(q,
|
||||
appendPQExpBufferStr(q,
|
||||
"a.attidentity,\n");
|
||||
else
|
||||
appendPQExpBuffer(q,
|
||||
appendPQExpBufferStr(q,
|
||||
"'' AS attidentity,\n");
|
||||
|
||||
if (fout->remoteVersion >= 90200)
|
||||
appendPQExpBuffer(q,
|
||||
appendPQExpBufferStr(q,
|
||||
"pg_catalog.array_to_string(ARRAY("
|
||||
"SELECT pg_catalog.quote_ident(option_name) || "
|
||||
"' ' || pg_catalog.quote_literal(option_value) "
|
||||
@ -8302,7 +8302,7 @@ getTableAttrs(Archive *fout, TableInfo *tblinfo, int numTables)
|
||||
"ORDER BY option_name"
|
||||
"), E',\n ') AS attfdwoptions,\n");
|
||||
else
|
||||
appendPQExpBuffer(q,
|
||||
appendPQExpBufferStr(q,
|
||||
"'' AS attfdwoptions,\n");
|
||||
|
||||
if (fout->remoteVersion >= 90100)
|
||||
@ -8312,19 +8312,19 @@ getTableAttrs(Archive *fout, TableInfo *tblinfo, int numTables)
|
||||
* collation is different from their type's default, we use a CASE
|
||||
* here to suppress uninteresting attcollations cheaply.
|
||||
*/
|
||||
appendPQExpBuffer(q,
|
||||
appendPQExpBufferStr(q,
|
||||
"CASE WHEN a.attcollation <> t.typcollation "
|
||||
"THEN a.attcollation ELSE 0 END AS attcollation,\n");
|
||||
}
|
||||
else
|
||||
appendPQExpBuffer(q,
|
||||
appendPQExpBufferStr(q,
|
||||
"0 AS attcollation,\n");
|
||||
|
||||
if (fout->remoteVersion >= 90000)
|
||||
appendPQExpBuffer(q,
|
||||
appendPQExpBufferStr(q,
|
||||
"array_to_string(a.attoptions, ', ') AS attoptions\n");
|
||||
else
|
||||
appendPQExpBuffer(q,
|
||||
appendPQExpBufferStr(q,
|
||||
"'' AS attoptions\n");
|
||||
|
||||
/* need left join here to not fail on dropped columns ... */
|
||||
@ -12331,7 +12331,7 @@ dumpTransform(Archive *fout, TransformInfo *transform)
|
||||
if (transform->trftosql)
|
||||
{
|
||||
if (transform->trffromsql)
|
||||
appendPQExpBuffer(defqry, ", ");
|
||||
appendPQExpBufferStr(defqry, ", ");
|
||||
|
||||
if (tosqlFuncInfo)
|
||||
{
|
||||
@ -12349,7 +12349,7 @@ dumpTransform(Archive *fout, TransformInfo *transform)
|
||||
pg_log_warning("bogus value in pg_transform.trftosql field");
|
||||
}
|
||||
|
||||
appendPQExpBuffer(defqry, ");\n");
|
||||
appendPQExpBufferStr(defqry, ");\n");
|
||||
|
||||
appendPQExpBuffer(labelq, "TRANSFORM FOR %s LANGUAGE %s",
|
||||
transformType, lanname);
|
||||
@ -12724,10 +12724,10 @@ dumpAccessMethod(Archive *fout, AccessMethodInfo *aminfo)
|
||||
switch (aminfo->amtype)
|
||||
{
|
||||
case AMTYPE_INDEX:
|
||||
appendPQExpBuffer(q, "TYPE INDEX ");
|
||||
appendPQExpBufferStr(q, "TYPE INDEX ");
|
||||
break;
|
||||
case AMTYPE_TABLE:
|
||||
appendPQExpBuffer(q, "TYPE TABLE ");
|
||||
appendPQExpBufferStr(q, "TYPE TABLE ");
|
||||
break;
|
||||
default:
|
||||
pg_log_warning("invalid type \"%c\" of access method \"%s\"",
|
||||
@ -13433,22 +13433,22 @@ dumpCollation(Archive *fout, CollInfo *collinfo)
|
||||
qcollname = pg_strdup(fmtId(collinfo->dobj.name));
|
||||
|
||||
/* Get collation-specific details */
|
||||
appendPQExpBuffer(query, "SELECT ");
|
||||
appendPQExpBufferStr(query, "SELECT ");
|
||||
|
||||
if (fout->remoteVersion >= 100000)
|
||||
appendPQExpBuffer(query,
|
||||
appendPQExpBufferStr(query,
|
||||
"collprovider, "
|
||||
"collversion, ");
|
||||
else
|
||||
appendPQExpBuffer(query,
|
||||
appendPQExpBufferStr(query,
|
||||
"'c' AS collprovider, "
|
||||
"NULL AS collversion, ");
|
||||
|
||||
if (fout->remoteVersion >= 120000)
|
||||
appendPQExpBuffer(query,
|
||||
appendPQExpBufferStr(query,
|
||||
"collisdeterministic, ");
|
||||
else
|
||||
appendPQExpBuffer(query,
|
||||
appendPQExpBufferStr(query,
|
||||
"true AS collisdeterministic, ");
|
||||
|
||||
appendPQExpBuffer(query,
|
||||
@ -13665,7 +13665,7 @@ format_aggregate_signature(AggInfo *agginfo, Archive *fout, bool honor_quotes)
|
||||
appendPQExpBufferStr(&buf, agginfo->aggfn.dobj.name);
|
||||
|
||||
if (agginfo->aggfn.nargs == 0)
|
||||
appendPQExpBuffer(&buf, "(*)");
|
||||
appendPQExpBufferStr(&buf, "(*)");
|
||||
else
|
||||
{
|
||||
appendPQExpBufferChar(&buf, '(');
|
||||
@ -14883,13 +14883,13 @@ dumpACL(Archive *fout, CatalogId objCatId, DumpId objDumpId,
|
||||
*/
|
||||
if (strlen(initacls) != 0 || strlen(initracls) != 0)
|
||||
{
|
||||
appendPQExpBuffer(sql, "SELECT pg_catalog.binary_upgrade_set_record_init_privs(true);\n");
|
||||
appendPQExpBufferStr(sql, "SELECT pg_catalog.binary_upgrade_set_record_init_privs(true);\n");
|
||||
if (!buildACLCommands(name, subname, nspname, type,
|
||||
initacls, initracls, owner,
|
||||
"", fout->remoteVersion, sql))
|
||||
fatal("could not parse initial GRANT ACL list (%s) or initial REVOKE ACL list (%s) for object \"%s\" (%s)",
|
||||
initacls, initracls, name, type);
|
||||
appendPQExpBuffer(sql, "SELECT pg_catalog.binary_upgrade_set_record_init_privs(false);\n");
|
||||
appendPQExpBufferStr(sql, "SELECT pg_catalog.binary_upgrade_set_record_init_privs(false);\n");
|
||||
}
|
||||
|
||||
if (!buildACLCommands(name, subname, nspname, type,
|
||||
@ -16591,7 +16591,7 @@ dumpConstraint(Archive *fout, ConstraintInfo *coninfo)
|
||||
}
|
||||
|
||||
if (indxinfo->indnkeyattrs < indxinfo->indnattrs)
|
||||
appendPQExpBuffer(q, ") INCLUDE (");
|
||||
appendPQExpBufferStr(q, ") INCLUDE (");
|
||||
|
||||
for (k = indxinfo->indnkeyattrs; k < indxinfo->indnattrs; k++)
|
||||
{
|
||||
@ -16988,9 +16988,9 @@ dumpSequence(Archive *fout, TableInfo *tbinfo)
|
||||
"ALTER COLUMN %s ADD GENERATED ",
|
||||
fmtId(owning_tab->attnames[tbinfo->owning_col - 1]));
|
||||
if (owning_tab->attidentity[tbinfo->owning_col - 1] == ATTRIBUTE_IDENTITY_ALWAYS)
|
||||
appendPQExpBuffer(query, "ALWAYS");
|
||||
appendPQExpBufferStr(query, "ALWAYS");
|
||||
else if (owning_tab->attidentity[tbinfo->owning_col - 1] == ATTRIBUTE_IDENTITY_BY_DEFAULT)
|
||||
appendPQExpBuffer(query, "BY DEFAULT");
|
||||
appendPQExpBufferStr(query, "BY DEFAULT");
|
||||
appendPQExpBuffer(query, " AS IDENTITY (\n SEQUENCE NAME %s\n",
|
||||
fmtQualifiedDumpable(tbinfo));
|
||||
}
|
||||
|
@ -1432,7 +1432,7 @@ expand_dbname_patterns(PGconn *conn,
|
||||
|
||||
for (SimpleStringListCell *cell = patterns->head; cell; cell = cell->next)
|
||||
{
|
||||
appendPQExpBuffer(query,
|
||||
appendPQExpBufferStr(query,
|
||||
"SELECT datname FROM pg_catalog.pg_database n\n");
|
||||
processSQLNamePattern(conn, query, cell->val, false,
|
||||
false, NULL, "datname", NULL, NULL);
|
||||
|
@ -42,7 +42,7 @@ generate_old_dump(void)
|
||||
escaped_connstr;
|
||||
|
||||
initPQExpBuffer(&connstr);
|
||||
appendPQExpBuffer(&connstr, "dbname=");
|
||||
appendPQExpBufferStr(&connstr, "dbname=");
|
||||
appendConnStrVal(&connstr, old_db->db_name);
|
||||
initPQExpBuffer(&escaped_connstr);
|
||||
appendShellString(&escaped_connstr, connstr.data);
|
||||
|
@ -2992,7 +2992,7 @@ do_connect(enum trivalue reuse_previous_specification,
|
||||
if (!dbname && reuse_previous)
|
||||
{
|
||||
initPQExpBuffer(&connstr);
|
||||
appendPQExpBuffer(&connstr, "dbname=");
|
||||
appendPQExpBufferStr(&connstr, "dbname=");
|
||||
appendConnStrVal(&connstr, PQdb(o_conn));
|
||||
dbname = connstr.data;
|
||||
/* has_connection_string=true would be a dead store */
|
||||
@ -4576,7 +4576,7 @@ lookup_object_oid(EditableObjectType obj_type, const char *desc,
|
||||
*/
|
||||
appendPQExpBufferStr(query, "SELECT ");
|
||||
appendStringLiteralConn(query, desc, pset.db);
|
||||
appendPQExpBuffer(query, "::pg_catalog.regclass::pg_catalog.oid");
|
||||
appendPQExpBufferStr(query, "::pg_catalog.regclass::pg_catalog.oid");
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -2115,7 +2115,7 @@ describeOneTableDetails(const char *schemaname,
|
||||
" pg_catalog.pg_get_expr(c.relpartbound, inhrelid)");
|
||||
/* If verbose, also request the partition constraint definition */
|
||||
if (verbose)
|
||||
appendPQExpBuffer(&buf,
|
||||
appendPQExpBufferStr(&buf,
|
||||
",\n pg_catalog.pg_get_partition_constraintdef(inhrelid)");
|
||||
appendPQExpBuffer(&buf,
|
||||
"\nFROM pg_catalog.pg_class c"
|
||||
@ -2203,9 +2203,9 @@ describeOneTableDetails(const char *schemaname,
|
||||
" false AS condeferrable, false AS condeferred,\n");
|
||||
|
||||
if (pset.sversion >= 90400)
|
||||
appendPQExpBuffer(&buf, "i.indisreplident,\n");
|
||||
appendPQExpBufferStr(&buf, "i.indisreplident,\n");
|
||||
else
|
||||
appendPQExpBuffer(&buf, "false AS indisreplident,\n");
|
||||
appendPQExpBufferStr(&buf, "false AS indisreplident,\n");
|
||||
|
||||
appendPQExpBuffer(&buf, " a.amname, c2.relname, "
|
||||
"pg_catalog.pg_get_expr(i.indpred, i.indrelid, true)\n"
|
||||
@ -2263,7 +2263,7 @@ describeOneTableDetails(const char *schemaname,
|
||||
appendPQExpBufferStr(&tmpbuf, _(", initially deferred"));
|
||||
|
||||
if (strcmp(indisreplident, "t") == 0)
|
||||
appendPQExpBuffer(&tmpbuf, _(", replica identity"));
|
||||
appendPQExpBufferStr(&tmpbuf, _(", replica identity"));
|
||||
|
||||
printTableAddFooter(&cont, tmpbuf.data);
|
||||
add_tablespace_footer(&cont, tableinfo.relkind,
|
||||
@ -2374,7 +2374,7 @@ describeOneTableDetails(const char *schemaname,
|
||||
appendPQExpBufferStr(&buf, " INVALID");
|
||||
|
||||
if (strcmp(PQgetvalue(result, i, 10), "t") == 0)
|
||||
appendPQExpBuffer(&buf, " REPLICA IDENTITY");
|
||||
appendPQExpBufferStr(&buf, " REPLICA IDENTITY");
|
||||
|
||||
printTableAddFooter(&cont, buf.data);
|
||||
|
||||
@ -2457,8 +2457,8 @@ describeOneTableDetails(const char *schemaname,
|
||||
oid);
|
||||
|
||||
if (pset.sversion >= 120000)
|
||||
appendPQExpBuffer(&buf, " AND conparentid = 0\n");
|
||||
appendPQExpBuffer(&buf, "ORDER BY conname");
|
||||
appendPQExpBufferStr(&buf, " AND conparentid = 0\n");
|
||||
appendPQExpBufferStr(&buf, "ORDER BY conname");
|
||||
}
|
||||
|
||||
result = PSQLexec(buf.data);
|
||||
@ -2556,10 +2556,10 @@ describeOneTableDetails(const char *schemaname,
|
||||
{
|
||||
printfPQExpBuffer(&buf, "SELECT pol.polname,");
|
||||
if (pset.sversion >= 100000)
|
||||
appendPQExpBuffer(&buf,
|
||||
appendPQExpBufferStr(&buf,
|
||||
" pol.polpermissive,\n");
|
||||
else
|
||||
appendPQExpBuffer(&buf,
|
||||
appendPQExpBufferStr(&buf,
|
||||
" 't' as polpermissive,\n");
|
||||
appendPQExpBuffer(&buf,
|
||||
" CASE WHEN pol.polroles = '{0}' THEN NULL ELSE pg_catalog.array_to_string(array(select rolname from pg_catalog.pg_roles where oid = any (pol.polroles) order by 1),',') END,\n"
|
||||
@ -2608,7 +2608,7 @@ describeOneTableDetails(const char *schemaname,
|
||||
PQgetvalue(result, i, 0));
|
||||
|
||||
if (*(PQgetvalue(result, i, 1)) == 'f')
|
||||
appendPQExpBuffer(&buf, " AS RESTRICTIVE");
|
||||
appendPQExpBufferStr(&buf, " AS RESTRICTIVE");
|
||||
|
||||
if (!PQgetisnull(result, i, 5))
|
||||
appendPQExpBuffer(&buf, " FOR %s",
|
||||
@ -2913,12 +2913,12 @@ describeOneTableDetails(const char *schemaname,
|
||||
"t.tgconstraint <> 0 AS tgisinternal" :
|
||||
"false AS tgisinternal"), oid);
|
||||
if (pset.sversion >= 110000)
|
||||
appendPQExpBuffer(&buf, "(NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D') \n"
|
||||
appendPQExpBufferStr(&buf, "(NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D') \n"
|
||||
" OR EXISTS (SELECT 1 FROM pg_catalog.pg_depend WHERE objid = t.oid \n"
|
||||
" AND refclassid = 'pg_catalog.pg_trigger'::pg_catalog.regclass))");
|
||||
else if (pset.sversion >= 90000)
|
||||
/* display/warn about disabled internal triggers */
|
||||
appendPQExpBuffer(&buf, "(NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))");
|
||||
appendPQExpBufferStr(&buf, "(NOT t.tgisinternal OR (t.tgisinternal AND t.tgenabled = 'D'))");
|
||||
else if (pset.sversion >= 80300)
|
||||
appendPQExpBufferStr(&buf, "(t.tgconstraint = 0 OR (t.tgconstraint <> 0 AND t.tgenabled = 'D'))");
|
||||
else
|
||||
@ -3935,7 +3935,7 @@ listPartitionedTables(const char *reltypes, const char *pattern, bool verbose)
|
||||
{
|
||||
if (pset.sversion < 120000)
|
||||
{
|
||||
appendPQExpBuffer(&buf,
|
||||
appendPQExpBufferStr(&buf,
|
||||
",\n LATERAL (WITH RECURSIVE d\n"
|
||||
" AS (SELECT inhrelid AS oid, 1 AS level\n"
|
||||
" FROM pg_catalog.pg_inherits\n"
|
||||
@ -3954,7 +3954,7 @@ listPartitionedTables(const char *reltypes, const char *pattern, bool verbose)
|
||||
else
|
||||
{
|
||||
/* PostgreSQL 12 has pg_partition_tree function */
|
||||
appendPQExpBuffer(&buf,
|
||||
appendPQExpBufferStr(&buf,
|
||||
",\n LATERAL (SELECT pg_catalog.pg_size_pretty(sum("
|
||||
"\n CASE WHEN ppt.isleaf AND ppt.level = 1"
|
||||
"\n THEN pg_catalog.pg_table_size(ppt.relid)"
|
||||
@ -4003,7 +4003,7 @@ listPartitionedTables(const char *reltypes, const char *pattern, bool verbose)
|
||||
return false;
|
||||
|
||||
initPQExpBuffer(&title);
|
||||
appendPQExpBuffer(&title, "%s", tabletitle);
|
||||
appendPQExpBufferStr(&title, tabletitle);
|
||||
|
||||
myopt.nullPrint = NULL;
|
||||
myopt.title = title.data;
|
||||
@ -4567,7 +4567,7 @@ listSchemas(const char *pattern, bool verbose, bool showSystem)
|
||||
gettext_noop("Description"));
|
||||
}
|
||||
|
||||
appendPQExpBuffer(&buf,
|
||||
appendPQExpBufferStr(&buf,
|
||||
"\nFROM pg_catalog.pg_namespace n\n");
|
||||
|
||||
if (!showSystem && !pattern)
|
||||
@ -5768,9 +5768,9 @@ describePublications(const char *pattern)
|
||||
" pg_catalog.pg_get_userbyid(pubowner) AS owner,\n"
|
||||
" puballtables, pubinsert, pubupdate, pubdelete");
|
||||
if (has_pubtruncate)
|
||||
appendPQExpBuffer(&buf,
|
||||
appendPQExpBufferStr(&buf,
|
||||
", pubtruncate");
|
||||
appendPQExpBuffer(&buf,
|
||||
appendPQExpBufferStr(&buf,
|
||||
"\nFROM pg_catalog.pg_publication\n");
|
||||
|
||||
processSQLNamePattern(pset.db, &buf, pattern, false, false,
|
||||
|
@ -254,7 +254,7 @@ cluster_all_databases(bool verbose, const char *maintenance_db,
|
||||
}
|
||||
|
||||
resetPQExpBuffer(&connstr);
|
||||
appendPQExpBuffer(&connstr, "dbname=");
|
||||
appendPQExpBufferStr(&connstr, "dbname=");
|
||||
appendConnStrVal(&connstr, dbname);
|
||||
|
||||
cluster_one_database(connstr.data, verbose, NULL,
|
||||
|
@ -420,7 +420,7 @@ reindex_all_databases(const char *maintenance_db,
|
||||
}
|
||||
|
||||
resetPQExpBuffer(&connstr);
|
||||
appendPQExpBuffer(&connstr, "dbname=");
|
||||
appendPQExpBufferStr(&connstr, "dbname=");
|
||||
appendConnStrVal(&connstr, dbname);
|
||||
|
||||
reindex_one_database(NULL, connstr.data, REINDEX_DATABASE, host,
|
||||
|
@ -477,16 +477,16 @@ vacuum_one_database(const char *dbname, vacuumingOptions *vacopts,
|
||||
|
||||
if (!tables_listed)
|
||||
{
|
||||
appendPQExpBuffer(&catalog_query,
|
||||
appendPQExpBufferStr(&catalog_query,
|
||||
"WITH listed_tables (table_oid, column_list) "
|
||||
"AS (\n VALUES (");
|
||||
tables_listed = true;
|
||||
}
|
||||
else
|
||||
appendPQExpBuffer(&catalog_query, ",\n (");
|
||||
appendPQExpBufferStr(&catalog_query, ",\n (");
|
||||
|
||||
appendStringLiteralConn(&catalog_query, just_table, conn);
|
||||
appendPQExpBuffer(&catalog_query, "::pg_catalog.regclass, ");
|
||||
appendPQExpBufferStr(&catalog_query, "::pg_catalog.regclass, ");
|
||||
|
||||
if (just_columns && just_columns[0] != '\0')
|
||||
appendStringLiteralConn(&catalog_query, just_columns, conn);
|
||||
@ -500,14 +500,14 @@ vacuum_one_database(const char *dbname, vacuumingOptions *vacopts,
|
||||
|
||||
/* Finish formatting the CTE */
|
||||
if (tables_listed)
|
||||
appendPQExpBuffer(&catalog_query, "\n)\n");
|
||||
appendPQExpBufferStr(&catalog_query, "\n)\n");
|
||||
|
||||
appendPQExpBuffer(&catalog_query, "SELECT c.relname, ns.nspname");
|
||||
appendPQExpBufferStr(&catalog_query, "SELECT c.relname, ns.nspname");
|
||||
|
||||
if (tables_listed)
|
||||
appendPQExpBuffer(&catalog_query, ", listed_tables.column_list");
|
||||
appendPQExpBufferStr(&catalog_query, ", listed_tables.column_list");
|
||||
|
||||
appendPQExpBuffer(&catalog_query,
|
||||
appendPQExpBufferStr(&catalog_query,
|
||||
" FROM pg_catalog.pg_class c\n"
|
||||
" JOIN pg_catalog.pg_namespace ns"
|
||||
" ON c.relnamespace OPERATOR(pg_catalog.=) ns.oid\n"
|
||||
@ -516,7 +516,7 @@ vacuum_one_database(const char *dbname, vacuumingOptions *vacopts,
|
||||
|
||||
/* Used to match the tables listed by the user */
|
||||
if (tables_listed)
|
||||
appendPQExpBuffer(&catalog_query, " JOIN listed_tables"
|
||||
appendPQExpBufferStr(&catalog_query, " JOIN listed_tables"
|
||||
" ON listed_tables.table_oid OPERATOR(pg_catalog.=) c.oid\n");
|
||||
|
||||
/*
|
||||
@ -527,7 +527,7 @@ vacuum_one_database(const char *dbname, vacuumingOptions *vacopts,
|
||||
*/
|
||||
if (!tables_listed)
|
||||
{
|
||||
appendPQExpBuffer(&catalog_query, " WHERE c.relkind OPERATOR(pg_catalog.=) ANY (array["
|
||||
appendPQExpBufferStr(&catalog_query, " WHERE c.relkind OPERATOR(pg_catalog.=) ANY (array["
|
||||
CppAsString2(RELKIND_RELATION) ", "
|
||||
CppAsString2(RELKIND_MATVIEW) "])\n");
|
||||
has_where = true;
|
||||
@ -568,7 +568,7 @@ vacuum_one_database(const char *dbname, vacuumingOptions *vacopts,
|
||||
* Execute the catalog query. We use the default search_path for this
|
||||
* query for consistency with table lookups done elsewhere by the user.
|
||||
*/
|
||||
appendPQExpBuffer(&catalog_query, " ORDER BY c.relpages DESC;");
|
||||
appendPQExpBufferStr(&catalog_query, " ORDER BY c.relpages DESC;");
|
||||
executeCommand(conn, "RESET search_path;", progname, echo);
|
||||
res = executeQuery(conn, catalog_query.data, progname, echo);
|
||||
termPQExpBuffer(&catalog_query);
|
||||
@ -775,7 +775,7 @@ vacuum_all_databases(vacuumingOptions *vacopts,
|
||||
for (i = 0; i < PQntuples(result); i++)
|
||||
{
|
||||
resetPQExpBuffer(&connstr);
|
||||
appendPQExpBuffer(&connstr, "dbname=");
|
||||
appendPQExpBufferStr(&connstr, "dbname=");
|
||||
appendConnStrVal(&connstr, PQgetvalue(result, i, 0));
|
||||
|
||||
vacuum_one_database(connstr.data, vacopts,
|
||||
@ -792,7 +792,7 @@ vacuum_all_databases(vacuumingOptions *vacopts,
|
||||
for (i = 0; i < PQntuples(result); i++)
|
||||
{
|
||||
resetPQExpBuffer(&connstr);
|
||||
appendPQExpBuffer(&connstr, "dbname=");
|
||||
appendPQExpBufferStr(&connstr, "dbname=");
|
||||
appendConnStrVal(&connstr, PQgetvalue(result, i, 0));
|
||||
|
||||
vacuum_one_database(connstr.data, vacopts,
|
||||
|
@ -624,10 +624,10 @@ appendPsqlMetaConnect(PQExpBuffer buf, const char *dbname)
|
||||
PQExpBufferData connstr;
|
||||
|
||||
initPQExpBuffer(&connstr);
|
||||
appendPQExpBuffer(&connstr, "dbname=");
|
||||
appendPQExpBufferStr(&connstr, "dbname=");
|
||||
appendConnStrVal(&connstr, dbname);
|
||||
|
||||
appendPQExpBuffer(buf, "-reuse-previous=on ");
|
||||
appendPQExpBufferStr(buf, "-reuse-previous=on ");
|
||||
|
||||
/*
|
||||
* As long as the name does not contain a newline, SQL identifier
|
||||
|
@ -346,7 +346,7 @@ build_client_first_message(fe_scram_state *state)
|
||||
if (strcmp(state->sasl_mechanism, SCRAM_SHA_256_PLUS_NAME) == 0)
|
||||
{
|
||||
Assert(conn->ssl_in_use);
|
||||
appendPQExpBuffer(&buf, "p=tls-server-end-point");
|
||||
appendPQExpBufferStr(&buf, "p=tls-server-end-point");
|
||||
}
|
||||
#ifdef HAVE_PGTLS_GET_PEER_CERTIFICATE_HASH
|
||||
else if (conn->ssl_in_use)
|
||||
@ -354,7 +354,7 @@ build_client_first_message(fe_scram_state *state)
|
||||
/*
|
||||
* Client supports channel binding, but thinks the server does not.
|
||||
*/
|
||||
appendPQExpBuffer(&buf, "y");
|
||||
appendPQExpBufferChar(&buf, 'y');
|
||||
}
|
||||
#endif
|
||||
else
|
||||
@ -362,7 +362,7 @@ build_client_first_message(fe_scram_state *state)
|
||||
/*
|
||||
* Client does not support channel binding.
|
||||
*/
|
||||
appendPQExpBuffer(&buf, "n");
|
||||
appendPQExpBufferChar(&buf, 'n');
|
||||
}
|
||||
|
||||
if (PQExpBufferDataBroken(buf))
|
||||
@ -437,7 +437,7 @@ build_client_final_message(fe_scram_state *state)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
appendPQExpBuffer(&buf, "c=");
|
||||
appendPQExpBufferStr(&buf, "c=");
|
||||
|
||||
/* p=type,, */
|
||||
cbind_header_len = strlen("p=tls-server-end-point,,");
|
||||
@ -475,10 +475,10 @@ build_client_final_message(fe_scram_state *state)
|
||||
}
|
||||
#ifdef HAVE_PGTLS_GET_PEER_CERTIFICATE_HASH
|
||||
else if (conn->ssl_in_use)
|
||||
appendPQExpBuffer(&buf, "c=eSws"); /* base64 of "y,," */
|
||||
appendPQExpBufferStr(&buf, "c=eSws"); /* base64 of "y,," */
|
||||
#endif
|
||||
else
|
||||
appendPQExpBuffer(&buf, "c=biws"); /* base64 of "n,," */
|
||||
appendPQExpBufferStr(&buf, "c=biws"); /* base64 of "n,," */
|
||||
|
||||
if (PQExpBufferDataBroken(buf))
|
||||
goto oom_error;
|
||||
@ -496,7 +496,7 @@ build_client_final_message(fe_scram_state *state)
|
||||
state->client_final_message_without_proof,
|
||||
client_proof);
|
||||
|
||||
appendPQExpBuffer(&buf, ",p=");
|
||||
appendPQExpBufferStr(&buf, ",p=");
|
||||
if (!enlargePQExpBuffer(&buf, pg_b64_enc_len(SCRAM_KEY_LEN)))
|
||||
goto oom_error;
|
||||
buf.len += pg_b64_encode((char *) client_proof,
|
||||
|
@ -2772,7 +2772,7 @@ keep_going: /* We will come back to here until there is
|
||||
}
|
||||
else if (!conn->gctx && conn->gssencmode[0] == 'r')
|
||||
{
|
||||
appendPQExpBuffer(&conn->errorMessage,
|
||||
appendPQExpBufferStr(&conn->errorMessage,
|
||||
libpq_gettext("GSSAPI encryption required, but was impossible (possibly no ccache, no server support, or using a local socket)\n"));
|
||||
goto error_return;
|
||||
}
|
||||
|
@ -996,7 +996,7 @@ pqBuildErrorMessage3(PQExpBuffer msg, const PGresult *res,
|
||||
/* If we couldn't allocate a PGresult, just say "out of memory" */
|
||||
if (res == NULL)
|
||||
{
|
||||
appendPQExpBuffer(msg, libpq_gettext("out of memory\n"));
|
||||
appendPQExpBufferStr(msg, libpq_gettext("out of memory\n"));
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1009,7 +1009,7 @@ pqBuildErrorMessage3(PQExpBuffer msg, const PGresult *res,
|
||||
if (res->errMsg && res->errMsg[0])
|
||||
appendPQExpBufferStr(msg, res->errMsg);
|
||||
else
|
||||
appendPQExpBuffer(msg, libpq_gettext("no error message available\n"));
|
||||
appendPQExpBufferStr(msg, libpq_gettext("no error message available\n"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user