Fix misleading error message about inconsistent moving-aggregate types.
authorTom Lane <[email protected]>
Sun, 6 Sep 2020 16:55:13 +0000 (12:55 -0400)
committerTom Lane <[email protected]>
Sun, 6 Sep 2020 16:56:10 +0000 (12:56 -0400)
We reported the wrong types when complaining that an aggregate's
moving-aggregate implementation is inconsistent with its regular
implementation.

This was wrong since the feature was introduced, so back-patch
to all supported branches.

Jeff Janes

Discussion: https://postgr.es/m/CAMkU=1x808LH=LPhZp9mNSP0Xd1xDqEd+XeGcvEe48dfE6xV=A@mail.gmail.com

src/backend/catalog/pg_aggregate.c

index 009ac398ee4745008da4135ed7ff126c430d29b1..dc637e34bb10e9ee6b6428472b510cf2b78c7f2c 100644 (file)
@@ -475,8 +475,8 @@ AggregateCreate(const char *aggName,
            ereport(ERROR,
                    (errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
                     errmsg("moving-aggregate implementation returns type %s, but plain implementation returns type %s",
-                           format_type_be(aggmTransType),
-                           format_type_be(aggTransType))));
+                           format_type_be(rettype),
+                           format_type_be(finaltype))));
    }
 
    /* handle sortop, if supplied */