(0 rows)
SELECT unicode_plan1();
-WARNING: PL/Python: plpy.Error: unrecognized error in PLy_spi_execute_plan
+WARNING: PL/Python: plpy.SPIError: unrecognized error in PLy_spi_execute_plan
CONTEXT: PL/Python function "unicode_plan1"
ERROR: PL/Python: plpy.SPIError: PL/Python: could not convert Python Unicode object to PostgreSQL server encoding
DETAIL: UnicodeError: ASCII encoding error: ordinal not in range(128)
(0 rows)
SELECT unicode_plan1();
-WARNING: PL/Python: plpy.Error: unrecognized error in PLy_spi_execute_plan
+WARNING: PL/Python: plpy.SPIError: unrecognized error in PLy_spi_execute_plan
CONTEXT: PL/Python function "unicode_plan1"
ERROR: PL/Python: plpy.SPIError: PL/Python: could not convert Python Unicode object to PostgreSQL server encoding
DETAIL: UnicodeEncodeError: 'ascii' codec can't encode character u'\x80' in position 0: ordinal not in range(128)
int nargs;
if (!PyArg_ParseTuple(args, "s|O", &query, &list))
- {
- PLy_exception_set(PLy_exc_spi_error,
- "invalid arguments for plpy.prepare");
return NULL;
- }
if (list && (!PySequence_Check(list)))
{
- PLy_exception_set(PLy_exc_spi_error,
+ PLy_exception_set(PyExc_TypeError,
"second argument of plpy.prepare must be a sequence");
return NULL;
}
{
if (!PySequence_Check(list) || PyString_Check(list) || PyUnicode_Check(list))
{
- PLy_exception_set(PLy_exc_spi_error, "plpy.execute takes a sequence as its second argument");
+ PLy_exception_set(PyExc_TypeError, "plpy.execute takes a sequence as its second argument");
return NULL;
}
nargs = PySequence_Length(list);
if (!so)
PLy_elog(ERROR, "could not execute plan");
sv = PyString_AsString(so);
- PLy_exception_set_plural(PLy_exc_spi_error,
+ PLy_exception_set_plural(PyExc_TypeError,
"Expected sequence of %d argument, got %d: %s",
"Expected sequence of %d arguments, got %d: %s",
plan->nargs,
}
if (!PyErr_Occurred())
- PLy_exception_set(PLy_exc_error,
+ PLy_exception_set(PLy_exc_spi_error,
"unrecognized error in PLy_spi_execute_plan");
PLy_elog(WARNING, NULL);
PLy_spi_exception_set(edata);