Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit37f21ed

Browse files
committed
Remove support for Python older than 2.6
Supporting very old Python versions is a maintenance burden,especially with the several variant test files to maintain for Python<2.6.Since we have dropped support for older OpenSSL versions in7b283d0, RHEL 5 is now effectivelydesupported, and that was also the only mainstream operating systemstill using Python versions before 2.6, so it's a good time to dropthose as well.Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>Discussion:https://www.postgresql.org/message-id/flat/98b69261-298c-13d2-f34d-836fd9c29b21%402ndquadrant.com
1 parentf5d2871 commit37f21ed

12 files changed

+7
-1503
lines changed

‎config/python.m4

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ python_majorversion=`echo "$python_fullversion" | sed '[s/^\([0-9]*\).*/\1/]'`
3737
python_minorversion=`echo "$python_fullversion" | sed '[s/^[0-9]*\.\([0-9]*\).*/\1/]'`
3838
python_version=`echo "$python_fullversion" | sed '[s/^\([0-9]*\.[0-9]*\).*/\1/]'`
3939
# Reject unsupported Python versions as soon as practical.
40-
if test "$python_majorversion" -lt 3 -a "$python_minorversion" -lt4; then
41-
AC_MSG_ERROR([Python version $python_version is too old (version 2.4 or later is required)])
40+
if test "$python_majorversion" -lt 3 -a "$python_minorversion" -lt6; then
41+
AC_MSG_ERROR([Python version $python_version is too old (version 2.6 or later is required)])
4242
fi
4343
4444
AC_MSG_CHECKING([for Python distutils module])

‎configure

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9616,8 +9616,8 @@ python_majorversion=`echo "$python_fullversion" | sed 's/^\([0-9]*\).*/\1/'`
96169616
python_minorversion=`echo "$python_fullversion" | sed 's/^[0-9]*\.\([0-9]*\).*/\1/'`
96179617
python_version=`echo "$python_fullversion" | sed 's/^\([0-9]*\.[0-9]*\).*/\1/'`
96189618
# Reject unsupported Python versions as soon as practical.
9619-
if test "$python_majorversion" -lt 3 -a "$python_minorversion" -lt4; then
9620-
as_fn_error $? "Python version $python_version is too old (version 2.4 or later is required)" "$LINENO" 5
9619+
if test "$python_majorversion" -lt 3 -a "$python_minorversion" -lt6; then
9620+
as_fn_error $? "Python version $python_version is too old (version 2.6 or later is required)" "$LINENO" 5
96219621
fi
96229622

96239623
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Python distutils module" >&5

‎doc/src/sgml/installation.sgml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ su - postgres
196196
language, you need a <productname>Python</productname>
197197
installation with the header files and
198198
the <application>distutils</application> module. The minimum
199-
required version is <productname>Python</productname> 2.4.
199+
required version is <productname>Python</productname> 2.6.
200200
<productname>Python 3</productname> is supported if it's
201201
version 3.1 or later; but see
202202
<xref linkend="plpython-python23"/>

‎doc/src/sgml/plpython.sgml

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1335,9 +1335,8 @@ $$ LANGUAGE plpythonu;
13351335

13361336
<para>
13371337
Context managers syntax using the <literal>with</literal> keyword
1338-
is available by default in Python 2.6. If using PL/Python with an
1339-
older Python version, it is still possible to use explicit
1340-
subtransactions, although not as transparently. You can call the
1338+
is available by default in Python 2.6. For compatibility with
1339+
older Python versions, you can call the
13411340
subtransaction manager's <literal>__enter__</literal> and
13421341
<literal>__exit__</literal> functions using the
13431342
<literal>enter</literal> and <literal>exit</literal> convenience
@@ -1367,17 +1366,6 @@ plpy.execute(plan, [result])
13671366
$$ LANGUAGE plpythonu;
13681367
</programlisting>
13691368
</para>
1370-
1371-
<note>
1372-
<para>
1373-
Although context managers were implemented in Python 2.5, to use
1374-
the <literal>with</literal> syntax in that version you need to
1375-
use a <ulink
1376-
url="https://docs.python.org/release/2.5/ref/future.html">future
1377-
statement</ulink>. Because of implementation details, however,
1378-
you cannot use future statements in PL/Python functions.
1379-
</para>
1380-
</note>
13811369
</sect2>
13821370
</sect1>
13831371

‎src/pl/plpython/expected/README

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
11
Guide to alternative expected files:
22

3-
plpython_error_0.outPython 2.4 and older
43
plpython_error_5.outPython 3.5 and newer
54

65
plpython_unicode.outserver encoding != SQL_ASCII
76
plpython_unicode_3.outserver encoding == SQL_ASCII
87

9-
plpython_subtransaction_0.outPython 2.4 and older (without with statement)
10-
plpython_subtransaction_5.outPython 2.5 (without with statement)
11-
128
plpython_types_3.outPython 3.x

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp