diff options
Diffstat (limited to 'lib/sqlalchemy/engine.py')
-rw-r--r-- | lib/sqlalchemy/engine.py | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/lib/sqlalchemy/engine.py b/lib/sqlalchemy/engine.py index ff9a588b9..22cc03434 100644 --- a/lib/sqlalchemy/engine.py +++ b/lib/sqlalchemy/engine.py @@ -119,22 +119,30 @@ class SQLEngine(schema.SchemaEngine): self.context.transaction.commit() self.context.transaction = None self.context.tcount = None - - def execute(self, statement, parameters, connection = None, echo = None, **params): + + def pre_exec(self, connection, cursor, statement, parameters, echo = None, **kwargs): + pass + + def post_exec(self, connection, cursor, statement, parameters, echo = None, **kwargs): + pass + + def execute(self, statement, parameters, connection = None, echo = None, **kwargs): if parameters is None: parameters = {} - + if echo is True or self._echo: self.log(statement) self.log(repr(parameters)) - + if connection is None: poolconn = self.connection() c = poolconn.cursor() else: c = connection.cursor() - + + self.pre_exec(connection, c, statement, parameters, echo = echo, **kwargs) c.execute(statement, parameters) + self.post_exec(connection, c, statement, parameters, echo = echo, **kwargs) return c def log(self, msg): |