summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/databases/sqlite.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2005-08-28 01:27:19 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2005-08-28 01:27:19 +0000
commitf91cfdb8ac8794ea8e9f348b21ebbbf553d8bd4b (patch)
tree01b5801f6d5d8560d1eb449bdb7eb100704eacf0 /lib/sqlalchemy/databases/sqlite.py
parentdac3df1a1a5b04ee2caa91b350291e0050b86d51 (diff)
downloadsqlalchemy-f91cfdb8ac8794ea8e9f348b21ebbbf553d8bd4b.tar.gz
dev
Diffstat (limited to 'lib/sqlalchemy/databases/sqlite.py')
-rw-r--r--lib/sqlalchemy/databases/sqlite.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/sqlalchemy/databases/sqlite.py b/lib/sqlalchemy/databases/sqlite.py
index 315374a6d..475f68737 100644
--- a/lib/sqlalchemy/databases/sqlite.py
+++ b/lib/sqlalchemy/databases/sqlite.py
@@ -49,8 +49,13 @@ class SQLiteSQLEngine(ansisql.ANSISQLEngine):
self.opts = opts or {}
ansisql.ANSISQLEngine.__init__(self, **params)
+ def post_exec(self, connection, cursor, statement, parameters, echo = None, compiled = None, **kwargs):
+ if compiled is None: return
+ if getattr(compiled, "isinsert", False):
+ self.context.last_inserted_ids = [cursor.lastrowid]
+
def last_inserted_ids(self):
- pass
+ return self.context.last_inserted_ids
def connect_args(self):
return ([self.filename], self.opts)
@@ -81,5 +86,7 @@ class SQLiteColumnImpl(sql.ColumnSelectable):
else:
key = coltype.__class__
- return self.name + " " + colspecs[key] % {'precision': getattr(coltype, 'precision', None), 'length' : getattr(coltype, 'length', None)}
-
+ colspec = self.name + " " + colspecs[key] % {'precision': getattr(coltype, 'precision', None), 'length' : getattr(coltype, 'length', None)}
+ if self.column.primary_key:
+ colspec += " PRIMARY KEY"
+ return colspec