**Postgresql**
pg8000_ ``postgresql+pg8000`` yes yes no yes yes
`PostgreSQL JDBC Driver`_ ``postgresql+zxjdbc`` no no yes yes yes
-psycopg2_ ``postgresql+psycopg2``\* yes development no yes yes
+psycopg2_ ``postgresql+psycopg2``\* yes yes no yes yes
pypostgresql_ ``postgresql+pypostgresql`` no yes no yes yes
**SQLite**
pysqlite_ ``sqlite+pysqlite``\* yes yes no yes yes
from sqlalchemy import *
from test.lib import *
from sqlalchemy.pool import QueuePool
-
+from sqlalchemy import pool as pool_module
class QueuePoolTest(fixtures.TestBase, AssertsExecutionResults):
class Connection(object):
def close(self):
pass
+ def teardown(self):
+ # the tests leave some fake connections
+ # around which dont necessarily
+ # get gc'ed as quickly as we'd like,
+ # on backends like pypy, python3.2
+ pool_module._refs.clear()
+
def setup(self):
global pool
pool = QueuePool(creator=self.Connection,
@profiling.function_call_count(72, {'2.4': 63, '2.7':67,
'2.7+cextension':67,
- '3.0':73, '3.1':73},
+ '3.0':73, '3.1':73,
+ '3.2':55},
variance=.10)
def test_first_connect(self):
conn = pool.connect()
conn.close()
@profiling.function_call_count(32, {'2.4': 21, '2.7':29,
+ '3.2':25,
'2.7+cextension':29},
variance=.10)
def go():
def test_second_samethread_connect(self):
conn = pool.connect()
- @profiling.function_call_count(6, {'2.4': 4, '3.0':7, '3.1':7})
+ @profiling.function_call_count(6, {'2.4': 4, '3':7})
def go():
return pool.connect()
c2 = go()
def test_profile_1_create_tables(self):
self.test_baseline_1_create_tables()
- @profiling.function_call_count(5045, {'2.6':5099, '2.4': 3650})
+ @profiling.function_call_count(5045, {'2.6':5099, '2.4': 3650, '3.2':4699})
def test_profile_1a_populate(self):
self.test_baseline_1a_populate()
def test_profile_5_aggregates(self):
self.test_baseline_5_aggregates()
- @profiling.function_call_count(1788, {'2.4': 1118})
+ @profiling.function_call_count(1788, {'2.4': 1118, '3.2':1647})
def test_profile_6_editing(self):
self.test_baseline_6_editing()
def test_profile_1a_populate(self):
self.test_baseline_1a_populate()
- @profiling.function_call_count(416)
+ @profiling.function_call_count(416, {'3.2':390})
def test_profile_2_insert(self):
self.test_baseline_2_insert()
'2.7': 5922,
'2.7+cextension': 5714,
'2.6+cextension': 5714,
+ '3.2':5787,
})
def test_profile_3_properties(self):
self.test_baseline_3_properties()