diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2005-08-28 01:27:19 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2005-08-28 01:27:19 +0000 |
commit | f91cfdb8ac8794ea8e9f348b21ebbbf553d8bd4b (patch) | |
tree | 01b5801f6d5d8560d1eb449bdb7eb100704eacf0 /lib/sqlalchemy/databases/sqlite.py | |
parent | dac3df1a1a5b04ee2caa91b350291e0050b86d51 (diff) | |
download | sqlalchemy-f91cfdb8ac8794ea8e9f348b21ebbbf553d8bd4b.tar.gz |
dev
Diffstat (limited to 'lib/sqlalchemy/databases/sqlite.py')
-rw-r--r-- | lib/sqlalchemy/databases/sqlite.py | 13 |
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 |