mirror of
https://github.com/postgres/postgres.git
synced 2026-04-24 07:40:59 -04:00
The 8.2 patch that added support for an alias on the target table of
UPDATE/DELETE forgot to teach ruleutils.c to display the alias. Per bug #4141 from Mathias Seiler.
This commit is contained in:
parent
90cdbe43e0
commit
5c27e396de
1 changed files with 10 additions and 3 deletions
|
|
@ -9,7 +9,7 @@
|
|||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.269 2008/01/06 01:03:16 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/ruleutils.c,v 1.269.2.1 2008/05/03 23:19:27 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
|
|
@ -2437,9 +2437,13 @@ get_update_query_def(Query *query, deparse_context *context)
|
|||
appendStringInfoChar(buf, ' ');
|
||||
context->indentLevel += PRETTYINDENT_STD;
|
||||
}
|
||||
appendStringInfo(buf, "UPDATE %s%s SET ",
|
||||
appendStringInfo(buf, "UPDATE %s%s",
|
||||
only_marker(rte),
|
||||
generate_relation_name(rte->relid));
|
||||
if (rte->alias != NULL)
|
||||
appendStringInfo(buf, " %s",
|
||||
quote_identifier(rte->alias->aliasname));
|
||||
appendStringInfoString(buf, " SET ");
|
||||
|
||||
/* Add the comma separated list of 'attname = value' */
|
||||
sep = "";
|
||||
|
|
@ -2511,12 +2515,15 @@ get_delete_query_def(Query *query, deparse_context *context)
|
|||
Assert(rte->rtekind == RTE_RELATION);
|
||||
if (PRETTY_INDENT(context))
|
||||
{
|
||||
context->indentLevel += PRETTYINDENT_STD;
|
||||
appendStringInfoChar(buf, ' ');
|
||||
context->indentLevel += PRETTYINDENT_STD;
|
||||
}
|
||||
appendStringInfo(buf, "DELETE FROM %s%s",
|
||||
only_marker(rte),
|
||||
generate_relation_name(rte->relid));
|
||||
if (rte->alias != NULL)
|
||||
appendStringInfo(buf, " %s",
|
||||
quote_identifier(rte->alias->aliasname));
|
||||
|
||||
/* Add the USING clause if given */
|
||||
get_from_clause(query, " USING ", context);
|
||||
|
|
|
|||
Loading…
Reference in a new issue