]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
renamed new scalar() method to as_scalar(), not deprecating normal ClauseElement...
authorMike Bayer <mike_mp@zzzcomputing.com>
Tue, 24 Jul 2007 20:18:32 +0000 (20:18 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 24 Jul 2007 20:18:32 +0000 (20:18 +0000)
CHANGES
lib/sqlalchemy/sql.py
test/sql/select.py

diff --git a/CHANGES b/CHANGES
index 60cf22b226060694773202d643956962d7796bb2..7aa608873787dee403a7f22e6dde91b1f28f0b83 100644 (file)
--- a/CHANGES
+++ b/CHANGES
     regarding "is subquery" and "correlation" pushed to SQL generation phase.
     select() elements are now *never* mutated by their enclosing containers
     or by any dialect's compilation process [ticket:52] [ticket:569]
+  - select(scalar=True) argument is deprecated; use select(..).as_scalar().
+    the resulting object obeys the full "column" interface and plays better
+    within expressions
   - result sets make a better attempt at matching the DBAPI types present
     in cursor.description to the TypeEngine objects defined by the dialect,
     which are then used for result-processing. Note this only takes effect 
index 351ac0d1edce41738bbac511b0114c1e4da4833a..cf6c2b1a261a16f7b0c40c594855875cb49ecc9b 100644 (file)
@@ -202,7 +202,7 @@ def select(columns=None, whereclause=None, from_obj=[], **kwargs):
           will attempt to provide similar functionality.
         
         scalar=False
-          deprecated.  use select(...).scalar() to create a "scalar column"
+          deprecated.  use select(...).as_scalar() to create a "scalar column"
           proxy for an existing Select object.
 
         correlate=True
@@ -217,7 +217,7 @@ def select(columns=None, whereclause=None, from_obj=[], **kwargs):
     scalar = kwargs.pop('scalar', False)
     s = Select(columns, whereclause=whereclause, from_obj=from_obj, **kwargs)
     if scalar:
-        return s.scalar()
+        return s.as_scalar()
     else:
         return s
 
@@ -2788,11 +2788,11 @@ class _SelectBaseMixin(object):
         self.append_order_by(*util.to_list(order_by, []))
         self.append_group_by(*util.to_list(group_by, []))
     
-    def scalar(self):
+    def as_scalar(self):
         return _ScalarSelect(self)
     
     def label(self, name):
-        return self.scalar().label(name)
+        return self.as_scalar().label(name)
         
     def supports_execution(self):
         return True
index ad5df2e06c26d757e4337cd79e08a2191a0e97a5..497c69baa1f4169b0e604ec0e7fe6ec308ff3f6b 100644 (file)
@@ -200,15 +200,15 @@ sq.myothertable_othername AS sq_myothertable_othername FROM (" + sqstring + ") A
         s = select([table1.c.myid], scalar=True)
         self.runtest(select([table2, s]), "SELECT myothertable.otherid, myothertable.othername, (SELECT mytable.myid FROM mytable) FROM myothertable")
 
-        s = select([table1.c.myid]).correlate(None).scalar()
+        s = select([table1.c.myid]).correlate(None).as_scalar()
         self.runtest(select([table1, s]), "SELECT mytable.myid, mytable.name, mytable.description, (SELECT mytable.myid FROM mytable) FROM mytable")
 
-        s = select([table1.c.myid]).scalar()
+        s = select([table1.c.myid]).as_scalar()
         self.runtest(select([table2, s]), "SELECT myothertable.otherid, myothertable.othername, (SELECT mytable.myid FROM mytable) FROM myothertable")
 
         # test expressions against scalar selects
         self.runtest(select([s - literal(8)]), "SELECT (SELECT mytable.myid FROM mytable) - :literal")
-        self.runtest(select([select([table1.c.name]).scalar() + literal('x')]), "SELECT (SELECT mytable.name FROM mytable) || :literal")
+        self.runtest(select([select([table1.c.name]).as_scalar() + literal('x')]), "SELECT (SELECT mytable.name FROM mytable) || :literal")
         self.runtest(select([s > literal(8)]), "SELECT (SELECT mytable.myid FROM mytable) > :literal")
 
         self.runtest(select([select([table1.c.name]).label('foo')]), "SELECT (SELECT mytable.name FROM mytable) AS foo")
@@ -224,8 +224,8 @@ sq.myothertable_othername AS sq_myothertable_othername FROM (" + sqstring + ") A
             column('nm')
         )
         zip = '12345'
-        qlat = select([zips.c.latitude], zips.c.zipcode == zip).correlate(None).scalar()
-        qlng = select([zips.c.longitude], zips.c.zipcode == zip).correlate(None).scalar()
+        qlat = select([zips.c.latitude], zips.c.zipcode == zip).correlate(None).as_scalar()
+        qlng = select([zips.c.longitude], zips.c.zipcode == zip).correlate(None).as_scalar()
  
         q = select([places.c.id, places.c.nm, zips.c.zipcode, func.latlondist(qlat, qlng).label('dist')],
                          zips.c.zipcode==zip,