]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
still having mappers not getting compiled...sigh...
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 12 Jul 2006 20:19:32 +0000 (20:19 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 12 Jul 2006 20:19:32 +0000 (20:19 +0000)
CHANGES
lib/sqlalchemy/orm/query.py
test/orm/polymorph.py

diff --git a/CHANGES b/CHANGES
index ffc2e51864c2d7efd8bab7e44c1b0790f5330db0..9db4d3efe3f82f4bce2f78055711749e7a2f68ce 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,7 @@ of subclassed directly.
 activated when activemapper is imported
 - small fix to URL regexp to allow filenames with '@' in them
 - fixes to Session expunge/update/etc.
+- select_table mappers *still* werent always compiling
 
 0.2.5
 - fixed endless loop bug in select_by(), if the traversal hit
index 985659eec5274739bf80676c05bb120eccb41054..2b257e7169a63d7776bbb175d8d8e84ff7110f98 100644 (file)
@@ -17,7 +17,7 @@ class Query(object):
             self.mapper = mapper.class_mapper(class_or_mapper, entity_name=entity_name)
         else:
             self.mapper = class_or_mapper.compile()
-        self.mapper = self.mapper.get_select_mapper()
+        self.mapper = self.mapper.get_select_mapper().compile()
 
         self.always_refresh = kwargs.pop('always_refresh', self.mapper.always_refresh)
         self.order_by = kwargs.pop('order_by', self.mapper.order_by)
index ec7e95a0ad9174e55f8e0b9681e9cc9f9706dc48..232bc57115286929c943784f3e108d7ea80f6db9 100644 (file)
@@ -85,7 +85,25 @@ class MultipleTableTest(testbase.PersistTest):
     def test_t_t_t(self):
         self.do_test(True, True, True)
         
-    
+    def testcompile(self):
+        person_join = polymorphic_union( {
+            'engineer':people.join(engineers),
+            'manager':people.join(managers),
+            'person':people.select(people.c.type=='person'),
+            }, None, 'pjoin')
+
+        person_mapper = mapper(Person, people, select_table=person_join, polymorphic_on=person_join.c.type, polymorphic_identity='person')
+        mapper(Engineer, engineers, inherits=person_mapper, polymorphic_identity='engineer')
+        mapper(Manager, managers, inherits=person_mapper, polymorphic_identity='manager')
+
+        session = create_session()
+        session.save(Manager(name='Tom', status='knows how to manage things'))
+        session.save(Engineer(name='Kurt', status='knows how to hack'))
+        session.flush()
+        print session.query(Engineer).select()
+
+        print session.query(Person).select()        
+
     def do_test(self, include_base=False, lazy_relation=True, redefine_colprop=False):
         """tests the polymorph.py example, with several options: