From: Mike Bayer Date: Sat, 22 Oct 2005 04:23:05 +0000 (+0000) Subject: (no commit message) X-Git-Tag: rel_0_1_0~482 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=03e3c0c45666c8eb4230202e80abc534edcb7632;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git --- diff --git a/lib/sqlalchemy/engine.py b/lib/sqlalchemy/engine.py index a36db3885b..085c201883 100644 --- a/lib/sqlalchemy/engine.py +++ b/lib/sqlalchemy/engine.py @@ -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 diff --git a/test/testbase.py b/test/testbase.py index 7221af1a4c..a578521f05 100644 --- a/test/testbase.py +++ b/test/testbase.py @@ -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):