Fix insert for tables that do not have any primary key.

The insert method returns the value of the primary key for the inserted
row. But for tables that do not have any primary key, it raises an
IndexError, which is clearly wrong. At best it should return None in
such cases and avoid raising any exception.
This commit is contained in:
Abhinav Upadhyay 2014-01-04 11:53:15 +05:30
parent 2d526a2b73
commit 508e025689

View File

@ -68,7 +68,8 @@ class Table(object):
if ensure:
self._ensure_columns(row, types=types)
res = self.database.executable.execute(self.table.insert(row))
return res.inserted_primary_key[0]
if len(res.inserted_primary_key) > 0:
return res.inserted_primary_key[0]
def insert_many(self, rows, chunk_size=1000, ensure=True, types={}):
"""