pgsql: In hstore_plpython, avoid crashing when return value isn't a map

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: In hstore_plpython, avoid crashing when return value isn't a map
Дата
Msg-id E1ps3xs-005Be7-Bn@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
In hstore_plpython, avoid crashing when return value isn't a mapping.

Python 3 changed the behavior of PyMapping_Check(), breaking the
test in plpython_to_hstore() that verifies whether a function result
to be transformed is acceptable.  A backwards-compatible fix is to
first verify that the object doesn't pass PySequence_Check().

Perhaps accidentally, our other uses of PyMapping_Check() already
follow uses of PySequence_Check(), so that no other bugs were
created by this change.

Per bug #17908 from Alexander Lakhin.  Back-patch to all supported
branches.

Dmitry Dolgov and Tom Lane

Discussion: https://postgr.es/m/17908-3f19a125d56a11d6@postgresql.org

Branch
------
REL_15_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/85ec8bcce2608b8e29a1a0742282d39b29b78dda

Modified Files
--------------
contrib/hstore_plpython/expected/hstore_plpython.out | 11 +++++++++++
contrib/hstore_plpython/hstore_plpython.c            |  8 +++++++-
contrib/hstore_plpython/sql/hstore_plpython.sql      | 11 +++++++++++
3 files changed, 29 insertions(+), 1 deletion(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Amit Kapila
Дата:
Сообщение: pgsql: Add a test to verify that subscription to the standby works.
Следующее
От: Alexander Korotkov
Дата:
Сообщение: pgsql: Fix wrong construct_array_builtin() call in GUCArrayDelete()