summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2007-02-13 22:53:05 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2007-02-13 22:53:05 +0000
commite7aaeb28527d27814cb192e1ddc4af228a43d816 (patch)
treeed36612431a3f845cb580f5b2d25e4398f44213e /lib
parent238e8620ee2556d86ecd2ca6a430de990951d514 (diff)
downloadsqlalchemy-e7aaeb28527d27814cb192e1ddc4af228a43d816.tar.gz
- fixed argument passing to straight textual execute() on engine, connection.
can handle *args or a list instance for positional, **kwargs or a dict instance for named args, or a list of list or dicts to invoke executemany()
Diffstat (limited to 'lib')
-rw-r--r--lib/sqlalchemy/engine/base.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py
index 3ec3e028f..1985bcec1 100644
--- a/lib/sqlalchemy/engine/base.py
+++ b/lib/sqlalchemy/engine/base.py
@@ -260,13 +260,19 @@ class Connection(Connectable):
self.__connection.close()
self.__connection = None
del self.__connection
- def scalar(self, object, parameters=None, **kwargs):
- return self.execute(object, parameters, **kwargs).scalar()
+ def scalar(self, object, *multiparams, **params):
+ return self.execute(object, *multiparams, **params).scalar()
def execute(self, object, *multiparams, **params):
return Connection.executors[type(object).__mro__[-2]](self, object, *multiparams, **params)
def execute_default(self, default, **kwargs):
return default.accept_schema_visitor(self.__engine.dialect.defaultrunner(self.__engine, self.proxy, **kwargs))
- def execute_text(self, statement, parameters=None):
+ def execute_text(self, statement, *multiparams, **params):
+ if len(multiparams) == 0:
+ parameters = params
+ elif len(multiparams) == 1 and (isinstance(multiparams[0], list) or isinstance(multiparams[0], dict)):
+ parameters = multiparams[0]
+ else:
+ parameters = list(multiparams)
cursor = self._execute_raw(statement, parameters)
rpargs = self.__engine.dialect.create_result_proxy_args(self, cursor)
return ResultProxy(self.__engine, self, cursor, **rpargs)