]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
(no commit message)
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 22 Oct 2005 04:23:05 +0000 (04:23 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 22 Oct 2005 04:23:05 +0000 (04:23 +0000)
lib/sqlalchemy/engine.py
test/testbase.py

index a36db3885b5ba3f678b4686de88413037273d0aa..085c201883b2dc70126df97eeaa4ab0f675a925b 100644 (file)
@@ -199,20 +199,28 @@ class SQLEngine(schema.SchemaEngine):
 
         self.pre_exec(connection, c, statement, parameters, echo = echo, **kwargs)
         if isinstance(parameters, list):
-            c.executemany(statement, parameters)
+            self._executemany(c, statement, parameters)
         else:
-            c.execute(statement, parameters)
+            self._execute(c, statement, parameters)
         self.post_exec(connection, c, statement, parameters, echo = echo, **kwargs)
-        return ResultProxy(c, self.echo, typemap = typemap)
-
+        return ResultProxy(c, self, typemap = typemap)
+
+    def _execute(self, c, statement, parameters):
+        c.execute(statement, parameters)
+        self.context.rowcount = c.rowcount
+    def _executemany(self, c, statement, parameters):
+        c.executemany(statement, parameters)
+        self.context.rowcount = c.rowcount
+    
     def log(self, msg):
         self.logger.write(msg + "\n")
 
 
 class ResultProxy:
-    def __init__(self, cursor, echo = False, typemap = None):
+    def __init__(self, cursor, engine, typemap = None):
         self.cursor = cursor
-        self.echo = echo
+        self.echo = engine.echo
+        self.rowcount = engine.context.rowcount
         metadata = cursor.description
         self.props = {}
         i = 0
index 7221af1a4c72bc9208a9cbef12b21bc23bc3ceeb..a578521f05ab50bbaaa661ae32236acbffdd95d7 100644 (file)
@@ -59,7 +59,7 @@ class EngineAssert(object):
         self.engine.echo = self.echo
         self.engine.logger = self.logger
         
-        if self.assert_list is not None and not (isinstance(self.engine, postgres.PGSQLEngine) and re.match(r'oid', statement, re.S)):
+        if self.assert_list is not None and not (isinstance(self.engine, postgres.PGSQLEngine) and re.search(r'%\(oid\)s', statement, re.S)):
             item = self.assert_list.pop()
             (query, params) = item
             if callable(params):