mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +00:00 
			
		
		
		
	 287b84de93
			
		
	
	
		287b84de93
		
	
	
	
	
		
			
			The sqlit3.Connection object doesn't call its close() method when it's used as a context manager.
		
			
				
	
	
		
			17 lines
		
	
	
	
		
			469 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			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()
 |