]> git.ipfire.org Git - thirdparty/psycopg.git/commitdiff
Break endless loop of response on COPY
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>
Sat, 21 Mar 2020 21:26:09 +0000 (10:26 +1300)
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>
Sat, 21 Mar 2020 21:26:09 +0000 (10:26 +1300)
psycopg3/connection.py

index fd14c30525045106c765ffdbe0ce3f7e213f217b..bb3f86f5730ce6be150b764c039f26d4e1daabae 100644 (file)
@@ -100,6 +100,14 @@ class BaseConnection:
             if res is None:
                 break
             results.append(res)
+            if res.status in (
+                pq.ExecStatus.COPY_IN,
+                pq.ExecStatus.COPY_OUT,
+                pq.ExecStatus.COPY_BOTH,
+            ):
+                # After entering copy mode the libpq will create a phony result
+                # for every request so let's break the endless loop.
+                break
 
         return results