Fix mapping of PostgreSQL encodings to Python encodings.
Heikki Linnakangas <heikki.linnakangas@iki.fi>
Fix mapping of PostgreSQL encodings to Python encodings. Windows encodings, "win1252" and so forth, are named differently in Python, like "cp1252". Also, if the PyUnicode_AsEncodedString() function call fails for some reason, use a plain ereport(), not a PLy_elog(), to report that error. That avoids recursion and crash, if PLy_elog() tries to call PLyUnicode_Bytes() again. This fixes bug reported by Asif Naeem. Backpatch down to 9.0, before that plpython didn't even try these conversions. Jan Urbański, with minor comment improvements by me.
Files
| Path | Change | +/− |
|---|---|---|
| src/pl/plpython/plpy_util.c | modified | +62 −7 |