diff options
author | Jason Kirtland <jek@discorporate.us> | 2007-10-08 18:19:02 +0000 |
---|---|---|
committer | Jason Kirtland <jek@discorporate.us> | 2007-10-08 18:19:02 +0000 |
commit | 57a7a52b566507f9126998a0c62b30a55affae2f (patch) | |
tree | e2cfe1f16850acc2066ef14d1c6c67d53b26878f /lib/sqlalchemy/sql/compiler.py | |
parent | c931b9d9d1e6dd7ed1fd2dbb5437ab31dd872721 (diff) | |
download | sqlalchemy-57a7a52b566507f9126998a0c62b30a55affae2f.tar.gz |
- Cleaned up visit_insert a bit, inserts are ~3% faster now.
Diffstat (limited to 'lib/sqlalchemy/sql/compiler.py')
-rw-r--r-- | lib/sqlalchemy/sql/compiler.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py index 50664db16..572955806 100644 --- a/lib/sqlalchemy/sql/compiler.py +++ b/lib/sqlalchemy/sql/compiler.py @@ -606,13 +606,16 @@ class DefaultCompiler(engine.Compiled, visitors.ClauseVisitor): return None def visit_insert(self, insert_stmt): - self.isinsert = True colparams = self._get_colparams(insert_stmt) + preparer = self.preparer - return ("INSERT INTO " + self.preparer.format_table(insert_stmt.table) + " (" + string.join([self.preparer.format_column(c[0]) for c in colparams], ', ') + ")" + - " VALUES (" + string.join([c[1] for c in colparams], ', ') + ")") - + return ("INSERT INTO %s (%s) VALUES (%s)" % + (preparer.format_table(insert_stmt.table), + ', '.join([preparer.format_column(c[0]) + for c in colparams]), + ', '.join([c[1] for c in colparams]))) + def visit_update(self, update_stmt): self.stack.append({'from':util.Set([update_stmt.table])}) |