diff --git a/src/backend/tcop/pquery.c b/src/backend/tcop/pquery.c index 05068fa406..42960b8225 100644 --- a/src/backend/tcop/pquery.c +++ b/src/backend/tcop/pquery.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/tcop/pquery.c,v 1.134 2010/01/02 16:57:52 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/tcop/pquery.c,v 1.135 2010/02/13 22:45:41 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -1318,9 +1318,14 @@ PortalRunMulti(Portal portal, bool isTopLevel, * If a command completion tag was supplied, use it. Otherwise use the * portal's commandTag as the default completion tag. * - * Exception: clients will expect INSERT/UPDATE/DELETE tags to have - * counts, so fake something up if necessary. (This could happen if the - * original query was replaced by a DO INSTEAD rule.) + * Exception: Clients expect INSERT/UPDATE/DELETE tags to have + * counts, so fake them with zeros. This can happen with DO INSTEAD + * rules if there is no replacement query of the same type as the + * original. We print "0 0" here because technically there is no + * query of the matching tag type, and printing a non-zero count for + * a different query type seems wrong, e.g. an INSERT that does + * an UPDATE instead should not print "0 1" if one row + * was updated. See QueryRewrite(), step 3, for details. */ if (completionTag && completionTag[0] == '\0') {