mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-02 08:41:17 +02:00
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 <daniele.varrazzo@gmail.com>
This commit is contained in:
parent
b295cc3b9a
commit
898d24ae2a
@ -589,6 +589,6 @@ $$ LANGUAGE plpythonu;
|
|||||||
SELECT * FROM composite_type_as_list_broken();
|
SELECT * FROM composite_type_as_list_broken();
|
||||||
ERROR: malformed record literal: "first"
|
ERROR: malformed record literal: "first"
|
||||||
DETAIL: Missing left parenthesis.
|
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
|
CONTEXT: while creating return value
|
||||||
PL/Python function "composite_type_as_list_broken"
|
PL/Python function "composite_type_as_list_broken"
|
||||||
|
@ -949,7 +949,7 @@ PLyObject_ToDatum(PLyObToDatum *arg, int32 typmod, PyObject *plrv, bool inarray)
|
|||||||
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
|
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
|
||||||
errmsg("malformed record literal: \"%s\"", str),
|
errmsg("malformed record literal: \"%s\"", str),
|
||||||
errdetail("Missing left parenthesis."),
|
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,
|
return InputFunctionCall(&arg->typfunc,
|
||||||
@ -1387,7 +1387,7 @@ PLyGenericObject_ToComposite(PLyTypeInfo *info, TupleDesc desc, PyObject *object
|
|||||||
(errcode(ERRCODE_UNDEFINED_COLUMN),
|
(errcode(ERRCODE_UNDEFINED_COLUMN),
|
||||||
errmsg("attribute \"%s\" does not exist in Python object", key),
|
errmsg("attribute \"%s\" does not exist in Python object", key),
|
||||||
inarray ?
|
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.")));
|
errhint("To return null in a column, let the returned object have an attribute named after column with value None.")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user