On Wed, May 20, 2015 at 3:14 PM, Peter Geoghegan <p...@heroku.com> wrote: > I think you're right. The initial commit neglected to update that, and > only handled it from ProcessQuery(). So it works for PlannedStmts, not > raw parse trees.
Attached patch fixes this. Thanks for the report. -- Peter Geoghegan
diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c index a95eff1..8fd5ee8 100644 --- a/src/backend/tcop/utility.c +++ b/src/backend/tcop/utility.c @@ -1898,7 +1898,14 @@ CreateCommandTag(Node *parsetree) { /* raw plannable queries */ case T_InsertStmt: - tag = "INSERT"; + { + InsertStmt *stmt = (InsertStmt *) parsetree; + + tag = "INSERT"; + if (stmt->onConflictClause && + stmt->onConflictClause->action == ONCONFLICT_UPDATE) + tag = "UPSERT"; + } break; case T_DeleteStmt:
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers