]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
small tweak to select in order to fix [ticket:112]...the exported columns when doing...
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 13 Mar 2006 01:13:47 +0000 (01:13 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 13 Mar 2006 01:13:47 +0000 (01:13 +0000)
lib/sqlalchemy/sql.py
test/query.py
test/select.py

index 4eaf33e00a05ad995bffbf44ce38e29dcfb519a4..a6fe3e8800aa6a6572489fe33b87eb4ab2cb5097 100644 (file)
@@ -1272,7 +1272,7 @@ class Select(SelectBaseMixin, FromClause):
         if self.use_labels:
             return column._make_proxy(self, name=column._label)
         else:
-            return column._make_proxy(self, name=column.key)
+            return column._make_proxy(self, name=column.name)
             
     def append_whereclause(self, whereclause):
         self._append_condition('whereclause', whereclause)
index a6e1bb4191d52311b9ab329548eb965670913254..bbed574412917baf1b018e179b836b37ed88c834 100644 (file)
@@ -124,7 +124,8 @@ class QueryTest(PersistTest):
         self.assert_(r==[(3, 'ed'), (4, 'wendy'), (5, 'laura')])
         r = self.users.select(offset=5, order_by=[self.users.c.user_id]).execute().fetchall()
         self.assert_(r==[(6, 'ralph'), (7, 'fido')])
-        
+      
+  
     def test_column_accessor(self):
         self.users.insert().execute(user_id=1, user_name='john')
         self.users.insert().execute(user_id=2, user_name='jack')
index 768827347e72d3d44f7ef132a3a513955c92261b..e9f02545c7c8f77663e26857ee61472c16032ab1 100644 (file)
@@ -174,6 +174,12 @@ sq.myothertable_othername AS sq_myothertable_othername FROM (" + sqstring + ") A
             select([table2.c.othername, func.count(table2.c.otherid)], group_by = [table2.c.othername]),
             "SELECT myothertable.othername, count(myothertable.otherid) FROM myothertable GROUP BY myothertable.othername"
         )
+
+    def testoraclelimit(self):
+        e = create_engine('oracle')
+        users = Table('users', e, Column('name', String(10), key='username'))
+        self.runtest(select([users.c.username], limit=5), "SELECT name FROM (SELECT users.name AS name, ROW_NUMBER() OVER (ORDER BY users.rowid ASC) AS ora_rn FROM users) WHERE ora_rn<=5", engine=e)
+
     def testgroupby_and_orderby(self):
         self.runtest(
             select([table2.c.othername, func.count(table2.c.otherid)], group_by = [table2.c.othername], order_by = [table2.c.othername]),