plpython subtransaction test failure with Python 3.10

Поиск
Список
Период
Сортировка
От Honza Horak
Тема plpython subtransaction test failure with Python 3.10
Дата
Msg-id CA+HKMWPk0bMUvwV7x4pYxbtNMCVvpBVi=o=S96MFYTr_WKZ7UA@mail.gmail.com
обсуждение исходный текст
Список pgsql-hackers
Originally reported as https://bugzilla.redhat.com/show_bug.cgi?id=1959080 during early integration testing of Python 3.10 done in Fedora.

The test failed because Python 3.10 reports the traceback a bit differently:

cat postgresql-13.2/src/pl/plpython/regression.diffs
diff -U3 postgresql-13.2/src/pl/plpython/expected/python3/plpython_subtransaction.out /builddir/build/BUILD/postgresql-13.2/src/pl/plpython/results/python3/plpython_subtransaction.out
--- postgresql-13.2/src/pl/plpython/expected/python3/plpython_subtransaction.out 2021-05-11 17:05:24.116431883 +0200
+++ postgresql-13.2/src/pl/plpython/results/python3/plpython_subtransaction.out 2021-05-11 17:05:26.689459542 +0200
@@ -224,8 +224,8 @@
 SELECT subtransaction_exit_subtransaction_in_with();
 ERROR:  ValueError: this subtransaction has already been exited
 CONTEXT:  Traceback (most recent call last):
-  PL/Python function "subtransaction_exit_subtransaction_in_with", line 3, in <module>
-    s.__exit__(None, None, None)
+  PL/Python function "subtransaction_exit_subtransaction_in_with", line 2, in <module>
+    with plpy.subtransaction() as s:
 PL/Python function "subtransaction_exit_subtransaction_in_with"
 -- Make sure we don't get a "current transaction is aborted" error
 SELECT 1 as test;

The attached patch makes the traceback look the same in Python 3.10 and also in earlier versions.

Regards,
Honza
Вложения

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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: PG 14 release notes, first draft
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: PG 14 release notes, first draft