[PATCH] Return command tag 'REPLACE X' for CREATE OR REPLACE statements. - Mailing list pgsql-hackers

From Marti Raudsepp
Subject [PATCH] Return command tag 'REPLACE X' for CREATE OR REPLACE statements.
Date
Msg-id AANLkTi=_tE7970W86mCdQBT5S7L9zBEKaNykLYOdHQbS@mail.gmail.com
Whole thread Raw
Responses Re: [PATCH] Return command tag 'REPLACE X' for CREATE OR REPLACE statements.
Re: [PATCH] Return command tag 'REPLACE X' for CREATE OR REPLACE statements.
List pgsql-hackers
Hi list,

Often enough when developing PostgreSQL views and functions, I have
pasted the CREATE OR REPLACE commands into the wrong window/shell and
ran them there without realizing that I'm creating a function in the
wrong database, instead of replacing. Currently psql does not provide
any feedback of which action really occured.

Only after writing this patch I realized that I could instead raise a
NOTICE, like current IF EXISTS/IF NOT EXISTS clauses do. Is that a
better way to solve this?

This patch returns command tag "CREATE X" or "REPLACE X" for
LANGAUGE/VIEW/RULE/FUNCTION. This is done by passing completionTag to
from ProcessUtility to more functions, and adding a 'bool *didUpdate'
argument to some lower-level functions. I'm not sure if passing back
the status in a bool* is considered good style, but this way all the
functions look consistent.

Regards,
Marti

Attachment

pgsql-hackers by date:

Previous
From: Martijn van Oosterhout
Date:
Subject: Re: Rethinking representation of sort/hash semantics in queries and plans
Next
From: Josh Kupershmidt
Date:
Subject: Re: [GENERAL] column-level update privs + lock table