self._pos = 0
self._iresult = 0
- def __del__(self) -> None:
- self.close()
-
- def close(self) -> None:
- self._closed = True
- self._reset()
-
@property
def closed(self) -> bool:
return self._closed
def __init__(self, connection: "Connection", binary: bool = False):
super().__init__(connection, binary)
+ def close(self) -> None:
+ self._closed = True
+ self._reset()
+
def execute(self, query: Query, vars: Optional[Params] = None) -> "Cursor":
with self.connection.lock:
self._start_query()
def __init__(self, connection: "AsyncConnection", binary: bool = False):
super().__init__(connection, binary)
+ async def close(self) -> None:
+ self._closed = True
+ self._reset()
+
async def execute(
self, query: Query, vars: Optional[Params] = None
) -> "AsyncCursor":
loop.run_until_complete(AsyncConnection.connect("dbname=nosuchdb"))
-def test_close(aconn):
+def test_close(aconn, loop):
assert not aconn.closed
- aconn.close()
+ loop.run_until_complete(aconn.close())
assert aconn.closed
assert aconn.status == aconn.ConnStatus.BAD
- aconn.close()
+ loop.run_until_complete(aconn.close())
assert aconn.closed
assert aconn.status == aconn.ConnStatus.BAD
res = aconn.pgconn.exec_(b"select id from foo where id = 1")
assert res.get_value(0, 0) == b"1"
- aconn.close()
+ loop.run_until_complete(aconn.close())
with pytest.raises(psycopg3.OperationalError):
loop.run_until_complete(aconn.commit())
res = aconn.pgconn.exec_(b"select id from foo where id = 1")
assert res.get_value(0, 0) is None
- aconn.close()
+ loop.run_until_complete(aconn.close())
with pytest.raises(psycopg3.OperationalError):
loop.run_until_complete(aconn.rollback())
def test_close(aconn, loop):
cur = aconn.cursor()
assert not cur.closed
- cur.close()
+ loop.run_until_complete(cur.close())
assert cur.closed
with pytest.raises(psycopg3.OperationalError):
loop.run_until_complete(cur.execute("select 'foo'"))
- cur.close()
+ loop.run_until_complete(cur.close())
assert cur.closed
assert cur.status == cur.ExecStatus.COMMAND_OK
loop.run_until_complete(cur.execute("select 1"))
assert cur.status == cur.ExecStatus.TUPLES_OK
- cur.close()
+ loop.run_until_complete(cur.close())
assert cur.status is None
assert cur.pgresult.get_value(0, 0) == b"bar"
assert cur.nextset() is None
- cur.close()
+ loop.run_until_complete(cur.close())
assert cur.nextset() is None