plpython: Streamline initialization
Peter Eisentraut <peter@eisentraut.org>
Author:
Peter Eisentraut <peter@eisentraut.org>
Date: 2026-01-15T11:11:52Z
Releases:
19 (unreleased)
plpython: Streamline initialization The initialization of PL/Python (the Python interpreter, the global state, the plpy module) was arranged confusingly across different functions with unclear and confusing boundaries. For example, PLy_init_interp() said "Initialize the Python interpreter ..." but it didn't actually do this, and PLy_init_plpy() said "initialize plpy module" but it didn't do that either. After this change, all the global initialization is called directly from _PG_init(), and the plpy module initialization is all called from its registered initialization function PyInit_plpy(). Reviewed-by: Chao Li <li.evan.chao@gmail.com> Reviewed-by: Matheus Alcantara <matheusssilv97@gmail.com> Reviewed-by: li carol <carol.li2025@outlook.com> Reviewed-by: Kirill Reshke <reshkekirill@gmail.com> Discussion: https://www.postgresql.org/message-id/f31333f1-fbb7-4098-b209-bf2d71fbd4f3%40eisentraut.org
Files
| Path | Change | +/− |
|---|---|---|
| src/pl/plpython/plpy_main.c | modified | +40 −38 |
| src/pl/plpython/plpy_plpymodule.c | modified | +1 −24 |
| src/pl/plpython/plpy_plpymodule.h | modified | +0 −1 |
Discussion
- PL/Python initialization cleanup 10 messages · 2025-12-31 → 2026-01-15