That caused the plpython_unicode regression test to fail on SQL_ASCII
encoding, as evidenced by the buildfarm. The reason is that with the patch,
you don't get the detail in the error message that you got before. That
detail is actually very informative, so rather than just adjust the expected
output, let's revert that part of the patch for now to make the buildfarm
green again, and figure out some other way to avoid the recursion of
PLy_elog() that doesn't lose the detail.
rv = PyUnicode_AsEncodedString(unicode, serverenc, "strict");
if (rv == NULL)
- {
- /*
- * Use a plain ereport instead of PLy_elog to avoid recursion, if
- * the traceback formatting functions try to do unicode to bytes
- * conversion again.
- */
- ereport(ERROR,
- (errcode(ERRCODE_INTERNAL_ERROR),
- errmsg("could not convert Python Unicode object to PostgreSQL server encoding")));
- }
+ PLy_elog(ERROR, "could not convert Python Unicode object to PostgreSQL server encoding");
return rv;
}