summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/compiler.py
diff options
context:
space:
mode:
authorJason Kirtland <jek@discorporate.us>2007-10-08 18:19:02 +0000
committerJason Kirtland <jek@discorporate.us>2007-10-08 18:19:02 +0000
commit57a7a52b566507f9126998a0c62b30a55affae2f (patch)
treee2cfe1f16850acc2066ef14d1c6c67d53b26878f /lib/sqlalchemy/sql/compiler.py
parentc931b9d9d1e6dd7ed1fd2dbb5437ab31dd872721 (diff)
downloadsqlalchemy-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.py11
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])})