mirror of
https://github.com/sqlalchemy/sqlalchemy.git
synced 2026-06-01 21:38:55 -04:00
- mysql doesnt have + for concatenation, but pg doesnt have concat() (nor does sqlite)
- parameterized masseagerload test
This commit is contained in:
+10
-5
@@ -378,8 +378,13 @@ class MapperTest(MapperSuperTest):
|
||||
|
||||
l = q.select_by(items=item)
|
||||
self.assert_result(l, User, user_result[0])
|
||||
|
||||
|
||||
|
||||
# TODO: this works differently from:
|
||||
#q = sess.query(User).join(['orders', 'items']).select_by(order_id=3)
|
||||
# because select_by() doesnt respect query._joinpoint, whereas filter_by does
|
||||
q = sess.query(User).join(['orders', 'items']).filter_by(order_id=3).list()
|
||||
self.assert_result(l, User, user_result[0])
|
||||
|
||||
try:
|
||||
# this should raise AttributeError
|
||||
l = q.select_by(items=5)
|
||||
@@ -1661,10 +1666,10 @@ class InstancesTest(MapperSuperTest):
|
||||
mapper(User, users)
|
||||
|
||||
# Fixme ticket #475!
|
||||
if db.engine.name == 'sqlite':
|
||||
col2 = ("Name:" + users.c.user_name).label('concat')
|
||||
else:
|
||||
if db.engine.name == 'mysql':
|
||||
col2 = func.concat("Name:", users.c.user_name).label('concat')
|
||||
else:
|
||||
col2 = ("Name:" + users.c.user_name).label('concat')
|
||||
|
||||
s = select([users, func.count(addresses.c.address_id).label('count'), col2], from_obj=[users.outerjoin(addresses)], group_by=[c for c in users.c], order_by=[users.c.user_id])
|
||||
sess = create_session()
|
||||
|
||||
@@ -9,6 +9,7 @@ import time
|
||||
db = testbase.db
|
||||
|
||||
NUM = 25000
|
||||
DIVISOR = 500
|
||||
|
||||
class LoadTest(AssertMixin):
|
||||
def setUpAll(self):
|
||||
@@ -27,13 +28,14 @@ class LoadTest(AssertMixin):
|
||||
def setUp(self):
|
||||
clear_mappers()
|
||||
l = []
|
||||
for x in range(1,NUM/500):
|
||||
for x in range(1,NUM/DIVISOR):
|
||||
l.append({'item_id':x, 'value':'this is item #%d' % x})
|
||||
#print l
|
||||
items.insert().execute(*l)
|
||||
for x in range(1, NUM/500):
|
||||
for x in range(1, NUM/DIVISOR):
|
||||
l = []
|
||||
for y in range(1, NUM/(NUM/500)):
|
||||
z = ((x-1) * NUM/(NUM/500)) + y
|
||||
for y in range(1, NUM/(NUM/DIVISOR)):
|
||||
z = ((x-1) * NUM/(NUM/DIVISOR)) + y
|
||||
l.append({'sub_id':z,'value':'this is iteim #%d' % z, 'parent_id':x})
|
||||
#print l
|
||||
subitems.insert().execute(*l)
|
||||
|
||||
Reference in New Issue
Block a user