postgres.git / summary / log / commit / refs

commit    0793ab810038999c0659b3aad9525aa7ef4c8c26
Author:   Peter Eisentraut <peter@eisentraut.org>
Date:     Fri Mar 14 07:17:40 2025 +0000

    Activate Python "Limited API" in PL/Python
    
    This allows building PL/Python against any Python 3.x version and
    using another Python 3.x version at run time.  This is useful for
    installers that want to run against a separately downloaded Python, so
    that they don't have to bundle it themselves.
    
    This builds on the earlier patch to only use APIs supported by the
    Limited API.
    
    At the moment, this is not activated on MSVC because that leads to
    build failures that no one could explain or cared enough to address.
    This could be done later.
    
    Reviewed-by: Jakob Egger <jakob@eggerapps.at>
    Discussion: https://www.postgresql.org/message-id/flat/ee410de1-1e0b-4770-b125-eeefd4726a24@eisentraut.org


src/pl/plpython/plpython.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/pl/plpython/plpython.h b/src/pl/plpython/plpython.h index ec822577260..06fc1a5440f 100644 --- a/src/pl/plpython/plpython.h +++ b/src/pl/plpython/plpython.h @@ -19,6 +19,15 @@ #error Python.h must be included via plpython.h #endif +/* + * Enable Python Limited API + * + * XXX currently not enabled on MSVC because of build failures + */ +#if !defined(_MSC_VER) +#define Py_LIMITED_API 0x03020000 +#endif + /* * Pull in Python headers via a wrapper header, to control the scope of * the system_header pragma therein. [parent: 05cbd6cb22d2]