our current tests disable SAVEPOINT testing for the sqlite3 DBAPI, as
it does not appear to understand the "SAVEPOINT" instruction. If I
enable a simple SAVEPOINT test, I get this output:
sqlalchemy.engine.base.Engine.0x...fd50: INFO: BEGIN
sqlalchemy.engine.base.Engine.0x...fd50: INFO: INSERT INTO query_users
(user_id, user_name) VALUES (?, ?)
sqlalchemy.engine.base.Engine.0x...fd50: INFO: [1, 'user1']
sqlalchemy.engine.base.Engine.0x...fd50: INFO: SAVEPOINT sa_savepoint_1
sqlalchemy.engine.base.Engine.0x...fd50: INFO: []
sqlalchemy.engine.base.Engine.0x...fd50: INFO: INSERT INTO query_users
(user_id, user_name) VALUES (?, ?)
sqlalchemy.engine.base.Engine.0x...fd50: INFO: [2, 'user2']
sqlalchemy.engine.base.Engine.0x...fd50: INFO: RELEASE SAVEPOINT
sa_savepoint_1
sqlalchemy.engine.base.Engine.0x...fd50: INFO: []
and then the same error you're getting, i.e.
OperationalError: (OperationalError) no such savepoint: sa_savepoint_1
u'RELEASE SAVEPOINT sa_savepoint_1' []
If you can research for us the correct way for the pysqlite DBAPI to
understand a SAVEPOINT conversation, it can be implemented.