summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Eisentraut2017-06-30 20:51:14 +0000
committerPeter Eisentraut2017-06-30 20:51:14 +0000
commit898d24ae2ad7195869c558eb6c126ff6a90474e8 (patch)
tree7ac5c38123c78748617ee65c322cd45ada8a8d5a
parentb295cc3b9ab48c3c34724fa577d6c1cfb753058c (diff)
PL/Python: Fix hint about returning composite type from Python
('foo') is not a Python tuple: it is a string wrapped in parentheses. A valid 1-element Python tuple is ('foo',). Author: Daniele Varrazzo <[email protected]>
-rw-r--r--src/pl/plpython/expected/plpython_composite.out2
-rw-r--r--src/pl/plpython/plpy_typeio.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/pl/plpython/expected/plpython_composite.out b/src/pl/plpython/expected/plpython_composite.out
index 7fc6a928e7..af80192334 100644
--- a/src/pl/plpython/expected/plpython_composite.out
+++ b/src/pl/plpython/expected/plpython_composite.out
@@ -589,6 +589,6 @@ $$ LANGUAGE plpythonu;
SELECT * FROM composite_type_as_list_broken();
ERROR: malformed record literal: "first"
DETAIL: Missing left parenthesis.
-HINT: To return a composite type in an array, return the composite type as a Python tuple, e.g. "[('foo')]"
+HINT: To return a composite type in an array, return the composite type as a Python tuple, e.g., "[('foo',)]".
CONTEXT: while creating return value
PL/Python function "composite_type_as_list_broken"
diff --git a/src/pl/plpython/plpy_typeio.c b/src/pl/plpython/plpy_typeio.c
index b2db8940a0..4dfa3e8f91 100644
--- a/src/pl/plpython/plpy_typeio.c
+++ b/src/pl/plpython/plpy_typeio.c
@@ -949,7 +949,7 @@ PLyObject_ToDatum(PLyObToDatum *arg, int32 typmod, PyObject *plrv, bool inarray)
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
errmsg("malformed record literal: \"%s\"", str),
errdetail("Missing left parenthesis."),
- errhint("To return a composite type in an array, return the composite type as a Python tuple, e.g. \"[('foo')]\"")));
+ errhint("To return a composite type in an array, return the composite type as a Python tuple, e.g., \"[('foo',)]\".")));
}
return InputFunctionCall(&arg->typfunc,
@@ -1387,7 +1387,7 @@ PLyGenericObject_ToComposite(PLyTypeInfo *info, TupleDesc desc, PyObject *object
(errcode(ERRCODE_UNDEFINED_COLUMN),
errmsg("attribute \"%s\" does not exist in Python object", key),
inarray ?
- errhint("To return a composite type in an array, return the composite type as a Python tuple, e.g. \"[('foo')]\"") :
+ errhint("To return a composite type in an array, return the composite type as a Python tuple, e.g., \"[('foo',)]\".") :
errhint("To return null in a column, let the returned object have an attribute named after column with value None.")));
}