]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- <Engine|Connection>._execute_clauseelement becomes a public method
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 7 Nov 2007 21:56:23 +0000 (21:56 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Wed, 7 Nov 2007 21:56:23 +0000 (21:56 +0000)
    Connectable.execute_clauseelement

CHANGES
lib/sqlalchemy/engine/base.py
lib/sqlalchemy/sql/expression.py

diff --git a/CHANGES b/CHANGES
index 23a8f8981a3e2b6eb8e5a26a69c293df32777703..3ae068bc4950e26f47648a7bd7afced14ca9f950 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -44,6 +44,9 @@ CHANGES
 
   - fix to compiled bind parameters to not mistakenly populate None
     [ticket:853]
+   
+  - <Engine|Connection>._execute_clauseelement becomes a public method
+    Connectable.execute_clauseelement
   
 - orm
   - eager loading with LIMIT/OFFSET applied no longer adds the primary 
index f554d6a163adde98179cd26d773aa38a897bf342..013c5704b9e9502d1004124bec4fc3bcd9afa3f3 100644 (file)
@@ -509,6 +509,9 @@ class Connectable(object):
     def execute(self, object, *multiparams, **params):
         raise NotImplementedError()
 
+    def execute_clauseelement(self, elem, multiparams=None, params=None):
+        raise NotImplementedError()
+
 class Connection(Connectable):
     """Provides high-level functionality for a wrapped DB-API connection.
 
@@ -821,9 +824,9 @@ class Connection(Connectable):
                 return [multiparams]
 
     def _execute_function(self, func, multiparams, params):
-        return self._execute_clauseelement(func.select(), multiparams, params)
+        return self.execute_clauseelement(func.select(), multiparams, params)
 
-    def _execute_clauseelement(self, elem, multiparams=None, params=None):
+    def execute_clauseelement(self, elem, multiparams=None, params=None):
         params = self.__distill_params(multiparams, params)
         if params:
             keys = params[0].keys()
@@ -890,7 +893,7 @@ class Connection(Connectable):
     # poor man's multimethod/generic function thingy
     executors = {
         expression._Function : _execute_function,
-        expression.ClauseElement : _execute_clauseelement,
+        expression.ClauseElement : execute_clauseelement,
         Compiled : _execute_compiled,
         schema.SchemaItem:_execute_default,
         str.__mro__[-2] : _execute_text
@@ -1120,9 +1123,9 @@ class Engine(Connectable):
     def scalar(self, statement, *multiparams, **params):
         return self.execute(statement, *multiparams, **params).scalar()
 
-    def _execute_clauseelement(self, elem, multiparams=None, params=None):
+    def execute_clauseelement(self, elem, multiparams=None, params=None):
         connection = self.contextual_connect(close_with_result=True)
-        return connection._execute_clauseelement(elem, multiparams, params)
+        return connection.execute_clauseelement(elem, multiparams, params)
 
     def _execute_compiled(self, compiled, multiparams, params):
         connection = self.contextual_connect(close_with_result=True)
index fea8e8155f5858af573d31600811152d0c46578d..75c809004f87c4e1c73e6184eb7a0075fd5b2398 100644 (file)
@@ -970,7 +970,7 @@ class ClauseElement(object):
         e = self.bind
         if e is None:
             raise exceptions.InvalidRequestError("This Compiled object is not bound to any Engine or Connection.")
-        return e._execute_clauseelement(self, multiparams, params)
+        return e.execute_clauseelement(self, multiparams, params)
 
     def scalar(self, *multiparams, **params):
         """Compile and execute this ``ClauseElement``, returning the result's scalar representation."""