mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	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()
 |