Simplify some SPI tests of PL/Python
authorMichael Paquier <[email protected]>
Mon, 25 Nov 2024 00:43:16 +0000 (09:43 +0900)
committerMichael Paquier <[email protected]>
Mon, 25 Nov 2024 00:43:16 +0000 (09:43 +0900)
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

src/pl/plpython/expected/plpython_spi.out
src/pl/plpython/sql/plpython_spi.sql

index 8853e2540d3c2b92774e8d31d99d3e5354068817..b572f9bf73bcb7ba709bdcb61d5f0593caf7d13c 100644 (file)
@@ -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:
index fcd113acaa35cb5135ecf658b07224f3636f1c3b..00dcc8bb66937ce2e03dc5db71310ab7662d8b69 100644 (file)
@@ -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: