Alvaro Herrera <alvhe...@2ndquadrant.com> writes: > Error reporting in extended statistics is inconsistent -- many messages > that are ereport() in mvdistinct.c are elog() in the other modules. > ... > I think this should be cleaned up, while at the same time not giving too > much hassle for translators; for example, this message > dependencies.c: elog(ERROR, "invalid MVDependencies size %zd (expected at > least %zd)", > should not only be turned into an ereport(), but also the MVDependencies > part turned into a %s. (Alternatively, we could decide I was wrong and > turn them all back into elogs, but I obviously vote against that.)
FWIW, I'd vote the other way: that seems like a clear "internal error", so making translators deal with it is just make-work. It should be an elog. If there's a reasonably plausible way for a user to trigger an error condition, then yes ereport, but if we're reporting situations that couldn't happen without a server bug then elog seems fine. regards, tom lane