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 <[email protected]> Reviewed-by: Matheus Alcantara <[email protected]> Reviewed-by: li carol <[email protected]> Reviewed-by: Kirill Reshke <[email protected]> Discussion: https://www.postgresql.org/message-id/f31333f1-fbb7-4098-b209-bf2d71fbd4f3%40eisentraut.org Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/da265a87175be469db6c178b57862ad1fb26dd04 Modified Files -------------- src/pl/plpython/plpy_main.c | 78 ++++++++++++++++++++------------------- src/pl/plpython/plpy_plpymodule.c | 25 +------------ src/pl/plpython/plpy_plpymodule.h | 1 - 3 files changed, 41 insertions(+), 63 deletions(-)
