diff --git a/django/db/backends/sqlite3/base.py b/django/db/backends/sqlite3/base.py
index 8344bad..1cdabff 100644
a
|
b
|
class DatabaseOperations(BaseDatabaseOperations):
|
161 | 161 | # No field, or the field isn't known to be a decimal or integer |
162 | 162 | return value |
163 | 163 | |
| 164 | def savepoint_create_sql(self, sid): |
| 165 | return "SAVEPOINT %s" % sid |
| 166 | |
| 167 | def savepoint_commit_sql(self, sid): |
| 168 | return "RELEASE SAVEPOINT %s" % sid |
| 169 | |
| 170 | def savepoint_rollback_sql(self, sid): |
| 171 | return "ROLLBACK TO SAVEPOINT %s" % sid |
| 172 | |
164 | 173 | class DatabaseWrapper(BaseDatabaseWrapper): |
165 | 174 | vendor = 'sqlite' |
166 | 175 | # SQLite requires LIKE statements to include an ESCAPE clause if the value |
… |
… |
class DatabaseWrapper(BaseDatabaseWrapper):
|
211 | 220 | self.connection.create_function("regexp", 2, _sqlite_regexp) |
212 | 221 | self.connection.create_function("django_format_dtdelta", 5, _sqlite_format_dtdelta) |
213 | 222 | connection_created.send(sender=self.__class__, connection=self) |
| 223 | |
| 224 | # We can only enable savepoints if the user has specified the |
| 225 | # "autocommit" mode. |
| 226 | self.features.uses_savepoints = self.connection.isolation_level is None |
| 227 | |
214 | 228 | return self.connection.cursor(factory=SQLiteCursorWrapper) |
215 | 229 | |
216 | 230 | def close(self): |