mirror of
				https://github.com/python/cpython.git
				synced 2025-10-26 11:14:33 +00:00 
			
		
		
		
	 287b84de93
			
		
	
	
		287b84de93
		
	
	
	
	
		
			
			The sqlit3.Connection object doesn't call its close() method when it's used as a context manager.
		
			
				
	
	
		
			22 lines
		
	
	
	
		
			484 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
	
		
			484 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| import sqlite3
 | |
| 
 | |
| class MySum:
 | |
|     def __init__(self):
 | |
|         self.count = 0
 | |
| 
 | |
|     def step(self, value):
 | |
|         self.count += value
 | |
| 
 | |
|     def finalize(self):
 | |
|         return self.count
 | |
| 
 | |
| con = sqlite3.connect(":memory:")
 | |
| con.create_aggregate("mysum", 1, MySum)
 | |
| cur = con.cursor()
 | |
| cur.execute("create table test(i)")
 | |
| cur.execute("insert into test(i) values (1)")
 | |
| cur.execute("insert into test(i) values (2)")
 | |
| cur.execute("select mysum(i) from test")
 | |
| print(cur.fetchone()[0])
 | |
| 
 | |
| con.close()
 |