first = false;
}
else
- appendStringInfo(buf, ",\n");
+ appendStringInfoString(buf, ",\n");
relname = get_rel_name(pgeform->pgerelid);
if (relname && strcmp(relname, NameStr(pgeform->pgealias)) == 0)
{
appendStringInfoString(buf, " KEY (");
decompile_column_index_array(datum, pgeform->pgerelid, false, buf);
- appendStringInfoString(buf, ")");
+ appendStringInfoChar(buf, ')');
}
else
elog(ERROR, "null pgekey for element %u", pgeform->oid);
decompile_column_index_array(srckey, pgeform->pgerelid, false, buf);
appendStringInfo(buf, ") REFERENCES %s (", quote_identifier(NameStr(pgeform2->pgealias)));
decompile_column_index_array(srcref, pgeform2->pgerelid, false, buf);
- appendStringInfoString(buf, ")");
+ appendStringInfoChar(buf, ')');
}
else
appendStringInfo(buf, " %s ", quote_identifier(NameStr(pgeform2->pgealias)));
decompile_column_index_array(destkey, pgeform->pgerelid, false, buf);
appendStringInfo(buf, ") REFERENCES %s (", quote_identifier(NameStr(pgeform2->pgealias)));
decompile_column_index_array(destref, pgeform2->pgerelid, false, buf);
- appendStringInfoString(buf, ")");
+ appendStringInfoChar(buf, ')');
}
else
appendStringInfo(buf, " %s", quote_identifier(NameStr(pgeform2->pgealias)));
make_propgraphdef_labels(buf, pgeform->oid, NameStr(pgeform->pgealias), pgeform->pgerelid);
}
if (!first)
- appendStringInfo(buf, "\n )");
+ appendStringInfoString(buf, "\n )");
systable_endscan(scan);
table_close(pgerel, AccessShareLock);
{
/* If the default label is the only label, don't print anything. */
if (count != 1)
- appendStringInfo(buf, " DEFAULT LABEL");
+ appendStringInfoString(buf, " DEFAULT LABEL");
}
else
appendStringInfo(buf, " LABEL %s", quote_identifier(osp->str));
context = deparse_context_for(get_relation_name(elrelid), elrelid);
- appendStringInfo(buf, " PROPERTIES (");
+ appendStringInfoString(buf, " PROPERTIES (");
foreach(lc, outlist)
{
if (first)
first = false;
else
- appendStringInfo(buf, ", ");
+ appendStringInfoString(buf, ", ");
if (IsA(expr, Var) && strcmp(propname, get_attname(elrelid, castNode(Var, expr)->varattno, false)) == 0)
- appendStringInfo(buf, "%s", quote_identifier(propname));
+ appendStringInfoString(buf, quote_identifier(propname));
else
appendStringInfo(buf, "%s AS %s",
deparse_expression_pretty(expr, context, false, false, 0, 0),
quote_identifier(propname));
}
- appendStringInfo(buf, ")");
+ appendStringInfoChar(buf, ')');
}
else
- appendStringInfo(buf, " NO PROPERTIES");
+ appendStringInfoString(buf, " NO PROPERTIES");
}
/*
if (!first)
{
if (be->boolop == OR_EXPR)
- appendStringInfoString(buf, "|");
+ appendStringInfoChar(buf, '|');
}
else
first = false;
switch (gep->kind)
{
case VERTEX_PATTERN:
- appendStringInfoString(buf, "(");
+ appendStringInfoChar(buf, '(');
break;
case EDGE_PATTERN_LEFT:
appendStringInfoString(buf, "<-[");
appendStringInfoString(buf, "-[");
break;
case PAREN_EXPR:
- appendStringInfoString(buf, "(");
+ appendStringInfoChar(buf, '(');
break;
}
switch (gep->kind)
{
case VERTEX_PATTERN:
- appendStringInfoString(buf, ")");
+ appendStringInfoChar(buf, ')');
break;
case EDGE_PATTERN_LEFT:
case EDGE_PATTERN_ANY:
appendStringInfoString(buf, "]->");
break;
case PAREN_EXPR:
- appendStringInfoString(buf, ")");
+ appendStringInfoChar(buf, ')');
break;
}
appendStringInfoString(buf, quote_identifier(te->resname));
}
}
- appendStringInfoString(buf, ")");
- appendStringInfoString(buf, ")");
+ appendStringInfoString(buf, "))");
break;
case RTE_VALUES:
/* Values list RTE */
{
appendStringInfoString(context->buf, " (");
get_rule_expr(forPortionOf->targetRange, context, false);
- appendStringInfoString(context->buf, ")");
+ appendStringInfoChar(context->buf, ')');
}
}
}
printfPQExpBuffer(&buf, "/* %s */\n",
_("Get matching relations to describe"));
- appendPQExpBuffer(&buf,
- "SELECT c.oid,\n"
- " n.nspname,\n"
- " c.relname\n"
- "FROM pg_catalog.pg_class c\n"
- " LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n");
+ appendPQExpBufferStr(&buf,
+ "SELECT c.oid,\n"
+ " n.nspname,\n"
+ " c.relname\n"
+ "FROM pg_catalog.pg_class c\n"
+ " LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace\n");
if (!showSystem && !pattern)
appendPQExpBufferStr(&buf, "WHERE n.nspname <> 'pg_catalog'\n"
cols = 0;
printfPQExpBuffer(&buf, "/* %s */\n",
_("Get per-column information for one relation"));
- appendPQExpBuffer(&buf, "SELECT a.attname");
+ appendPQExpBufferStr(&buf, "SELECT a.attname");
attname_col = cols++;
appendPQExpBufferStr(&buf, ",\n pg_catalog.format_type(a.atttypid, a.atttypmod)");
atttype_col = cols++;
printfPQExpBuffer(&buf, "/* %s */\n",
_("Get partitioning information for this partition"));
- appendPQExpBuffer(&buf,
- "SELECT inhparent::pg_catalog.regclass,\n"
- " pg_catalog.pg_get_expr(c.relpartbound, c.oid),\n ");
+ appendPQExpBufferStr(&buf,
+ "SELECT inhparent::pg_catalog.regclass,\n"
+ " pg_catalog.pg_get_expr(c.relpartbound, c.oid),\n ");
appendPQExpBufferStr(&buf,
pset.sversion >= 140000 ? "inhdetachpending" :
PGresult *result;
printfPQExpBuffer(&buf, "/* %s */\n", _("Get index details"));
- appendPQExpBuffer(&buf,
- "SELECT i.indisunique, i.indisprimary, i.indisclustered, "
- "i.indisvalid,\n"
- " (NOT i.indimmediate) AND "
- "EXISTS (SELECT 1 FROM pg_catalog.pg_constraint "
- "WHERE conrelid = i.indrelid AND "
- "conindid = i.indexrelid AND "
- "contype IN (" CppAsString2(CONSTRAINT_PRIMARY) ","
- CppAsString2(CONSTRAINT_UNIQUE) ","
- CppAsString2(CONSTRAINT_EXCLUSION) ") AND "
- "condeferrable) AS condeferrable,\n"
- " (NOT i.indimmediate) AND "
- "EXISTS (SELECT 1 FROM pg_catalog.pg_constraint "
- "WHERE conrelid = i.indrelid AND "
- "conindid = i.indexrelid AND "
- "contype IN (" CppAsString2(CONSTRAINT_PRIMARY) ","
- CppAsString2(CONSTRAINT_UNIQUE) ","
- CppAsString2(CONSTRAINT_EXCLUSION) ") AND "
- "condeferred) AS condeferred,\n");
+ appendPQExpBufferStr(&buf,
+ "SELECT i.indisunique, i.indisprimary, i.indisclustered, "
+ "i.indisvalid,\n"
+ " (NOT i.indimmediate) AND "
+ "EXISTS (SELECT 1 FROM pg_catalog.pg_constraint "
+ "WHERE conrelid = i.indrelid AND "
+ "conindid = i.indexrelid AND "
+ "contype IN (" CppAsString2(CONSTRAINT_PRIMARY) ","
+ CppAsString2(CONSTRAINT_UNIQUE) ","
+ CppAsString2(CONSTRAINT_EXCLUSION) ") AND "
+ "condeferrable) AS condeferrable,\n"
+ " (NOT i.indimmediate) AND "
+ "EXISTS (SELECT 1 FROM pg_catalog.pg_constraint "
+ "WHERE conrelid = i.indrelid AND "
+ "conindid = i.indexrelid AND "
+ "contype IN (" CppAsString2(CONSTRAINT_PRIMARY) ","
+ CppAsString2(CONSTRAINT_UNIQUE) ","
+ CppAsString2(CONSTRAINT_EXCLUSION) ") AND "
+ "condeferred) AS condeferred,\n");
if (pset.sversion >= 90400)
appendPQExpBufferStr(&buf, "i.indisreplident,\n");
if (tableinfo.hasindex)
{
printfPQExpBuffer(&buf, "/* %s */\n", _("Get indexes for this table"));
- appendPQExpBuffer(&buf,
- "SELECT c2.relname, i.indisprimary, i.indisunique, "
- "i.indisclustered, i.indisvalid, "
- "pg_catalog.pg_get_indexdef(i.indexrelid, 0, true),\n "
- "pg_catalog.pg_get_constraintdef(con.oid, true), "
- "contype, condeferrable, condeferred");
+ appendPQExpBufferStr(&buf,
+ "SELECT c2.relname, i.indisprimary, i.indisunique, "
+ "i.indisclustered, i.indisvalid, "
+ "pg_catalog.pg_get_indexdef(i.indexrelid, 0, true),\n "
+ "pg_catalog.pg_get_constraintdef(con.oid, true), "
+ "contype, condeferrable, condeferred");
if (pset.sversion >= 90400)
appendPQExpBufferStr(&buf, ", i.indisreplident");
else
{
printfPQExpBuffer(&buf, "/* %s */\n",
_("Get row-level policies for this table"));
- appendPQExpBuffer(&buf, "SELECT pol.polname,");
+ appendPQExpBufferStr(&buf, "SELECT pol.polname,");
if (pset.sversion >= 100000)
appendPQExpBufferStr(&buf,
" pol.polpermissive,\n");
{
printfPQExpBuffer(&buf, "/* %s */\n",
_("Get extended statistics for this table"));
- appendPQExpBuffer(&buf,
- "SELECT oid, "
- "stxrelid::pg_catalog.regclass, "
- "stxnamespace::pg_catalog.regnamespace AS nsp, "
- "stxname,\n"
- " (SELECT pg_catalog.string_agg(pg_catalog.quote_ident(attname),', ')\n"
- " FROM pg_catalog.unnest(stxkeys) s(attnum)\n"
- " JOIN pg_catalog.pg_attribute a ON (stxrelid = a.attrelid AND\n"
- " a.attnum = s.attnum AND NOT attisdropped)) AS columns,\n"
- " " CppAsString2(STATS_EXT_NDISTINCT) " = any(stxkind) AS ndist_enabled,\n"
- " " CppAsString2(STATS_EXT_DEPENDENCIES) " = any(stxkind) AS deps_enabled,\n"
- " " CppAsString2(STATS_EXT_MCV) " = any(stxkind) AS mcv_enabled,\n");
+ appendPQExpBufferStr(&buf,
+ "SELECT oid, "
+ "stxrelid::pg_catalog.regclass, "
+ "stxnamespace::pg_catalog.regnamespace AS nsp, "
+ "stxname,\n"
+ " (SELECT pg_catalog.string_agg(pg_catalog.quote_ident(attname),', ')\n"
+ " FROM pg_catalog.unnest(stxkeys) s(attnum)\n"
+ " JOIN pg_catalog.pg_attribute a ON (stxrelid = a.attrelid AND\n"
+ " a.attnum = s.attnum AND NOT attisdropped)) AS columns,\n"
+ " " CppAsString2(STATS_EXT_NDISTINCT) " = any(stxkind) AS ndist_enabled,\n"
+ " " CppAsString2(STATS_EXT_DEPENDENCIES) " = any(stxkind) AS deps_enabled,\n"
+ " " CppAsString2(STATS_EXT_MCV) " = any(stxkind) AS mcv_enabled,\n");
if (pset.sversion >= 130000)
appendPQExpBufferStr(&buf, " stxstattarget\n");
printfPQExpBuffer(&buf, "/* %s */\n",
_("Get triggers for this relation"));
- appendPQExpBuffer(&buf,
- "SELECT t.tgname, "
- "pg_catalog.pg_get_triggerdef(t.oid, true), "
- "t.tgenabled, t.tgisinternal,\n");
+ appendPQExpBufferStr(&buf,
+ "SELECT t.tgname, "
+ "pg_catalog.pg_get_triggerdef(t.oid, true), "
+ "t.tgenabled, t.tgisinternal,\n");
/*
* Detect whether each trigger is inherited, and if so, get the name
initPQExpBuffer(&buf);
printfPQExpBuffer(&buf, "/* %s */\n", _("Get matching roles"));
- appendPQExpBuffer(&buf,
- "SELECT r.rolname, r.rolsuper, r.rolinherit,\n"
- " r.rolcreaterole, r.rolcreatedb, r.rolcanlogin,\n"
- " r.rolconnlimit, r.rolvaliduntil");
+ appendPQExpBufferStr(&buf,
+ "SELECT r.rolname, r.rolsuper, r.rolinherit,\n"
+ " r.rolcreaterole, r.rolcreatedb, r.rolcanlogin,\n"
+ " r.rolconnlimit, r.rolvaliduntil");
if (verbose)
{
initPQExpBuffer(&buf);
printfPQExpBuffer(&buf, "/* %s */\n", _("Get matching text search parsers"));
- appendPQExpBuffer(&buf,
- "SELECT p.oid,\n"
- " n.nspname,\n"
- " p.prsname\n"
- "FROM pg_catalog.pg_ts_parser p\n"
- "LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.prsnamespace\n"
+ appendPQExpBufferStr(&buf,
+ "SELECT p.oid,\n"
+ " n.nspname,\n"
+ " p.prsname\n"
+ "FROM pg_catalog.pg_ts_parser p\n"
+ "LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.prsnamespace\n"
);
if (!validateSQLNamePattern(&buf, pattern, false, false,
initPQExpBuffer(&buf);
printfPQExpBuffer(&buf, "/* %s */\n", _("Get matching text search configurations"));
- appendPQExpBuffer(&buf,
- "SELECT c.oid, c.cfgname,\n"
- " n.nspname,\n"
- " p.prsname,\n"
- " np.nspname as pnspname\n"
- "FROM pg_catalog.pg_ts_config c\n"
- " LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.cfgnamespace,\n"
- " pg_catalog.pg_ts_parser p\n"
- " LEFT JOIN pg_catalog.pg_namespace np ON np.oid = p.prsnamespace\n"
- "WHERE p.oid = c.cfgparser\n"
+ appendPQExpBufferStr(&buf,
+ "SELECT c.oid, c.cfgname,\n"
+ " n.nspname,\n"
+ " p.prsname,\n"
+ " np.nspname as pnspname\n"
+ "FROM pg_catalog.pg_ts_config c\n"
+ " LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.cfgnamespace,\n"
+ " pg_catalog.pg_ts_parser p\n"
+ " LEFT JOIN pg_catalog.pg_namespace np ON np.oid = p.prsnamespace\n"
+ "WHERE p.oid = c.cfgparser\n"
);
if (!validateSQLNamePattern(&buf, pattern, true, false,
initPQExpBuffer(&buf);
printfPQExpBuffer(&buf, "/* %s */\n", _("Get matching installed extensions"));
- appendPQExpBuffer(&buf,
- "SELECT e.extname, e.oid\n"
- "FROM pg_catalog.pg_extension e\n");
+ appendPQExpBufferStr(&buf,
+ "SELECT e.extname, e.oid\n"
+ "FROM pg_catalog.pg_extension e\n");
if (!validateSQLNamePattern(&buf, pattern,
false, false,
initPQExpBuffer(&buf);
printfPQExpBuffer(&buf, "/* %s */\n", _("Get details about matching publications"));
- appendPQExpBuffer(&buf,
- "SELECT oid, pubname,\n"
- " pg_catalog.pg_get_userbyid(pubowner) AS owner,\n"
- " puballtables");
+ appendPQExpBufferStr(&buf,
+ "SELECT oid, pubname,\n"
+ " pg_catalog.pg_get_userbyid(pubowner) AS owner,\n"
+ " puballtables");
if (has_pubsequence)
appendPQExpBufferStr(&buf,
/* Get the tables for the specified publication */
printfPQExpBuffer(&buf, "/* %s */\n",
_("Get tables published by this publication"));
- appendPQExpBuffer(&buf, "SELECT n.nspname, c.relname");
+ appendPQExpBufferStr(&buf, "SELECT n.nspname, c.relname");
if (pset.sversion >= 150000)
{
appendPQExpBufferStr(&buf,
" AND pr.prpubid = '%s'\n", pubid);
if (pset.sversion >= 190000)
- appendPQExpBuffer(&buf, " AND NOT pr.prexcept\n");
+ appendPQExpBufferStr(&buf, " AND NOT pr.prexcept\n");
- appendPQExpBuffer(&buf, "ORDER BY 1,2");
+ appendPQExpBufferStr(&buf, "ORDER BY 1,2");
if (!addFooterToPublicationDesc(&buf, _("Tables:"), false, &cont))
goto error_return;