Re: Use Python "Limited API" in PL/Python

vignesh C <vignesh21@gmail.com>

From: vignesh C <vignesh21@gmail.com>
To: Peter Eisentraut <peter@eisentraut.org>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>, Jakob Egger <jakob@eggerapps.at>
Date: 2025-03-17T06:08:08Z
Lists: pgsql-hackers
On Fri, 14 Mar 2025 at 14:11, Peter Eisentraut <peter@eisentraut.org> wrote:
>
> On 05.03.25 17:40, Peter Eisentraut wrote:
> > On 03.03.25 11:17, Peter Eisentraut wrote:
> >> Update for the hackers list: This patch set was briefly committed but
> >> had to be reverted because it crashed on some older Python versions;
> >> see [0].
> >>
> >> I have locally reproduced the problem with Python 3.6 and 3.7; Python
> >> 3.8 is ok.  This matches the results from the buildfarm.
> >>
> >> I have poked at this a bit more but haven't gotten a good idea where
> >> or how to fix it so far.  Help welcome.
> >
> > I have figured this out.  There was a Python API change/bugfix between
> > 3.7 and 3.8 that directly affects this patch.  The relevant commit is
> > <https://github.com/python/cpython/commit/364f0b0f19c>.  I have applied
> > the workarounds described there to my patch set, and now it works for
> > 3.6 and 3.7 as well.
>
> This has all been committed now.

I felt we can mark this commitfest entry at [1] to commited now.
[1] - https://commitfest.postgresql.org/patch/5416/

Regards,
Vignesh



Commits

  1. Enable Python Limited API for PL/Python on MSVC

  2. Activate Python "Limited API" in PL/Python

  3. Prepare for Python "Limited API" in PL/Python

  4. Remove obsolete Python version check