# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
from sqlalchemy.util import *
+import copy
engine = None
self._impl = self.engine.tableimpl(self)
self._init_items(*args)
+ if params.get('autoload', False):
+ self.engine.reflecttable(self)
+
+ def append_item(self, item):
+ self._init_items(item)
+
def _set_parent(self, schema):
schema.tables[self.name] = self
self.schema = schema
def _make_proxy(self, selectable, name = None):
# wow! using copy.copy(c) adds a full second to the select.py unittest package
+ #c = copy.copy(self)
+ #if name is not None:
+ # c.name = name
+ # c.key = name
c = Column(name or self.name, self.type, key = name or self.key, primary_key = self.primary_key)
c.table = selectable
c.engine = self.engine
def testeager(self):
m = mapper(User, users, properties = dict(
- addresses = eagermapper(Address, addresses, users.c.user_id==addresses.c.user_id)
+ addresses = lazymapper(Address, addresses, users.c.user_id==addresses.c.user_id)
))
+ #l = m.options(eagerload('addresses')).select()
l = m.select()
print repr(l)
l = m.select(and_(addresses.c.email_address == 'ed@lala.com', addresses.c.user_id==users.c.user_id))
print repr(l)
+ def testcompile(self):
+ m = mapper(User, users, properties = dict(
+ addresses = eagermapper(Address, addresses, users.c.user_id==addresses.c.user_id)
+ ))
+ s = m.compile(and_(addresses.c.email_address == bindparam('emailad'), addresses.c.user_id==users.c.user_id))
+ c = s.compile()
+ print "\n" + str(c) + repr(c.get_params())
+
+ l = m.instances(s.execute(emailad = 'jack@bean.com'))
+ print repr(l)
+
def testmultieager(self):
m = mapper(User, users, properties = dict(
addresses = eagermapper(Address, addresses, users.c.user_id==addresses.c.user_id),