]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
(no commit message)
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 22 Oct 2005 06:12:05 +0000 (06:12 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 22 Oct 2005 06:12:05 +0000 (06:12 +0000)
lib/sqlalchemy/databases/postgres.py
test/tables.py

index 4b20fd57f83ba5b4dceee62f562ff78679ace49b..6a7bf6acc265223f0391da4a514a0f09fa99e6ed 100644 (file)
@@ -111,6 +111,13 @@ class PGSQLEngine(ansisql.ANSISQLEngine):
                     last_inserted_ids.append(newid)
             self.context.last_inserted_ids = last_inserted_ids
 
+    def _executemany(self, c, statement, parameters):
+        rowcount = 0
+        for param in parameters:
+            c.execute(statement, param)
+            rowcount += c.rowcount
+        self.context.rowcount = rowcount
+
     def post_exec(self, connection, cursor, statement, parameters, echo = None, compiled = None, **kwargs):
         if compiled is None: return
         if getattr(compiled, "isinsert", False):
@@ -118,6 +125,7 @@ class PGSQLEngine(ansisql.ANSISQLEngine):
             # or post-select the row, I guess not much diff.
             table = compiled.statement.table
             if len(table.primary_keys):
+                # TODO: cache this statement against the table to avoid multiple re-compiles
                 row = sql.select(table.primary_keys, sql.ColumnClause("oid",table) == bindparam('oid', cursor.lastrowid) ).execute().fetchone()
                 self.context.last_inserted_ids = [v for v in row]
 
index 5a081e4781eae34353fae05ca95274182746a3ac..5fb7a0bad4a7134f6b02a6911b817b3375594aea 100644 (file)
@@ -71,61 +71,6 @@ if CREATE:
     itemkeywords.create()
 
 
-if DATA:
-    itemkeywords.delete().execute()
-    keywords.delete().execute()
-    orderitems.delete().execute()
-    orders.delete().execute()
-    addresses.delete().execute()
-    users.delete().execute()
-    users.insert().execute(
-        dict(user_id = 7, user_name = 'jack'),
-        dict(user_id = 8, user_name = 'ed'),
-        dict(user_id = 9, user_name = 'fred')
-    )
-    addresses.insert().execute(
-        dict(address_id = 1, user_id = 7, email_address = "jack@bean.com"),
-        dict(address_id = 2, user_id = 8, email_address = "ed@wood.com"),
-        dict(address_id = 3, user_id = 8, email_address = "ed@lala.com")
-    )
-    orders.insert().execute(
-        dict(order_id = 1, user_id = 7, description = 'order 1', isopen=0),
-        dict(order_id = 2, user_id = 9, description = 'order 2', isopen=0),
-        dict(order_id = 3, user_id = 7, description = 'order 3', isopen=1),
-        dict(order_id = 4, user_id = 9, description = 'order 4', isopen=1),
-        dict(order_id = 5, user_id = 7, description = 'order 5', isopen=0)
-    )
-    orderitems.insert().execute(
-        dict(item_id=1, order_id=2, item_name='item 1'),
-        dict(item_id=3, order_id=3, item_name='item 3'),
-        dict(item_id=2, order_id=2, item_name='item 2'),
-        dict(item_id=5, order_id=3, item_name='item 5'),
-        dict(item_id=4, order_id=3, item_name='item 4')
-    )
-    keywords.insert().execute(
-        dict(keyword_id=1, name='blue'),
-        dict(keyword_id=2, name='red'),
-        dict(keyword_id=3, name='green'),
-        dict(keyword_id=4, name='big'),
-        dict(keyword_id=5, name='small'),
-        dict(keyword_id=6, name='round'),
-        dict(keyword_id=7, name='square')
-    )
-    itemkeywords.insert().execute(
-        dict(keyword_id=2, item_id=1),
-        dict(keyword_id=2, item_id=2),
-        dict(keyword_id=4, item_id=1),
-        dict(keyword_id=6, item_id=1),
-        dict(keyword_id=7, item_id=2),
-        dict(keyword_id=6, item_id=3),
-        dict(keyword_id=3, item_id=3),
-        dict(keyword_id=5, item_id=2),
-        dict(keyword_id=4, item_id=3)
-    )
-
-db.connection().commit()
-
-
 class User(object):
     def __init__(self):
         self.user_id = None