cpython/Doc/includes/sqlite3/countcursors.py
Miss Islington (bot) 205c1f0e36 bpo-34580: Update sqlite3 examples to call close() explicitly (GH-9079)
The sqlite3.Connection object doesn't call its close() method when it's used
as a context manager.

(cherry picked from commit 287b84de93)

Co-authored-by: Xtreak <tir.karthi@gmail.com>
2019-05-20 01:36:32 +03:00

17 lines
469 B
Python

import sqlite3
class CountCursorsConnection(sqlite3.Connection):
def __init__(self, *args, **kwargs):
sqlite3.Connection.__init__(self, *args, **kwargs)
self.numcursors = 0
def cursor(self, *args, **kwargs):
self.numcursors += 1
return sqlite3.Connection.cursor(self, *args, **kwargs)
con = sqlite3.connect(":memory:", factory=CountCursorsConnection)
cur1 = con.cursor()
cur2 = con.cursor()
print(con.numcursors)
con.close()