id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 17760,connection.features.supports_transactions is None,Craig de Stigter,nobody,"Background: To speed up our tests we have a custom nose-based test runner which *doesn't* drop/create the database. It shouldn't need to when tests are run in a transaction. This prevents us having to load fixtures etc, as most of the test data lives permanently in the database. However after upgrading to django 1.3, `connection.features.supports_transactions` is always None, causing our tests to use TRUNCATEs instead of transactions. This appears to be because connection.features.confirm() is only called from create_test_db(): https://code.djangoproject.com/browser/django/tags/releases/1.3/django/db/backends/creation.py#L357 I'd argue that's the wrong place to do it. It should probably happen when the connection is first initialised, or at least in `TestCase._pre_setup()` This has caused issues before: #16622 #16885 (possibly others) (To be fair it shouldn't really be on connection.features at all, since it's only set during testing and is otherwise always None) Tested with 1.3.1 and master.",Bug,closed,"Database layer (models, ORM)",1.3,Normal,fixed,,,Ready for checkin,1,0,0,0,0,0