From: Michael Paquier Date: Mon, 25 Nov 2024 00:43:16 +0000 (+0900) Subject: Simplify some SPI tests of PL/Python X-Git-Tag: REL_18_BETA1~1433 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=db80507d98462d95f2f7f8c1a58e55bb6337c3eb;p=postgresql.git Simplify some SPI tests of PL/Python These tests relied on both next() and __next__(), but only the former is needed since Python 2 support has been removed, so let's simplify a bit the tests. Author: Erik Wienhold Discussion: https://postgr.es/m/173209043143.2092749.13692266486972491694@wrigleys.postgresql.org --- diff --git a/src/pl/plpython/expected/plpython_spi.out b/src/pl/plpython/expected/plpython_spi.out index 8853e2540d3..b572f9bf73b 100644 --- a/src/pl/plpython/expected/plpython_spi.out +++ b/src/pl/plpython/expected/plpython_spi.out @@ -319,12 +319,9 @@ assert len(res.fetch(3)) == 1 assert len(res.fetch(3)) == 0 assert len(res.fetch(3)) == 0 try: - # use next() or __next__(), the method name changed in + # use next() and not __next__(), the method name changed in # http://www.python.org/dev/peps/pep-3114/ - try: - res.next() - except AttributeError: - res.__next__() + next(res) except StopIteration: pass else: @@ -334,11 +331,7 @@ CREATE FUNCTION cursor_mix_next_and_fetch() RETURNS int AS $$ res = plpy.cursor("select fname, lname from users order by fname") assert len(res.fetch(2)) == 2 -item = None -try: - item = res.next() -except AttributeError: - item = res.__next__() +item = next(res) assert item['fname'] == 'rick' assert len(res.fetch(2)) == 1 @@ -357,10 +350,7 @@ CREATE FUNCTION next_after_close() RETURNS int AS $$ res = plpy.cursor("select fname, lname from users") res.close() try: - try: - res.next() - except AttributeError: - res.__next__() + next(res) except ValueError: pass else: @@ -370,10 +360,7 @@ CREATE FUNCTION cursor_fetch_next_empty() RETURNS int AS $$ res = plpy.cursor("select fname, lname from users where false") assert len(res.fetch(1)) == 0 try: - try: - res.next() - except AttributeError: - res.__next__() + next(res) except StopIteration: pass else: diff --git a/src/pl/plpython/sql/plpython_spi.sql b/src/pl/plpython/sql/plpython_spi.sql index fcd113acaa3..00dcc8bb669 100644 --- a/src/pl/plpython/sql/plpython_spi.sql +++ b/src/pl/plpython/sql/plpython_spi.sql @@ -218,12 +218,9 @@ assert len(res.fetch(3)) == 1 assert len(res.fetch(3)) == 0 assert len(res.fetch(3)) == 0 try: - # use next() or __next__(), the method name changed in + # use next() and not __next__(), the method name changed in # http://www.python.org/dev/peps/pep-3114/ - try: - res.next() - except AttributeError: - res.__next__() + next(res) except StopIteration: pass else: @@ -234,11 +231,7 @@ CREATE FUNCTION cursor_mix_next_and_fetch() RETURNS int AS $$ res = plpy.cursor("select fname, lname from users order by fname") assert len(res.fetch(2)) == 2 -item = None -try: - item = res.next() -except AttributeError: - item = res.__next__() +item = next(res) assert item['fname'] == 'rick' assert len(res.fetch(2)) == 1 @@ -259,10 +252,7 @@ CREATE FUNCTION next_after_close() RETURNS int AS $$ res = plpy.cursor("select fname, lname from users") res.close() try: - try: - res.next() - except AttributeError: - res.__next__() + next(res) except ValueError: pass else: @@ -273,10 +263,7 @@ CREATE FUNCTION cursor_fetch_next_empty() RETURNS int AS $$ res = plpy.cursor("select fname, lname from users where false") assert len(res.fetch(1)) == 0 try: - try: - res.next() - except AttributeError: - res.__next__() + next(res) except StopIteration: pass else: